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..ccd748c824 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/typo.yml @@ -0,0 +1,36 @@ +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.9" + - "3.10" + - "3.11" + - "3.12" + - "3.13" + - "3.14" + validations: + required: false diff --git a/.github/workflows/update-lint-and-build.yml b/.github/workflows/update-lint-and-build.yml deleted file mode 100644 index 0e955283ca..0000000000 --- a/.github/workflows/update-lint-and-build.yml +++ /dev/null @@ -1,140 +0,0 @@ -name: Translation and Linting Workflow - -on: - schedule: - - cron: '0 * * * *' - push: - branches: - - '*' - workflow_dispatch: - -jobs: - update-translation: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - version: [3.13, 3.12, 3.11, '3.10', 3.9] - steps: - - uses: styfle/cancel-workflow-action@main - with: - access_token: ${{ secrets.GITHUB_TOKEN }} - - uses: actions/setup-python@master - with: - python-version: 3 - - name: Install dependencies - run: | - sudo apt-get install -y gettext - 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 - with: - ref: ${{ matrix.version }} - fetch-depth: 0 - - name: Recreate Transifex config - run: ./manage_translation.py recreate_tx_config - env: - TX_TOKEN: ${{ secrets.TX_TOKEN }} - - name: Fetch translations - run: ./manage_translation.py fetch - env: - TX_TOKEN: ${{ secrets.TX_TOKEN }} - - name: Update README.md - run: python -Werror -m cogapp -rP README.md - if: ${{ hashFiles('README.md') != '' }} - env: - TX_TOKEN: ${{ secrets.TX_TOKEN }} - - name: Update README.en.md - run: python -Werror -m cogapp -rP README.en.md - if: ${{ hashFiles('README.en.md') != '' }} - env: - TX_TOKEN: ${{ secrets.TX_TOKEN }} - - run: git config --local user.email github-actions@github.com - - 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 - - run: git add . - - run: git commit -m 'Update translation from Transifex' - if: env.SIGNIFICANT_CHANGES - - name: Push commit - uses: ad-m/github-push-action@master - if: env.SIGNIFICANT_CHANGES - with: - branch: ${{ matrix.version }} - github_token: ${{ secrets.GITHUB_TOKEN }} - - lint: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - version: [3.13, 3.12, 3.11] - needs: ['update-translation'] - continue-on-error: true - steps: - - uses: actions/setup-python@master - with: - python-version: 3 - - run: pip install sphinx-lint - - uses: actions/checkout@master - with: - ref: ${{ matrix.version }} - - uses: rffontenelle/sphinx-lint-problem-matcher@v1.0.0 - - run: sphinx-lint - - build-translation: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - version: [3.13, 3.12, 3.11, '3.10', 3.9, 3.8] - format: [html, latex] - needs: ['update-translation'] - steps: - - uses: actions/setup-python@master - with: - python-version: 3.12 # pin for Sphinx 3.4.3 in 3.10 branch (see #63) - - uses: actions/checkout@master - with: - repository: python/cpython - ref: ${{ matrix.version }} - - run: make venv - working-directory: ./Doc - - uses: actions/checkout@master - with: - ref: ${{ matrix.version }} - path: Doc/locales/pl/LC_MESSAGES - - run: git pull - working-directory: ./Doc/locales/pl/LC_MESSAGES - - 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 - if: success() || failure() - with: - name: build-${{ matrix.version }}-${{ matrix.format }} - path: Doc/build/${{ matrix.format }} - - output-pdf: - runs-on: ubuntu-latest - strategy: - matrix: - version: [3.13, 3.12, 3.11, '3.10', 3.9, 3.8] - needs: ['build-translation'] - steps: - - uses: actions/download-artifact@master - with: - name: build-${{ matrix.version }}-latex - - run: sudo apt-get update - - run: sudo apt-get install -y latexmk texlive-xetex fonts-freefont-otf xindy - - run: make - - uses: actions/upload-artifact@master - with: - name: build-${{ matrix.version }}-pdf - path: . diff --git a/.tx/config b/.tx/config index 7af31da39e..a59b4af38c 100644 --- a/.tx/config +++ b/.tx/config @@ -1,7 +1,7 @@ [main] host = https://www.transifex.com -[o:python-doc:p:python-newest:r:about] +[o:python-doc:p:python-313:r:about] file_filter = about.po source_file = gettext/about.pot type = PO @@ -10,7 +10,7 @@ resource_name = about replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:bugs] +[o:python-doc:p:python-313:r:bugs] file_filter = bugs.po source_file = gettext/bugs.pot type = PO @@ -19,7 +19,7 @@ resource_name = bugs replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--abstract] +[o:python-doc:p:python-313:r:c-api--abstract] file_filter = c-api/abstract.po source_file = gettext/c-api/abstract.pot type = PO @@ -28,7 +28,7 @@ resource_name = c-api--abstract replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--allocation] +[o:python-doc:p:python-313:r:c-api--allocation] file_filter = c-api/allocation.po source_file = gettext/c-api/allocation.pot type = PO @@ -37,7 +37,7 @@ resource_name = c-api--allocation replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--apiabiversion] +[o:python-doc:p:python-313:r:c-api--apiabiversion] file_filter = c-api/apiabiversion.po source_file = gettext/c-api/apiabiversion.pot type = PO @@ -46,7 +46,7 @@ resource_name = c-api--apiabiversion replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--arg] +[o:python-doc:p:python-313:r:c-api--arg] file_filter = c-api/arg.po source_file = gettext/c-api/arg.pot type = PO @@ -55,7 +55,7 @@ resource_name = c-api--arg replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--bool] +[o:python-doc:p:python-313:r:c-api--bool] file_filter = c-api/bool.po source_file = gettext/c-api/bool.pot type = PO @@ -64,7 +64,7 @@ resource_name = c-api--bool replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--buffer] +[o:python-doc:p:python-313:r:c-api--buffer] file_filter = c-api/buffer.po source_file = gettext/c-api/buffer.pot type = PO @@ -73,7 +73,7 @@ resource_name = c-api--buffer replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--bytearray] +[o:python-doc:p:python-313:r:c-api--bytearray] file_filter = c-api/bytearray.po source_file = gettext/c-api/bytearray.pot type = PO @@ -82,7 +82,7 @@ resource_name = c-api--bytearray replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--bytes] +[o:python-doc:p:python-313:r:c-api--bytes] file_filter = c-api/bytes.po source_file = gettext/c-api/bytes.pot type = PO @@ -91,7 +91,7 @@ resource_name = c-api--bytes replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--call] +[o:python-doc:p:python-313:r:c-api--call] file_filter = c-api/call.po source_file = gettext/c-api/call.pot type = PO @@ -100,7 +100,7 @@ resource_name = c-api--call replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--capsule] +[o:python-doc:p:python-313:r:c-api--capsule] file_filter = c-api/capsule.po source_file = gettext/c-api/capsule.pot type = PO @@ -109,7 +109,7 @@ resource_name = c-api--capsule replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--cell] +[o:python-doc:p:python-313:r:c-api--cell] file_filter = c-api/cell.po source_file = gettext/c-api/cell.pot type = PO @@ -118,7 +118,7 @@ resource_name = c-api--cell replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--code] +[o:python-doc:p:python-313:r:c-api--code] file_filter = c-api/code.po source_file = gettext/c-api/code.pot type = PO @@ -127,7 +127,7 @@ resource_name = c-api--code replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--codec] +[o:python-doc:p:python-313:r:c-api--codec] file_filter = c-api/codec.po source_file = gettext/c-api/codec.pot type = PO @@ -136,7 +136,7 @@ resource_name = c-api--codec replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--complex] +[o:python-doc:p:python-313:r:c-api--complex] file_filter = c-api/complex.po source_file = gettext/c-api/complex.pot type = PO @@ -145,7 +145,7 @@ resource_name = c-api--complex replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--concrete] +[o:python-doc:p:python-313:r:c-api--concrete] file_filter = c-api/concrete.po source_file = gettext/c-api/concrete.pot type = PO @@ -154,7 +154,7 @@ resource_name = c-api--concrete replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--contextvars] +[o:python-doc:p:python-313:r:c-api--contextvars] file_filter = c-api/contextvars.po source_file = gettext/c-api/contextvars.pot type = PO @@ -163,7 +163,7 @@ resource_name = c-api--contextvars replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--conversion] +[o:python-doc:p:python-313:r:c-api--conversion] file_filter = c-api/conversion.po source_file = gettext/c-api/conversion.pot type = PO @@ -172,7 +172,7 @@ resource_name = c-api--conversion replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--coro] +[o:python-doc:p:python-313:r:c-api--coro] file_filter = c-api/coro.po source_file = gettext/c-api/coro.pot type = PO @@ -181,7 +181,7 @@ resource_name = c-api--coro replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--datetime] +[o:python-doc:p:python-313:r:c-api--datetime] file_filter = c-api/datetime.po source_file = gettext/c-api/datetime.pot type = PO @@ -190,7 +190,7 @@ resource_name = c-api--datetime replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--descriptor] +[o:python-doc:p:python-313:r:c-api--descriptor] file_filter = c-api/descriptor.po source_file = gettext/c-api/descriptor.pot type = PO @@ -199,7 +199,7 @@ resource_name = c-api--descriptor replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--dict] +[o:python-doc:p:python-313:r:c-api--dict] file_filter = c-api/dict.po source_file = gettext/c-api/dict.pot type = PO @@ -208,7 +208,7 @@ resource_name = c-api--dict replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--exceptions] +[o:python-doc:p:python-313:r:c-api--exceptions] file_filter = c-api/exceptions.po source_file = gettext/c-api/exceptions.pot type = PO @@ -217,7 +217,7 @@ resource_name = c-api--exceptions replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--file] +[o:python-doc:p:python-313:r:c-api--file] file_filter = c-api/file.po source_file = gettext/c-api/file.pot type = PO @@ -226,7 +226,7 @@ resource_name = c-api--file replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--float] +[o:python-doc:p:python-313:r:c-api--float] file_filter = c-api/float.po source_file = gettext/c-api/float.pot type = PO @@ -235,7 +235,7 @@ resource_name = c-api--float replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--frame] +[o:python-doc:p:python-313:r:c-api--frame] file_filter = c-api/frame.po source_file = gettext/c-api/frame.pot type = PO @@ -244,7 +244,7 @@ resource_name = c-api--frame replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--function] +[o:python-doc:p:python-313:r:c-api--function] file_filter = c-api/function.po source_file = gettext/c-api/function.pot type = PO @@ -253,7 +253,7 @@ resource_name = c-api--function replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--gcsupport] +[o:python-doc:p:python-313:r:c-api--gcsupport] file_filter = c-api/gcsupport.po source_file = gettext/c-api/gcsupport.pot type = PO @@ -262,7 +262,7 @@ resource_name = c-api--gcsupport replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--gen] +[o:python-doc:p:python-313:r:c-api--gen] file_filter = c-api/gen.po source_file = gettext/c-api/gen.pot type = PO @@ -271,7 +271,7 @@ resource_name = c-api--gen replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--hash] +[o:python-doc:p:python-313:r:c-api--hash] file_filter = c-api/hash.po source_file = gettext/c-api/hash.pot type = PO @@ -280,7 +280,7 @@ resource_name = c-api--hash replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--import] +[o:python-doc:p:python-313:r:c-api--import] file_filter = c-api/import.po source_file = gettext/c-api/import.pot type = PO @@ -289,7 +289,7 @@ resource_name = c-api--import replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--index] +[o:python-doc:p:python-313:r:c-api--index] file_filter = c-api/index.po source_file = gettext/c-api/index.pot type = PO @@ -298,7 +298,7 @@ resource_name = c-api--index replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--init] +[o:python-doc:p:python-313:r:c-api--init] file_filter = c-api/init.po source_file = gettext/c-api/init.pot type = PO @@ -307,7 +307,7 @@ resource_name = c-api--init replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--init_config] +[o:python-doc:p:python-313:r:c-api--init_config] file_filter = c-api/init_config.po source_file = gettext/c-api/init_config.pot type = PO @@ -316,7 +316,7 @@ resource_name = c-api--init_config replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--intro] +[o:python-doc:p:python-313:r:c-api--intro] file_filter = c-api/intro.po source_file = gettext/c-api/intro.pot type = PO @@ -325,7 +325,7 @@ resource_name = c-api--intro replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--iter] +[o:python-doc:p:python-313:r:c-api--iter] file_filter = c-api/iter.po source_file = gettext/c-api/iter.pot type = PO @@ -334,7 +334,7 @@ resource_name = c-api--iter replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--iterator] +[o:python-doc:p:python-313:r:c-api--iterator] file_filter = c-api/iterator.po source_file = gettext/c-api/iterator.pot type = PO @@ -343,7 +343,7 @@ resource_name = c-api--iterator replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--list] +[o:python-doc:p:python-313:r:c-api--list] file_filter = c-api/list.po source_file = gettext/c-api/list.pot type = PO @@ -352,7 +352,7 @@ resource_name = c-api--list replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--long] +[o:python-doc:p:python-313:r:c-api--long] file_filter = c-api/long.po source_file = gettext/c-api/long.pot type = PO @@ -361,7 +361,7 @@ resource_name = c-api--long replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--mapping] +[o:python-doc:p:python-313:r:c-api--mapping] file_filter = c-api/mapping.po source_file = gettext/c-api/mapping.pot type = PO @@ -370,7 +370,7 @@ resource_name = c-api--mapping replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--marshal] +[o:python-doc:p:python-313:r:c-api--marshal] file_filter = c-api/marshal.po source_file = gettext/c-api/marshal.pot type = PO @@ -379,7 +379,7 @@ resource_name = c-api--marshal replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--memory] +[o:python-doc:p:python-313:r:c-api--memory] file_filter = c-api/memory.po source_file = gettext/c-api/memory.pot type = PO @@ -388,7 +388,7 @@ resource_name = c-api--memory replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--memoryview] +[o:python-doc:p:python-313:r:c-api--memoryview] file_filter = c-api/memoryview.po source_file = gettext/c-api/memoryview.pot type = PO @@ -397,7 +397,7 @@ resource_name = c-api--memoryview replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--method] +[o:python-doc:p:python-313:r:c-api--method] file_filter = c-api/method.po source_file = gettext/c-api/method.pot type = PO @@ -406,7 +406,7 @@ resource_name = c-api--method replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--module] +[o:python-doc:p:python-313:r:c-api--module] file_filter = c-api/module.po source_file = gettext/c-api/module.pot type = PO @@ -415,7 +415,7 @@ resource_name = c-api--module replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--monitoring] +[o:python-doc:p:python-313:r:c-api--monitoring] file_filter = c-api/monitoring.po source_file = gettext/c-api/monitoring.pot type = PO @@ -424,7 +424,7 @@ resource_name = c-api--monitoring replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--none] +[o:python-doc:p:python-313:r:c-api--none] file_filter = c-api/none.po source_file = gettext/c-api/none.pot type = PO @@ -433,7 +433,7 @@ resource_name = c-api--none replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--number] +[o:python-doc:p:python-313:r:c-api--number] file_filter = c-api/number.po source_file = gettext/c-api/number.pot type = PO @@ -442,7 +442,7 @@ resource_name = c-api--number replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--object] +[o:python-doc:p:python-313:r:c-api--object] file_filter = c-api/object.po source_file = gettext/c-api/object.pot type = PO @@ -451,7 +451,7 @@ resource_name = c-api--object replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--objimpl] +[o:python-doc:p:python-313:r:c-api--objimpl] file_filter = c-api/objimpl.po source_file = gettext/c-api/objimpl.pot type = PO @@ -460,7 +460,7 @@ resource_name = c-api--objimpl replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--perfmaps] +[o:python-doc:p:python-313:r:c-api--perfmaps] file_filter = c-api/perfmaps.po source_file = gettext/c-api/perfmaps.pot type = PO @@ -469,7 +469,7 @@ resource_name = c-api--perfmaps replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--refcounting] +[o:python-doc:p:python-313:r:c-api--refcounting] file_filter = c-api/refcounting.po source_file = gettext/c-api/refcounting.pot type = PO @@ -478,7 +478,7 @@ resource_name = c-api--refcounting replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--reflection] +[o:python-doc:p:python-313:r:c-api--reflection] file_filter = c-api/reflection.po source_file = gettext/c-api/reflection.pot type = PO @@ -487,7 +487,7 @@ resource_name = c-api--reflection replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--sequence] +[o:python-doc:p:python-313:r:c-api--sequence] file_filter = c-api/sequence.po source_file = gettext/c-api/sequence.pot type = PO @@ -496,7 +496,7 @@ resource_name = c-api--sequence replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--set] +[o:python-doc:p:python-313:r:c-api--set] file_filter = c-api/set.po source_file = gettext/c-api/set.pot type = PO @@ -505,7 +505,7 @@ resource_name = c-api--set replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--slice] +[o:python-doc:p:python-313:r:c-api--slice] file_filter = c-api/slice.po source_file = gettext/c-api/slice.pot type = PO @@ -514,7 +514,7 @@ resource_name = c-api--slice replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--stable] +[o:python-doc:p:python-313:r:c-api--stable] file_filter = c-api/stable.po source_file = gettext/c-api/stable.pot type = PO @@ -523,7 +523,7 @@ resource_name = c-api--stable replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--structures] +[o:python-doc:p:python-313:r:c-api--structures] file_filter = c-api/structures.po source_file = gettext/c-api/structures.pot type = PO @@ -532,7 +532,7 @@ resource_name = c-api--structures replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--sys] +[o:python-doc:p:python-313:r:c-api--sys] file_filter = c-api/sys.po source_file = gettext/c-api/sys.pot type = PO @@ -541,7 +541,7 @@ resource_name = c-api--sys replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--time] +[o:python-doc:p:python-313:r:c-api--time] file_filter = c-api/time.po source_file = gettext/c-api/time.pot type = PO @@ -550,7 +550,7 @@ resource_name = c-api--time replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--tuple] +[o:python-doc:p:python-313:r:c-api--tuple] file_filter = c-api/tuple.po source_file = gettext/c-api/tuple.pot type = PO @@ -559,7 +559,7 @@ resource_name = c-api--tuple replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--type] +[o:python-doc:p:python-313:r:c-api--type] file_filter = c-api/type.po source_file = gettext/c-api/type.pot type = PO @@ -568,7 +568,7 @@ resource_name = c-api--type replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--typehints] +[o:python-doc:p:python-313:r:c-api--typehints] file_filter = c-api/typehints.po source_file = gettext/c-api/typehints.pot type = PO @@ -577,7 +577,7 @@ resource_name = c-api--typehints replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--typeobj] +[o:python-doc:p:python-313:r:c-api--typeobj] file_filter = c-api/typeobj.po source_file = gettext/c-api/typeobj.pot type = PO @@ -586,7 +586,7 @@ resource_name = c-api--typeobj replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--unicode] +[o:python-doc:p:python-313:r:c-api--unicode] file_filter = c-api/unicode.po source_file = gettext/c-api/unicode.pot type = PO @@ -595,7 +595,7 @@ resource_name = c-api--unicode replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--utilities] +[o:python-doc:p:python-313:r:c-api--utilities] file_filter = c-api/utilities.po source_file = gettext/c-api/utilities.pot type = PO @@ -604,7 +604,7 @@ resource_name = c-api--utilities replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--veryhigh] +[o:python-doc:p:python-313:r:c-api--veryhigh] file_filter = c-api/veryhigh.po source_file = gettext/c-api/veryhigh.pot type = PO @@ -613,7 +613,7 @@ resource_name = c-api--veryhigh replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:c-api--weakref] +[o:python-doc:p:python-313:r:c-api--weakref] file_filter = c-api/weakref.po source_file = gettext/c-api/weakref.pot type = PO @@ -622,7 +622,7 @@ resource_name = c-api--weakref replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:contents] +[o:python-doc:p:python-313:r:contents] file_filter = contents.po source_file = gettext/contents.pot type = PO @@ -631,7 +631,7 @@ resource_name = contents replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:copyright] +[o:python-doc:p:python-313:r:copyright] file_filter = copyright.po source_file = gettext/copyright.pot type = PO @@ -640,7 +640,7 @@ resource_name = copyright replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:deprecations--c-api-pending-removal-in-3_14] +[o:python-doc:p:python-313:r:deprecations--c-api-pending-removal-in-3_14] file_filter = deprecations/c-api-pending-removal-in-3.14.po source_file = gettext/deprecations/c-api-pending-removal-in-3.14.pot type = PO @@ -649,7 +649,7 @@ resource_name = deprecations--c-api-pending-removal-in-3_14 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:deprecations--c-api-pending-removal-in-3_15] +[o:python-doc:p:python-313:r:deprecations--c-api-pending-removal-in-3_15] file_filter = deprecations/c-api-pending-removal-in-3.15.po source_file = gettext/deprecations/c-api-pending-removal-in-3.15.pot type = PO @@ -658,7 +658,16 @@ 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-future] +[o:python-doc:p:python-313: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-313:r:deprecations--c-api-pending-removal-in-future] file_filter = deprecations/c-api-pending-removal-in-future.po source_file = gettext/deprecations/c-api-pending-removal-in-future.pot type = PO @@ -667,7 +676,7 @@ resource_name = deprecations--c-api-pending-removal-in-future replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:deprecations--index] +[o:python-doc:p:python-313:r:deprecations--index] file_filter = deprecations/index.po source_file = gettext/deprecations/index.pot type = PO @@ -676,7 +685,7 @@ resource_name = deprecations--index replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:deprecations--pending-removal-in-3_13] +[o:python-doc:p:python-313:r:deprecations--pending-removal-in-3_13] file_filter = deprecations/pending-removal-in-3.13.po source_file = gettext/deprecations/pending-removal-in-3.13.pot type = PO @@ -685,7 +694,7 @@ resource_name = deprecations--pending-removal-in-3_13 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:deprecations--pending-removal-in-3_14] +[o:python-doc:p:python-313:r:deprecations--pending-removal-in-3_14] file_filter = deprecations/pending-removal-in-3.14.po source_file = gettext/deprecations/pending-removal-in-3.14.pot type = PO @@ -694,7 +703,7 @@ resource_name = deprecations--pending-removal-in-3_14 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:deprecations--pending-removal-in-3_15] +[o:python-doc:p:python-313:r:deprecations--pending-removal-in-3_15] file_filter = deprecations/pending-removal-in-3.15.po source_file = gettext/deprecations/pending-removal-in-3.15.pot type = PO @@ -703,7 +712,7 @@ resource_name = deprecations--pending-removal-in-3_15 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:deprecations--pending-removal-in-3_16] +[o:python-doc:p:python-313:r:deprecations--pending-removal-in-3_16] file_filter = deprecations/pending-removal-in-3.16.po source_file = gettext/deprecations/pending-removal-in-3.16.pot type = PO @@ -712,7 +721,7 @@ resource_name = deprecations--pending-removal-in-3_16 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:deprecations--pending-removal-in-future] +[o:python-doc:p:python-313:r:deprecations--pending-removal-in-future] file_filter = deprecations/pending-removal-in-future.po source_file = gettext/deprecations/pending-removal-in-future.pot type = PO @@ -721,7 +730,7 @@ resource_name = deprecations--pending-removal-in-future replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:distributing--index] +[o:python-doc:p:python-313:r:distributing--index] file_filter = distributing/index.po source_file = gettext/distributing/index.pot type = PO @@ -730,7 +739,7 @@ resource_name = distributing--index replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:extending--building] +[o:python-doc:p:python-313:r:extending--building] file_filter = extending/building.po source_file = gettext/extending/building.pot type = PO @@ -739,7 +748,7 @@ resource_name = extending--building replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:extending--embedding] +[o:python-doc:p:python-313:r:extending--embedding] file_filter = extending/embedding.po source_file = gettext/extending/embedding.pot type = PO @@ -748,7 +757,7 @@ resource_name = extending--embedding replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:extending--extending] +[o:python-doc:p:python-313:r:extending--extending] file_filter = extending/extending.po source_file = gettext/extending/extending.pot type = PO @@ -757,7 +766,7 @@ resource_name = extending--extending replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:extending--index] +[o:python-doc:p:python-313:r:extending--index] file_filter = extending/index.po source_file = gettext/extending/index.pot type = PO @@ -766,7 +775,7 @@ resource_name = extending--index replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:extending--newtypes] +[o:python-doc:p:python-313:r:extending--newtypes] file_filter = extending/newtypes.po source_file = gettext/extending/newtypes.pot type = PO @@ -775,7 +784,7 @@ resource_name = extending--newtypes replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:extending--newtypes_tutorial] +[o:python-doc:p:python-313:r:extending--newtypes_tutorial] file_filter = extending/newtypes_tutorial.po source_file = gettext/extending/newtypes_tutorial.pot type = PO @@ -784,7 +793,7 @@ resource_name = extending--newtypes_tutorial replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:extending--windows] +[o:python-doc:p:python-313:r:extending--windows] file_filter = extending/windows.po source_file = gettext/extending/windows.pot type = PO @@ -793,7 +802,7 @@ resource_name = extending--windows replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:faq--design] +[o:python-doc:p:python-313:r:faq--design] file_filter = faq/design.po source_file = gettext/faq/design.pot type = PO @@ -802,7 +811,7 @@ resource_name = faq--design replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:faq--extending] +[o:python-doc:p:python-313:r:faq--extending] file_filter = faq/extending.po source_file = gettext/faq/extending.pot type = PO @@ -811,7 +820,7 @@ resource_name = faq--extending replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:faq--general] +[o:python-doc:p:python-313:r:faq--general] file_filter = faq/general.po source_file = gettext/faq/general.pot type = PO @@ -820,7 +829,7 @@ resource_name = faq--general replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:faq--gui] +[o:python-doc:p:python-313:r:faq--gui] file_filter = faq/gui.po source_file = gettext/faq/gui.pot type = PO @@ -829,7 +838,7 @@ resource_name = faq--gui replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:faq--index] +[o:python-doc:p:python-313:r:faq--index] file_filter = faq/index.po source_file = gettext/faq/index.pot type = PO @@ -838,7 +847,7 @@ resource_name = faq--index replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:faq--installed] +[o:python-doc:p:python-313:r:faq--installed] file_filter = faq/installed.po source_file = gettext/faq/installed.pot type = PO @@ -847,7 +856,7 @@ resource_name = faq--installed replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:faq--library] +[o:python-doc:p:python-313:r:faq--library] file_filter = faq/library.po source_file = gettext/faq/library.pot type = PO @@ -856,7 +865,7 @@ resource_name = faq--library replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:faq--programming] +[o:python-doc:p:python-313:r:faq--programming] file_filter = faq/programming.po source_file = gettext/faq/programming.pot type = PO @@ -865,7 +874,7 @@ resource_name = faq--programming replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:faq--windows] +[o:python-doc:p:python-313:r:faq--windows] file_filter = faq/windows.po source_file = gettext/faq/windows.pot type = PO @@ -874,7 +883,7 @@ resource_name = faq--windows replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:glossary_] +[o:python-doc:p:python-313:r:glossary_] file_filter = glossary.po source_file = gettext/glossary.pot type = PO @@ -883,7 +892,7 @@ resource_name = glossary_ replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--annotations] +[o:python-doc:p:python-313:r:howto--annotations] file_filter = howto/annotations.po source_file = gettext/howto/annotations.pot type = PO @@ -892,7 +901,7 @@ resource_name = howto--annotations replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--argparse] +[o:python-doc:p:python-313:r:howto--argparse] file_filter = howto/argparse.po source_file = gettext/howto/argparse.pot type = PO @@ -901,7 +910,7 @@ resource_name = howto--argparse replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--argparse-optparse] +[o:python-doc:p:python-313:r:howto--argparse-optparse] file_filter = howto/argparse-optparse.po source_file = gettext/howto/argparse-optparse.pot type = PO @@ -910,7 +919,7 @@ resource_name = howto--argparse-optparse replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--clinic] +[o:python-doc:p:python-313:r:howto--clinic] file_filter = howto/clinic.po source_file = gettext/howto/clinic.pot type = PO @@ -919,7 +928,7 @@ resource_name = howto--clinic replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--cporting] +[o:python-doc:p:python-313:r:howto--cporting] file_filter = howto/cporting.po source_file = gettext/howto/cporting.pot type = PO @@ -928,7 +937,7 @@ resource_name = howto--cporting replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--curses] +[o:python-doc:p:python-313:r:howto--curses] file_filter = howto/curses.po source_file = gettext/howto/curses.pot type = PO @@ -937,7 +946,7 @@ resource_name = howto--curses replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--descriptor] +[o:python-doc:p:python-313:r:howto--descriptor] file_filter = howto/descriptor.po source_file = gettext/howto/descriptor.pot type = PO @@ -946,7 +955,7 @@ resource_name = howto--descriptor replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--enum] +[o:python-doc:p:python-313:r:howto--enum] file_filter = howto/enum.po source_file = gettext/howto/enum.pot type = PO @@ -955,7 +964,7 @@ resource_name = howto--enum replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--free-threading-extensions] +[o:python-doc:p:python-313:r:howto--free-threading-extensions] file_filter = howto/free-threading-extensions.po source_file = gettext/howto/free-threading-extensions.pot type = PO @@ -964,7 +973,7 @@ resource_name = howto--free-threading-extensions replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--free-threading-python] +[o:python-doc:p:python-313:r:howto--free-threading-python] file_filter = howto/free-threading-python.po source_file = gettext/howto/free-threading-python.pot type = PO @@ -973,7 +982,7 @@ resource_name = howto--free-threading-python replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--functional] +[o:python-doc:p:python-313:r:howto--functional] file_filter = howto/functional.po source_file = gettext/howto/functional.pot type = PO @@ -982,7 +991,7 @@ resource_name = howto--functional replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--gdb_helpers] +[o:python-doc:p:python-313:r:howto--gdb_helpers] file_filter = howto/gdb_helpers.po source_file = gettext/howto/gdb_helpers.pot type = PO @@ -991,7 +1000,7 @@ resource_name = howto--gdb_helpers replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--index] +[o:python-doc:p:python-313:r:howto--index] file_filter = howto/index.po source_file = gettext/howto/index.pot type = PO @@ -1000,7 +1009,7 @@ resource_name = howto--index replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--instrumentation] +[o:python-doc:p:python-313:r:howto--instrumentation] file_filter = howto/instrumentation.po source_file = gettext/howto/instrumentation.pot type = PO @@ -1009,7 +1018,7 @@ resource_name = howto--instrumentation replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--ipaddress] +[o:python-doc:p:python-313:r:howto--ipaddress] file_filter = howto/ipaddress.po source_file = gettext/howto/ipaddress.pot type = PO @@ -1018,7 +1027,7 @@ resource_name = howto--ipaddress replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--isolating-extensions] +[o:python-doc:p:python-313:r:howto--isolating-extensions] file_filter = howto/isolating-extensions.po source_file = gettext/howto/isolating-extensions.pot type = PO @@ -1027,7 +1036,7 @@ resource_name = howto--isolating-extensions replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--logging] +[o:python-doc:p:python-313:r:howto--logging] file_filter = howto/logging.po source_file = gettext/howto/logging.pot type = PO @@ -1036,7 +1045,7 @@ resource_name = howto--logging replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--logging-cookbook] +[o:python-doc:p:python-313:r:howto--logging-cookbook] file_filter = howto/logging-cookbook.po source_file = gettext/howto/logging-cookbook.pot type = PO @@ -1045,7 +1054,7 @@ resource_name = howto--logging-cookbook replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--mro] +[o:python-doc:p:python-313:r:howto--mro] file_filter = howto/mro.po source_file = gettext/howto/mro.pot type = PO @@ -1054,7 +1063,7 @@ resource_name = howto--mro replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--perf_profiling] +[o:python-doc:p:python-313:r:howto--perf_profiling] file_filter = howto/perf_profiling.po source_file = gettext/howto/perf_profiling.pot type = PO @@ -1063,7 +1072,7 @@ resource_name = howto--perf_profiling replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--pyporting] +[o:python-doc:p:python-313:r:howto--pyporting] file_filter = howto/pyporting.po source_file = gettext/howto/pyporting.pot type = PO @@ -1072,7 +1081,7 @@ resource_name = howto--pyporting replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--regex] +[o:python-doc:p:python-313:r:howto--regex] file_filter = howto/regex.po source_file = gettext/howto/regex.pot type = PO @@ -1081,7 +1090,7 @@ resource_name = howto--regex replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--sockets] +[o:python-doc:p:python-313:r:howto--sockets] file_filter = howto/sockets.po source_file = gettext/howto/sockets.pot type = PO @@ -1090,7 +1099,7 @@ resource_name = howto--sockets replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--sorting] +[o:python-doc:p:python-313:r:howto--sorting] file_filter = howto/sorting.po source_file = gettext/howto/sorting.pot type = PO @@ -1099,7 +1108,7 @@ resource_name = howto--sorting replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--timerfd] +[o:python-doc:p:python-313:r:howto--timerfd] file_filter = howto/timerfd.po source_file = gettext/howto/timerfd.pot type = PO @@ -1108,7 +1117,7 @@ resource_name = howto--timerfd replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--unicode] +[o:python-doc:p:python-313:r:howto--unicode] file_filter = howto/unicode.po source_file = gettext/howto/unicode.pot type = PO @@ -1117,7 +1126,7 @@ resource_name = howto--unicode replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:howto--urllib2] +[o:python-doc:p:python-313:r:howto--urllib2] file_filter = howto/urllib2.po source_file = gettext/howto/urllib2.pot type = PO @@ -1126,7 +1135,7 @@ resource_name = howto--urllib2 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:installing--index] +[o:python-doc:p:python-313:r:installing--index] file_filter = installing/index.po source_file = gettext/installing/index.pot type = PO @@ -1135,7 +1144,7 @@ resource_name = installing--index replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--__future__] +[o:python-doc:p:python-313:r:library--__future__] file_filter = library/__future__.po source_file = gettext/library/__future__.pot type = PO @@ -1144,7 +1153,7 @@ resource_name = library--__future__ replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--__main__] +[o:python-doc:p:python-313:r:library--__main__] file_filter = library/__main__.po source_file = gettext/library/__main__.pot type = PO @@ -1153,7 +1162,7 @@ resource_name = library--__main__ replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--_thread] +[o:python-doc:p:python-313:r:library--_thread] file_filter = library/_thread.po source_file = gettext/library/_thread.pot type = PO @@ -1162,7 +1171,7 @@ resource_name = library--_thread replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--abc] +[o:python-doc:p:python-313:r:library--abc] file_filter = library/abc.po source_file = gettext/library/abc.pot type = PO @@ -1171,7 +1180,7 @@ resource_name = library--abc replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--aifc] +[o:python-doc:p:python-313:r:library--aifc] file_filter = library/aifc.po source_file = gettext/library/aifc.pot type = PO @@ -1180,7 +1189,7 @@ resource_name = library--aifc replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--allos] +[o:python-doc:p:python-313:r:library--allos] file_filter = library/allos.po source_file = gettext/library/allos.pot type = PO @@ -1189,7 +1198,7 @@ resource_name = library--allos replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--archiving] +[o:python-doc:p:python-313:r:library--archiving] file_filter = library/archiving.po source_file = gettext/library/archiving.pot type = PO @@ -1198,7 +1207,7 @@ resource_name = library--archiving replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--argparse] +[o:python-doc:p:python-313:r:library--argparse] file_filter = library/argparse.po source_file = gettext/library/argparse.pot type = PO @@ -1207,7 +1216,7 @@ resource_name = library--argparse replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--array] +[o:python-doc:p:python-313:r:library--array] file_filter = library/array.po source_file = gettext/library/array.pot type = PO @@ -1216,7 +1225,7 @@ resource_name = library--array replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--ast] +[o:python-doc:p:python-313:r:library--ast] file_filter = library/ast.po source_file = gettext/library/ast.pot type = PO @@ -1225,7 +1234,7 @@ resource_name = library--ast replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--asynchat] +[o:python-doc:p:python-313:r:library--asynchat] file_filter = library/asynchat.po source_file = gettext/library/asynchat.pot type = PO @@ -1234,7 +1243,7 @@ resource_name = library--asynchat replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--asyncio] +[o:python-doc:p:python-313:r:library--asyncio] file_filter = library/asyncio.po source_file = gettext/library/asyncio.pot type = PO @@ -1243,7 +1252,7 @@ resource_name = library--asyncio replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--asyncio-api-index] +[o:python-doc:p:python-313:r:library--asyncio-api-index] file_filter = library/asyncio-api-index.po source_file = gettext/library/asyncio-api-index.pot type = PO @@ -1252,7 +1261,7 @@ resource_name = library--asyncio-api-index replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--asyncio-dev] +[o:python-doc:p:python-313:r:library--asyncio-dev] file_filter = library/asyncio-dev.po source_file = gettext/library/asyncio-dev.pot type = PO @@ -1261,7 +1270,7 @@ resource_name = library--asyncio-dev replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--asyncio-eventloop] +[o:python-doc:p:python-313:r:library--asyncio-eventloop] file_filter = library/asyncio-eventloop.po source_file = gettext/library/asyncio-eventloop.pot type = PO @@ -1270,7 +1279,7 @@ resource_name = library--asyncio-eventloop replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--asyncio-exceptions] +[o:python-doc:p:python-313:r:library--asyncio-exceptions] file_filter = library/asyncio-exceptions.po source_file = gettext/library/asyncio-exceptions.pot type = PO @@ -1279,7 +1288,7 @@ resource_name = library--asyncio-exceptions replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--asyncio-extending] +[o:python-doc:p:python-313:r:library--asyncio-extending] file_filter = library/asyncio-extending.po source_file = gettext/library/asyncio-extending.pot type = PO @@ -1288,7 +1297,7 @@ resource_name = library--asyncio-extending replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--asyncio-future] +[o:python-doc:p:python-313:r:library--asyncio-future] file_filter = library/asyncio-future.po source_file = gettext/library/asyncio-future.pot type = PO @@ -1297,7 +1306,7 @@ resource_name = library--asyncio-future replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--asyncio-llapi-index] +[o:python-doc:p:python-313:r:library--asyncio-llapi-index] file_filter = library/asyncio-llapi-index.po source_file = gettext/library/asyncio-llapi-index.pot type = PO @@ -1306,7 +1315,7 @@ resource_name = library--asyncio-llapi-index replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--asyncio-platforms] +[o:python-doc:p:python-313:r:library--asyncio-platforms] file_filter = library/asyncio-platforms.po source_file = gettext/library/asyncio-platforms.pot type = PO @@ -1315,7 +1324,7 @@ resource_name = library--asyncio-platforms replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--asyncio-policy] +[o:python-doc:p:python-313:r:library--asyncio-policy] file_filter = library/asyncio-policy.po source_file = gettext/library/asyncio-policy.pot type = PO @@ -1324,7 +1333,7 @@ resource_name = library--asyncio-policy replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--asyncio-protocol] +[o:python-doc:p:python-313:r:library--asyncio-protocol] file_filter = library/asyncio-protocol.po source_file = gettext/library/asyncio-protocol.pot type = PO @@ -1333,7 +1342,7 @@ resource_name = library--asyncio-protocol replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--asyncio-queue] +[o:python-doc:p:python-313:r:library--asyncio-queue] file_filter = library/asyncio-queue.po source_file = gettext/library/asyncio-queue.pot type = PO @@ -1342,7 +1351,7 @@ resource_name = library--asyncio-queue replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--asyncio-runner] +[o:python-doc:p:python-313:r:library--asyncio-runner] file_filter = library/asyncio-runner.po source_file = gettext/library/asyncio-runner.pot type = PO @@ -1351,7 +1360,7 @@ resource_name = library--asyncio-runner replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--asyncio-stream] +[o:python-doc:p:python-313:r:library--asyncio-stream] file_filter = library/asyncio-stream.po source_file = gettext/library/asyncio-stream.pot type = PO @@ -1360,7 +1369,7 @@ resource_name = library--asyncio-stream replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--asyncio-subprocess] +[o:python-doc:p:python-313:r:library--asyncio-subprocess] file_filter = library/asyncio-subprocess.po source_file = gettext/library/asyncio-subprocess.pot type = PO @@ -1369,7 +1378,7 @@ resource_name = library--asyncio-subprocess replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--asyncio-sync] +[o:python-doc:p:python-313:r:library--asyncio-sync] file_filter = library/asyncio-sync.po source_file = gettext/library/asyncio-sync.pot type = PO @@ -1378,7 +1387,7 @@ resource_name = library--asyncio-sync replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--asyncio-task] +[o:python-doc:p:python-313:r:library--asyncio-task] file_filter = library/asyncio-task.po source_file = gettext/library/asyncio-task.pot type = PO @@ -1387,7 +1396,7 @@ resource_name = library--asyncio-task replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--asyncore] +[o:python-doc:p:python-313:r:library--asyncore] file_filter = library/asyncore.po source_file = gettext/library/asyncore.pot type = PO @@ -1396,7 +1405,7 @@ resource_name = library--asyncore replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--atexit] +[o:python-doc:p:python-313:r:library--atexit] file_filter = library/atexit.po source_file = gettext/library/atexit.pot type = PO @@ -1405,7 +1414,7 @@ resource_name = library--atexit replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--audioop] +[o:python-doc:p:python-313:r:library--audioop] file_filter = library/audioop.po source_file = gettext/library/audioop.pot type = PO @@ -1414,7 +1423,7 @@ resource_name = library--audioop replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--audit_events] +[o:python-doc:p:python-313:r:library--audit_events] file_filter = library/audit_events.po source_file = gettext/library/audit_events.pot type = PO @@ -1423,7 +1432,7 @@ resource_name = library--audit_events replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--base64] +[o:python-doc:p:python-313:r:library--base64] file_filter = library/base64.po source_file = gettext/library/base64.pot type = PO @@ -1432,7 +1441,7 @@ resource_name = library--base64 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--bdb] +[o:python-doc:p:python-313:r:library--bdb] file_filter = library/bdb.po source_file = gettext/library/bdb.pot type = PO @@ -1441,7 +1450,7 @@ resource_name = library--bdb replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--binary] +[o:python-doc:p:python-313:r:library--binary] file_filter = library/binary.po source_file = gettext/library/binary.pot type = PO @@ -1450,7 +1459,7 @@ resource_name = library--binary replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--binascii] +[o:python-doc:p:python-313:r:library--binascii] file_filter = library/binascii.po source_file = gettext/library/binascii.pot type = PO @@ -1459,7 +1468,7 @@ resource_name = library--binascii replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--bisect] +[o:python-doc:p:python-313:r:library--bisect] file_filter = library/bisect.po source_file = gettext/library/bisect.pot type = PO @@ -1468,7 +1477,7 @@ resource_name = library--bisect replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--builtins] +[o:python-doc:p:python-313:r:library--builtins] file_filter = library/builtins.po source_file = gettext/library/builtins.pot type = PO @@ -1477,7 +1486,7 @@ resource_name = library--builtins replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--bz2] +[o:python-doc:p:python-313:r:library--bz2] file_filter = library/bz2.po source_file = gettext/library/bz2.pot type = PO @@ -1486,7 +1495,7 @@ resource_name = library--bz2 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--calendar] +[o:python-doc:p:python-313:r:library--calendar] file_filter = library/calendar.po source_file = gettext/library/calendar.pot type = PO @@ -1495,7 +1504,7 @@ resource_name = library--calendar replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--cgi] +[o:python-doc:p:python-313:r:library--cgi] file_filter = library/cgi.po source_file = gettext/library/cgi.pot type = PO @@ -1504,7 +1513,7 @@ resource_name = library--cgi replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--cgitb] +[o:python-doc:p:python-313:r:library--cgitb] file_filter = library/cgitb.po source_file = gettext/library/cgitb.pot type = PO @@ -1513,7 +1522,7 @@ resource_name = library--cgitb replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--chunk] +[o:python-doc:p:python-313:r:library--chunk] file_filter = library/chunk.po source_file = gettext/library/chunk.pot type = PO @@ -1522,7 +1531,7 @@ resource_name = library--chunk replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--cmath] +[o:python-doc:p:python-313:r:library--cmath] file_filter = library/cmath.po source_file = gettext/library/cmath.pot type = PO @@ -1531,7 +1540,7 @@ resource_name = library--cmath replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--cmd] +[o:python-doc:p:python-313:r:library--cmd] file_filter = library/cmd.po source_file = gettext/library/cmd.pot type = PO @@ -1540,7 +1549,7 @@ resource_name = library--cmd replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--cmdline] +[o:python-doc:p:python-313:r:library--cmdline] file_filter = library/cmdline.po source_file = gettext/library/cmdline.pot type = PO @@ -1549,7 +1558,7 @@ resource_name = library--cmdline replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--cmdlinelibs] +[o:python-doc:p:python-313:r:library--cmdlinelibs] file_filter = library/cmdlinelibs.po source_file = gettext/library/cmdlinelibs.pot type = PO @@ -1558,7 +1567,7 @@ resource_name = library--cmdlinelibs replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--code] +[o:python-doc:p:python-313:r:library--code] file_filter = library/code.po source_file = gettext/library/code.pot type = PO @@ -1567,7 +1576,7 @@ resource_name = library--code replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--codecs] +[o:python-doc:p:python-313:r:library--codecs] file_filter = library/codecs.po source_file = gettext/library/codecs.pot type = PO @@ -1576,7 +1585,7 @@ resource_name = library--codecs replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--codeop] +[o:python-doc:p:python-313:r:library--codeop] file_filter = library/codeop.po source_file = gettext/library/codeop.pot type = PO @@ -1585,7 +1594,7 @@ resource_name = library--codeop replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--collections] +[o:python-doc:p:python-313:r:library--collections] file_filter = library/collections.po source_file = gettext/library/collections.pot type = PO @@ -1594,7 +1603,7 @@ resource_name = library--collections replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--collections_abc] +[o:python-doc:p:python-313:r:library--collections_abc] file_filter = library/collections.abc.po source_file = gettext/library/collections.abc.pot type = PO @@ -1603,7 +1612,7 @@ resource_name = library--collections_abc replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--colorsys] +[o:python-doc:p:python-313:r:library--colorsys] file_filter = library/colorsys.po source_file = gettext/library/colorsys.pot type = PO @@ -1612,7 +1621,7 @@ resource_name = library--colorsys replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--compileall] +[o:python-doc:p:python-313:r:library--compileall] file_filter = library/compileall.po source_file = gettext/library/compileall.pot type = PO @@ -1621,7 +1630,7 @@ resource_name = library--compileall replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--concurrency] +[o:python-doc:p:python-313:r:library--concurrency] file_filter = library/concurrency.po source_file = gettext/library/concurrency.pot type = PO @@ -1630,7 +1639,7 @@ resource_name = library--concurrency replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--concurrent] +[o:python-doc:p:python-313:r:library--concurrent] file_filter = library/concurrent.po source_file = gettext/library/concurrent.pot type = PO @@ -1639,7 +1648,7 @@ resource_name = library--concurrent replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--concurrent_futures] +[o:python-doc:p:python-313:r:library--concurrent_futures] file_filter = library/concurrent.futures.po source_file = gettext/library/concurrent.futures.pot type = PO @@ -1648,7 +1657,7 @@ resource_name = library--concurrent_futures replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--configparser] +[o:python-doc:p:python-313:r:library--configparser] file_filter = library/configparser.po source_file = gettext/library/configparser.pot type = PO @@ -1657,7 +1666,7 @@ resource_name = library--configparser replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--constants] +[o:python-doc:p:python-313:r:library--constants] file_filter = library/constants.po source_file = gettext/library/constants.pot type = PO @@ -1666,7 +1675,7 @@ resource_name = library--constants replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--contextlib] +[o:python-doc:p:python-313:r:library--contextlib] file_filter = library/contextlib.po source_file = gettext/library/contextlib.pot type = PO @@ -1675,7 +1684,7 @@ resource_name = library--contextlib replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--contextvars] +[o:python-doc:p:python-313:r:library--contextvars] file_filter = library/contextvars.po source_file = gettext/library/contextvars.pot type = PO @@ -1684,7 +1693,7 @@ resource_name = library--contextvars replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--copy] +[o:python-doc:p:python-313:r:library--copy] file_filter = library/copy.po source_file = gettext/library/copy.pot type = PO @@ -1693,7 +1702,7 @@ resource_name = library--copy replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--copyreg] +[o:python-doc:p:python-313:r:library--copyreg] file_filter = library/copyreg.po source_file = gettext/library/copyreg.pot type = PO @@ -1702,7 +1711,7 @@ resource_name = library--copyreg replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--crypt] +[o:python-doc:p:python-313:r:library--crypt] file_filter = library/crypt.po source_file = gettext/library/crypt.pot type = PO @@ -1711,7 +1720,7 @@ resource_name = library--crypt replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--crypto] +[o:python-doc:p:python-313:r:library--crypto] file_filter = library/crypto.po source_file = gettext/library/crypto.pot type = PO @@ -1720,7 +1729,7 @@ resource_name = library--crypto replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--csv] +[o:python-doc:p:python-313:r:library--csv] file_filter = library/csv.po source_file = gettext/library/csv.pot type = PO @@ -1729,7 +1738,7 @@ resource_name = library--csv replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--ctypes] +[o:python-doc:p:python-313:r:library--ctypes] file_filter = library/ctypes.po source_file = gettext/library/ctypes.pot type = PO @@ -1738,7 +1747,7 @@ resource_name = library--ctypes replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--curses] +[o:python-doc:p:python-313:r:library--curses] file_filter = library/curses.po source_file = gettext/library/curses.pot type = PO @@ -1747,7 +1756,7 @@ resource_name = library--curses replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--curses_ascii] +[o:python-doc:p:python-313:r:library--curses_ascii] file_filter = library/curses.ascii.po source_file = gettext/library/curses.ascii.pot type = PO @@ -1756,7 +1765,7 @@ resource_name = library--curses_ascii replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--curses_panel] +[o:python-doc:p:python-313:r:library--curses_panel] file_filter = library/curses.panel.po source_file = gettext/library/curses.panel.pot type = PO @@ -1765,7 +1774,7 @@ resource_name = library--curses_panel replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--custominterp] +[o:python-doc:p:python-313:r:library--custominterp] file_filter = library/custominterp.po source_file = gettext/library/custominterp.pot type = PO @@ -1774,7 +1783,7 @@ resource_name = library--custominterp replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--dataclasses] +[o:python-doc:p:python-313:r:library--dataclasses] file_filter = library/dataclasses.po source_file = gettext/library/dataclasses.pot type = PO @@ -1783,7 +1792,7 @@ resource_name = library--dataclasses replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--datatypes] +[o:python-doc:p:python-313:r:library--datatypes] file_filter = library/datatypes.po source_file = gettext/library/datatypes.pot type = PO @@ -1792,7 +1801,7 @@ resource_name = library--datatypes replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--datetime] +[o:python-doc:p:python-313:r:library--datetime] file_filter = library/datetime.po source_file = gettext/library/datetime.pot type = PO @@ -1801,7 +1810,7 @@ resource_name = library--datetime replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--dbm] +[o:python-doc:p:python-313:r:library--dbm] file_filter = library/dbm.po source_file = gettext/library/dbm.pot type = PO @@ -1810,7 +1819,7 @@ resource_name = library--dbm replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--debug] +[o:python-doc:p:python-313:r:library--debug] file_filter = library/debug.po source_file = gettext/library/debug.pot type = PO @@ -1819,7 +1828,7 @@ resource_name = library--debug replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--decimal] +[o:python-doc:p:python-313:r:library--decimal] file_filter = library/decimal.po source_file = gettext/library/decimal.pot type = PO @@ -1828,7 +1837,7 @@ resource_name = library--decimal replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--development] +[o:python-doc:p:python-313:r:library--development] file_filter = library/development.po source_file = gettext/library/development.pot type = PO @@ -1837,7 +1846,7 @@ resource_name = library--development replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--devmode] +[o:python-doc:p:python-313:r:library--devmode] file_filter = library/devmode.po source_file = gettext/library/devmode.pot type = PO @@ -1846,7 +1855,7 @@ resource_name = library--devmode replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--dialog] +[o:python-doc:p:python-313:r:library--dialog] file_filter = library/dialog.po source_file = gettext/library/dialog.pot type = PO @@ -1855,7 +1864,7 @@ resource_name = library--dialog replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--difflib] +[o:python-doc:p:python-313:r:library--difflib] file_filter = library/difflib.po source_file = gettext/library/difflib.pot type = PO @@ -1864,7 +1873,7 @@ resource_name = library--difflib replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--dis] +[o:python-doc:p:python-313:r:library--dis] file_filter = library/dis.po source_file = gettext/library/dis.pot type = PO @@ -1873,7 +1882,7 @@ resource_name = library--dis replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--distribution] +[o:python-doc:p:python-313:r:library--distribution] file_filter = library/distribution.po source_file = gettext/library/distribution.pot type = PO @@ -1882,7 +1891,7 @@ resource_name = library--distribution replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--distutils] +[o:python-doc:p:python-313:r:library--distutils] file_filter = library/distutils.po source_file = gettext/library/distutils.pot type = PO @@ -1891,7 +1900,7 @@ resource_name = library--distutils replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--doctest] +[o:python-doc:p:python-313:r:library--doctest] file_filter = library/doctest.po source_file = gettext/library/doctest.pot type = PO @@ -1900,7 +1909,7 @@ resource_name = library--doctest replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--email] +[o:python-doc:p:python-313:r:library--email] file_filter = library/email.po source_file = gettext/library/email.pot type = PO @@ -1909,7 +1918,7 @@ resource_name = library--email replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--email_charset] +[o:python-doc:p:python-313:r:library--email_charset] file_filter = library/email.charset.po source_file = gettext/library/email.charset.pot type = PO @@ -1918,7 +1927,7 @@ resource_name = library--email_charset replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--email_compat32-message] +[o:python-doc:p:python-313:r:library--email_compat32-message] file_filter = library/email.compat32-message.po source_file = gettext/library/email.compat32-message.pot type = PO @@ -1927,7 +1936,7 @@ resource_name = library--email_compat32-message replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--email_contentmanager] +[o:python-doc:p:python-313:r:library--email_contentmanager] file_filter = library/email.contentmanager.po source_file = gettext/library/email.contentmanager.pot type = PO @@ -1936,7 +1945,7 @@ resource_name = library--email_contentmanager replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--email_encoders] +[o:python-doc:p:python-313:r:library--email_encoders] file_filter = library/email.encoders.po source_file = gettext/library/email.encoders.pot type = PO @@ -1945,7 +1954,7 @@ resource_name = library--email_encoders replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--email_errors] +[o:python-doc:p:python-313:r:library--email_errors] file_filter = library/email.errors.po source_file = gettext/library/email.errors.pot type = PO @@ -1954,7 +1963,7 @@ resource_name = library--email_errors replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--email_examples] +[o:python-doc:p:python-313:r:library--email_examples] file_filter = library/email.examples.po source_file = gettext/library/email.examples.pot type = PO @@ -1963,7 +1972,7 @@ resource_name = library--email_examples replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--email_generator] +[o:python-doc:p:python-313:r:library--email_generator] file_filter = library/email.generator.po source_file = gettext/library/email.generator.pot type = PO @@ -1972,7 +1981,7 @@ resource_name = library--email_generator replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--email_header] +[o:python-doc:p:python-313:r:library--email_header] file_filter = library/email.header.po source_file = gettext/library/email.header.pot type = PO @@ -1981,7 +1990,7 @@ resource_name = library--email_header replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--email_headerregistry] +[o:python-doc:p:python-313:r:library--email_headerregistry] file_filter = library/email.headerregistry.po source_file = gettext/library/email.headerregistry.pot type = PO @@ -1990,7 +1999,7 @@ resource_name = library--email_headerregistry replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--email_iterators] +[o:python-doc:p:python-313:r:library--email_iterators] file_filter = library/email.iterators.po source_file = gettext/library/email.iterators.pot type = PO @@ -1999,7 +2008,7 @@ resource_name = library--email_iterators replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--email_message] +[o:python-doc:p:python-313:r:library--email_message] file_filter = library/email.message.po source_file = gettext/library/email.message.pot type = PO @@ -2008,7 +2017,7 @@ resource_name = library--email_message replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--email_mime] +[o:python-doc:p:python-313:r:library--email_mime] file_filter = library/email.mime.po source_file = gettext/library/email.mime.pot type = PO @@ -2017,7 +2026,7 @@ resource_name = library--email_mime replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--email_parser] +[o:python-doc:p:python-313:r:library--email_parser] file_filter = library/email.parser.po source_file = gettext/library/email.parser.pot type = PO @@ -2026,7 +2035,7 @@ resource_name = library--email_parser replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--email_policy] +[o:python-doc:p:python-313:r:library--email_policy] file_filter = library/email.policy.po source_file = gettext/library/email.policy.pot type = PO @@ -2035,7 +2044,7 @@ resource_name = library--email_policy replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--email_utils] +[o:python-doc:p:python-313:r:library--email_utils] file_filter = library/email.utils.po source_file = gettext/library/email.utils.pot type = PO @@ -2044,7 +2053,7 @@ resource_name = library--email_utils replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--ensurepip] +[o:python-doc:p:python-313:r:library--ensurepip] file_filter = library/ensurepip.po source_file = gettext/library/ensurepip.pot type = PO @@ -2053,7 +2062,7 @@ resource_name = library--ensurepip replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--enum] +[o:python-doc:p:python-313:r:library--enum] file_filter = library/enum.po source_file = gettext/library/enum.pot type = PO @@ -2062,7 +2071,7 @@ resource_name = library--enum replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--errno] +[o:python-doc:p:python-313:r:library--errno] file_filter = library/errno.po source_file = gettext/library/errno.pot type = PO @@ -2071,7 +2080,7 @@ resource_name = library--errno replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--exceptions] +[o:python-doc:p:python-313:r:library--exceptions] file_filter = library/exceptions.po source_file = gettext/library/exceptions.pot type = PO @@ -2080,7 +2089,7 @@ resource_name = library--exceptions replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--faulthandler] +[o:python-doc:p:python-313:r:library--faulthandler] file_filter = library/faulthandler.po source_file = gettext/library/faulthandler.pot type = PO @@ -2089,7 +2098,7 @@ resource_name = library--faulthandler replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--fcntl] +[o:python-doc:p:python-313:r:library--fcntl] file_filter = library/fcntl.po source_file = gettext/library/fcntl.pot type = PO @@ -2098,7 +2107,7 @@ resource_name = library--fcntl replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--filecmp] +[o:python-doc:p:python-313:r:library--filecmp] file_filter = library/filecmp.po source_file = gettext/library/filecmp.pot type = PO @@ -2107,7 +2116,7 @@ resource_name = library--filecmp replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--fileformats] +[o:python-doc:p:python-313:r:library--fileformats] file_filter = library/fileformats.po source_file = gettext/library/fileformats.pot type = PO @@ -2116,7 +2125,7 @@ resource_name = library--fileformats replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--fileinput] +[o:python-doc:p:python-313:r:library--fileinput] file_filter = library/fileinput.po source_file = gettext/library/fileinput.pot type = PO @@ -2125,7 +2134,7 @@ resource_name = library--fileinput replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--filesys] +[o:python-doc:p:python-313:r:library--filesys] file_filter = library/filesys.po source_file = gettext/library/filesys.pot type = PO @@ -2134,7 +2143,7 @@ resource_name = library--filesys replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--fnmatch] +[o:python-doc:p:python-313:r:library--fnmatch] file_filter = library/fnmatch.po source_file = gettext/library/fnmatch.pot type = PO @@ -2143,7 +2152,7 @@ resource_name = library--fnmatch replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--fractions] +[o:python-doc:p:python-313:r:library--fractions] file_filter = library/fractions.po source_file = gettext/library/fractions.pot type = PO @@ -2152,7 +2161,7 @@ resource_name = library--fractions replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--frameworks] +[o:python-doc:p:python-313:r:library--frameworks] file_filter = library/frameworks.po source_file = gettext/library/frameworks.pot type = PO @@ -2161,7 +2170,7 @@ resource_name = library--frameworks replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--ftplib] +[o:python-doc:p:python-313:r:library--ftplib] file_filter = library/ftplib.po source_file = gettext/library/ftplib.pot type = PO @@ -2170,7 +2179,7 @@ resource_name = library--ftplib replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--functional] +[o:python-doc:p:python-313:r:library--functional] file_filter = library/functional.po source_file = gettext/library/functional.pot type = PO @@ -2179,7 +2188,7 @@ resource_name = library--functional replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--functions] +[o:python-doc:p:python-313:r:library--functions] file_filter = library/functions.po source_file = gettext/library/functions.pot type = PO @@ -2188,7 +2197,7 @@ resource_name = library--functions replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--functools] +[o:python-doc:p:python-313:r:library--functools] file_filter = library/functools.po source_file = gettext/library/functools.pot type = PO @@ -2197,7 +2206,7 @@ resource_name = library--functools replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--gc] +[o:python-doc:p:python-313:r:library--gc] file_filter = library/gc.po source_file = gettext/library/gc.pot type = PO @@ -2206,7 +2215,7 @@ resource_name = library--gc replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--getopt] +[o:python-doc:p:python-313:r:library--getopt] file_filter = library/getopt.po source_file = gettext/library/getopt.pot type = PO @@ -2215,7 +2224,7 @@ resource_name = library--getopt replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--getpass] +[o:python-doc:p:python-313:r:library--getpass] file_filter = library/getpass.po source_file = gettext/library/getpass.pot type = PO @@ -2224,7 +2233,7 @@ resource_name = library--getpass replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--gettext] +[o:python-doc:p:python-313:r:library--gettext] file_filter = library/gettext.po source_file = gettext/library/gettext.pot type = PO @@ -2233,7 +2242,7 @@ resource_name = library--gettext replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--glob] +[o:python-doc:p:python-313:r:library--glob] file_filter = library/glob.po source_file = gettext/library/glob.pot type = PO @@ -2242,7 +2251,7 @@ resource_name = library--glob replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--graphlib] +[o:python-doc:p:python-313:r:library--graphlib] file_filter = library/graphlib.po source_file = gettext/library/graphlib.pot type = PO @@ -2251,7 +2260,7 @@ resource_name = library--graphlib replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--grp] +[o:python-doc:p:python-313:r:library--grp] file_filter = library/grp.po source_file = gettext/library/grp.pot type = PO @@ -2260,7 +2269,7 @@ resource_name = library--grp replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--gzip] +[o:python-doc:p:python-313:r:library--gzip] file_filter = library/gzip.po source_file = gettext/library/gzip.pot type = PO @@ -2269,7 +2278,7 @@ resource_name = library--gzip replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--hashlib] +[o:python-doc:p:python-313:r:library--hashlib] file_filter = library/hashlib.po source_file = gettext/library/hashlib.pot type = PO @@ -2278,7 +2287,7 @@ resource_name = library--hashlib replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--heapq] +[o:python-doc:p:python-313:r:library--heapq] file_filter = library/heapq.po source_file = gettext/library/heapq.pot type = PO @@ -2287,7 +2296,7 @@ resource_name = library--heapq replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--hmac] +[o:python-doc:p:python-313:r:library--hmac] file_filter = library/hmac.po source_file = gettext/library/hmac.pot type = PO @@ -2296,7 +2305,7 @@ resource_name = library--hmac replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--html] +[o:python-doc:p:python-313:r:library--html] file_filter = library/html.po source_file = gettext/library/html.pot type = PO @@ -2305,7 +2314,7 @@ resource_name = library--html replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--html_entities] +[o:python-doc:p:python-313:r:library--html_entities] file_filter = library/html.entities.po source_file = gettext/library/html.entities.pot type = PO @@ -2314,7 +2323,7 @@ resource_name = library--html_entities replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--html_parser] +[o:python-doc:p:python-313:r:library--html_parser] file_filter = library/html.parser.po source_file = gettext/library/html.parser.pot type = PO @@ -2323,7 +2332,7 @@ resource_name = library--html_parser replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--http] +[o:python-doc:p:python-313:r:library--http] file_filter = library/http.po source_file = gettext/library/http.pot type = PO @@ -2332,7 +2341,7 @@ resource_name = library--http replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--http_client] +[o:python-doc:p:python-313:r:library--http_client] file_filter = library/http.client.po source_file = gettext/library/http.client.pot type = PO @@ -2341,7 +2350,7 @@ resource_name = library--http_client replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--http_cookiejar] +[o:python-doc:p:python-313:r:library--http_cookiejar] file_filter = library/http.cookiejar.po source_file = gettext/library/http.cookiejar.pot type = PO @@ -2350,7 +2359,7 @@ resource_name = library--http_cookiejar replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--http_cookies] +[o:python-doc:p:python-313:r:library--http_cookies] file_filter = library/http.cookies.po source_file = gettext/library/http.cookies.pot type = PO @@ -2359,7 +2368,7 @@ resource_name = library--http_cookies replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--http_server] +[o:python-doc:p:python-313:r:library--http_server] file_filter = library/http.server.po source_file = gettext/library/http.server.pot type = PO @@ -2368,7 +2377,7 @@ resource_name = library--http_server replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--i18n] +[o:python-doc:p:python-313:r:library--i18n] file_filter = library/i18n.po source_file = gettext/library/i18n.pot type = PO @@ -2377,7 +2386,7 @@ resource_name = library--i18n replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--idle] +[o:python-doc:p:python-313:r:library--idle] file_filter = library/idle.po source_file = gettext/library/idle.pot type = PO @@ -2386,7 +2395,7 @@ resource_name = library--idle replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--imaplib] +[o:python-doc:p:python-313:r:library--imaplib] file_filter = library/imaplib.po source_file = gettext/library/imaplib.pot type = PO @@ -2395,7 +2404,7 @@ resource_name = library--imaplib replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--imghdr] +[o:python-doc:p:python-313:r:library--imghdr] file_filter = library/imghdr.po source_file = gettext/library/imghdr.pot type = PO @@ -2404,7 +2413,7 @@ resource_name = library--imghdr replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--imp] +[o:python-doc:p:python-313:r:library--imp] file_filter = library/imp.po source_file = gettext/library/imp.pot type = PO @@ -2413,7 +2422,7 @@ resource_name = library--imp replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--importlib] +[o:python-doc:p:python-313:r:library--importlib] file_filter = library/importlib.po source_file = gettext/library/importlib.pot type = PO @@ -2422,7 +2431,7 @@ resource_name = library--importlib replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--importlib_metadata] +[o:python-doc:p:python-313:r:library--importlib_metadata] file_filter = library/importlib.metadata.po source_file = gettext/library/importlib.metadata.pot type = PO @@ -2431,7 +2440,7 @@ resource_name = library--importlib_metadata replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--importlib_resources] +[o:python-doc:p:python-313:r:library--importlib_resources] file_filter = library/importlib.resources.po source_file = gettext/library/importlib.resources.pot type = PO @@ -2440,7 +2449,7 @@ resource_name = library--importlib_resources replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--importlib_resources_abc] +[o:python-doc:p:python-313:r:library--importlib_resources_abc] file_filter = library/importlib.resources.abc.po source_file = gettext/library/importlib.resources.abc.pot type = PO @@ -2449,7 +2458,7 @@ resource_name = library--importlib_resources_abc replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--index] +[o:python-doc:p:python-313:r:library--index] file_filter = library/index.po source_file = gettext/library/index.pot type = PO @@ -2458,7 +2467,7 @@ resource_name = library--index replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--inspect] +[o:python-doc:p:python-313:r:library--inspect] file_filter = library/inspect.po source_file = gettext/library/inspect.pot type = PO @@ -2467,7 +2476,7 @@ resource_name = library--inspect replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--internet] +[o:python-doc:p:python-313:r:library--internet] file_filter = library/internet.po source_file = gettext/library/internet.pot type = PO @@ -2476,7 +2485,7 @@ resource_name = library--internet replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--intro] +[o:python-doc:p:python-313:r:library--intro] file_filter = library/intro.po source_file = gettext/library/intro.pot type = PO @@ -2485,7 +2494,7 @@ resource_name = library--intro replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--io] +[o:python-doc:p:python-313:r:library--io] file_filter = library/io.po source_file = gettext/library/io.pot type = PO @@ -2494,7 +2503,7 @@ resource_name = library--io replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--ipaddress] +[o:python-doc:p:python-313:r:library--ipaddress] file_filter = library/ipaddress.po source_file = gettext/library/ipaddress.pot type = PO @@ -2503,7 +2512,7 @@ resource_name = library--ipaddress replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--ipc] +[o:python-doc:p:python-313:r:library--ipc] file_filter = library/ipc.po source_file = gettext/library/ipc.pot type = PO @@ -2512,7 +2521,7 @@ resource_name = library--ipc replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--itertools] +[o:python-doc:p:python-313:r:library--itertools] file_filter = library/itertools.po source_file = gettext/library/itertools.pot type = PO @@ -2521,7 +2530,7 @@ resource_name = library--itertools replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--json] +[o:python-doc:p:python-313:r:library--json] file_filter = library/json.po source_file = gettext/library/json.pot type = PO @@ -2530,7 +2539,7 @@ resource_name = library--json replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--keyword] +[o:python-doc:p:python-313:r:library--keyword] file_filter = library/keyword.po source_file = gettext/library/keyword.pot type = PO @@ -2539,7 +2548,7 @@ resource_name = library--keyword replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--language] +[o:python-doc:p:python-313:r:library--language] file_filter = library/language.po source_file = gettext/library/language.pot type = PO @@ -2548,7 +2557,7 @@ resource_name = library--language replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--linecache] +[o:python-doc:p:python-313:r:library--linecache] file_filter = library/linecache.po source_file = gettext/library/linecache.pot type = PO @@ -2557,7 +2566,7 @@ resource_name = library--linecache replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--locale] +[o:python-doc:p:python-313:r:library--locale] file_filter = library/locale.po source_file = gettext/library/locale.pot type = PO @@ -2566,7 +2575,7 @@ resource_name = library--locale replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--logging] +[o:python-doc:p:python-313:r:library--logging] file_filter = library/logging.po source_file = gettext/library/logging.pot type = PO @@ -2575,7 +2584,7 @@ resource_name = library--logging replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--logging_config] +[o:python-doc:p:python-313:r:library--logging_config] file_filter = library/logging.config.po source_file = gettext/library/logging.config.pot type = PO @@ -2584,7 +2593,7 @@ resource_name = library--logging_config replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--logging_handlers] +[o:python-doc:p:python-313:r:library--logging_handlers] file_filter = library/logging.handlers.po source_file = gettext/library/logging.handlers.pot type = PO @@ -2593,7 +2602,7 @@ resource_name = library--logging_handlers replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--lzma] +[o:python-doc:p:python-313:r:library--lzma] file_filter = library/lzma.po source_file = gettext/library/lzma.pot type = PO @@ -2602,7 +2611,7 @@ resource_name = library--lzma replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--mailbox] +[o:python-doc:p:python-313:r:library--mailbox] file_filter = library/mailbox.po source_file = gettext/library/mailbox.pot type = PO @@ -2611,7 +2620,7 @@ resource_name = library--mailbox replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--mailcap] +[o:python-doc:p:python-313:r:library--mailcap] file_filter = library/mailcap.po source_file = gettext/library/mailcap.pot type = PO @@ -2620,7 +2629,7 @@ resource_name = library--mailcap replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--markup] +[o:python-doc:p:python-313:r:library--markup] file_filter = library/markup.po source_file = gettext/library/markup.pot type = PO @@ -2629,7 +2638,7 @@ resource_name = library--markup replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--marshal] +[o:python-doc:p:python-313:r:library--marshal] file_filter = library/marshal.po source_file = gettext/library/marshal.pot type = PO @@ -2638,7 +2647,7 @@ resource_name = library--marshal replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--math] +[o:python-doc:p:python-313:r:library--math] file_filter = library/math.po source_file = gettext/library/math.pot type = PO @@ -2647,7 +2656,7 @@ resource_name = library--math replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--mimetypes] +[o:python-doc:p:python-313:r:library--mimetypes] file_filter = library/mimetypes.po source_file = gettext/library/mimetypes.pot type = PO @@ -2656,7 +2665,7 @@ resource_name = library--mimetypes replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--mm] +[o:python-doc:p:python-313:r:library--mm] file_filter = library/mm.po source_file = gettext/library/mm.pot type = PO @@ -2665,7 +2674,7 @@ resource_name = library--mm replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--mmap] +[o:python-doc:p:python-313:r:library--mmap] file_filter = library/mmap.po source_file = gettext/library/mmap.pot type = PO @@ -2674,7 +2683,7 @@ resource_name = library--mmap replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--modulefinder] +[o:python-doc:p:python-313:r:library--modulefinder] file_filter = library/modulefinder.po source_file = gettext/library/modulefinder.pot type = PO @@ -2683,7 +2692,7 @@ resource_name = library--modulefinder replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--modules] +[o:python-doc:p:python-313:r:library--modules] file_filter = library/modules.po source_file = gettext/library/modules.pot type = PO @@ -2692,7 +2701,7 @@ resource_name = library--modules replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--msilib] +[o:python-doc:p:python-313:r:library--msilib] file_filter = library/msilib.po source_file = gettext/library/msilib.pot type = PO @@ -2701,7 +2710,7 @@ resource_name = library--msilib replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--msvcrt] +[o:python-doc:p:python-313:r:library--msvcrt] file_filter = library/msvcrt.po source_file = gettext/library/msvcrt.pot type = PO @@ -2710,7 +2719,7 @@ resource_name = library--msvcrt replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--multiprocessing] +[o:python-doc:p:python-313:r:library--multiprocessing] file_filter = library/multiprocessing.po source_file = gettext/library/multiprocessing.pot type = PO @@ -2719,7 +2728,7 @@ resource_name = library--multiprocessing replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--multiprocessing_shared_memory] +[o:python-doc:p:python-313:r:library--multiprocessing_shared_memory] file_filter = library/multiprocessing.shared_memory.po source_file = gettext/library/multiprocessing.shared_memory.pot type = PO @@ -2728,7 +2737,7 @@ resource_name = library--multiprocessing_shared_memory replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--netdata] +[o:python-doc:p:python-313:r:library--netdata] file_filter = library/netdata.po source_file = gettext/library/netdata.pot type = PO @@ -2737,7 +2746,7 @@ resource_name = library--netdata replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--netrc] +[o:python-doc:p:python-313:r:library--netrc] file_filter = library/netrc.po source_file = gettext/library/netrc.pot type = PO @@ -2746,7 +2755,7 @@ resource_name = library--netrc replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--nis] +[o:python-doc:p:python-313:r:library--nis] file_filter = library/nis.po source_file = gettext/library/nis.pot type = PO @@ -2755,7 +2764,7 @@ resource_name = library--nis replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--nntplib] +[o:python-doc:p:python-313:r:library--nntplib] file_filter = library/nntplib.po source_file = gettext/library/nntplib.pot type = PO @@ -2764,7 +2773,7 @@ resource_name = library--nntplib replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--numbers] +[o:python-doc:p:python-313:r:library--numbers] file_filter = library/numbers.po source_file = gettext/library/numbers.pot type = PO @@ -2773,7 +2782,7 @@ resource_name = library--numbers replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--numeric] +[o:python-doc:p:python-313:r:library--numeric] file_filter = library/numeric.po source_file = gettext/library/numeric.pot type = PO @@ -2782,7 +2791,7 @@ resource_name = library--numeric replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--operator] +[o:python-doc:p:python-313:r:library--operator] file_filter = library/operator.po source_file = gettext/library/operator.pot type = PO @@ -2791,7 +2800,7 @@ resource_name = library--operator replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--optparse] +[o:python-doc:p:python-313:r:library--optparse] file_filter = library/optparse.po source_file = gettext/library/optparse.pot type = PO @@ -2800,7 +2809,7 @@ resource_name = library--optparse replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--os] +[o:python-doc:p:python-313:r:library--os] file_filter = library/os.po source_file = gettext/library/os.pot type = PO @@ -2809,7 +2818,7 @@ resource_name = library--os replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--os_path] +[o:python-doc:p:python-313:r:library--os_path] file_filter = library/os.path.po source_file = gettext/library/os.path.pot type = PO @@ -2818,7 +2827,7 @@ resource_name = library--os_path replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--ossaudiodev] +[o:python-doc:p:python-313:r:library--ossaudiodev] file_filter = library/ossaudiodev.po source_file = gettext/library/ossaudiodev.pot type = PO @@ -2827,7 +2836,7 @@ resource_name = library--ossaudiodev replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--pathlib] +[o:python-doc:p:python-313:r:library--pathlib] file_filter = library/pathlib.po source_file = gettext/library/pathlib.pot type = PO @@ -2836,7 +2845,7 @@ resource_name = library--pathlib replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--pdb] +[o:python-doc:p:python-313:r:library--pdb] file_filter = library/pdb.po source_file = gettext/library/pdb.pot type = PO @@ -2845,7 +2854,7 @@ resource_name = library--pdb replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--persistence] +[o:python-doc:p:python-313:r:library--persistence] file_filter = library/persistence.po source_file = gettext/library/persistence.pot type = PO @@ -2854,7 +2863,7 @@ resource_name = library--persistence replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--pickle] +[o:python-doc:p:python-313:r:library--pickle] file_filter = library/pickle.po source_file = gettext/library/pickle.pot type = PO @@ -2863,7 +2872,7 @@ resource_name = library--pickle replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--pickletools] +[o:python-doc:p:python-313:r:library--pickletools] file_filter = library/pickletools.po source_file = gettext/library/pickletools.pot type = PO @@ -2872,7 +2881,7 @@ resource_name = library--pickletools replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--pipes] +[o:python-doc:p:python-313:r:library--pipes] file_filter = library/pipes.po source_file = gettext/library/pipes.pot type = PO @@ -2881,7 +2890,7 @@ resource_name = library--pipes replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--pkgutil] +[o:python-doc:p:python-313:r:library--pkgutil] file_filter = library/pkgutil.po source_file = gettext/library/pkgutil.pot type = PO @@ -2890,7 +2899,7 @@ resource_name = library--pkgutil replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--platform] +[o:python-doc:p:python-313:r:library--platform] file_filter = library/platform.po source_file = gettext/library/platform.pot type = PO @@ -2899,7 +2908,7 @@ resource_name = library--platform replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--plistlib] +[o:python-doc:p:python-313:r:library--plistlib] file_filter = library/plistlib.po source_file = gettext/library/plistlib.pot type = PO @@ -2908,7 +2917,7 @@ resource_name = library--plistlib replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--poplib] +[o:python-doc:p:python-313:r:library--poplib] file_filter = library/poplib.po source_file = gettext/library/poplib.pot type = PO @@ -2917,7 +2926,7 @@ resource_name = library--poplib replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--posix] +[o:python-doc:p:python-313:r:library--posix] file_filter = library/posix.po source_file = gettext/library/posix.pot type = PO @@ -2926,7 +2935,7 @@ resource_name = library--posix replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--pprint] +[o:python-doc:p:python-313:r:library--pprint] file_filter = library/pprint.po source_file = gettext/library/pprint.pot type = PO @@ -2935,7 +2944,7 @@ resource_name = library--pprint replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--profile] +[o:python-doc:p:python-313:r:library--profile] file_filter = library/profile.po source_file = gettext/library/profile.pot type = PO @@ -2944,7 +2953,7 @@ resource_name = library--profile replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--pty] +[o:python-doc:p:python-313:r:library--pty] file_filter = library/pty.po source_file = gettext/library/pty.pot type = PO @@ -2953,7 +2962,7 @@ resource_name = library--pty replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--pwd] +[o:python-doc:p:python-313:r:library--pwd] file_filter = library/pwd.po source_file = gettext/library/pwd.pot type = PO @@ -2962,7 +2971,7 @@ resource_name = library--pwd replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--py_compile] +[o:python-doc:p:python-313:r:library--py_compile] file_filter = library/py_compile.po source_file = gettext/library/py_compile.pot type = PO @@ -2971,7 +2980,7 @@ resource_name = library--py_compile replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--pyclbr] +[o:python-doc:p:python-313:r:library--pyclbr] file_filter = library/pyclbr.po source_file = gettext/library/pyclbr.pot type = PO @@ -2980,7 +2989,7 @@ resource_name = library--pyclbr replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--pydoc] +[o:python-doc:p:python-313:r:library--pydoc] file_filter = library/pydoc.po source_file = gettext/library/pydoc.pot type = PO @@ -2989,7 +2998,7 @@ resource_name = library--pydoc replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--pyexpat] +[o:python-doc:p:python-313:r:library--pyexpat] file_filter = library/pyexpat.po source_file = gettext/library/pyexpat.pot type = PO @@ -2998,7 +3007,7 @@ resource_name = library--pyexpat replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--python] +[o:python-doc:p:python-313:r:library--python] file_filter = library/python.po source_file = gettext/library/python.pot type = PO @@ -3007,7 +3016,7 @@ resource_name = library--python replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--queue] +[o:python-doc:p:python-313:r:library--queue] file_filter = library/queue.po source_file = gettext/library/queue.pot type = PO @@ -3016,7 +3025,7 @@ resource_name = library--queue replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--quopri] +[o:python-doc:p:python-313:r:library--quopri] file_filter = library/quopri.po source_file = gettext/library/quopri.pot type = PO @@ -3025,7 +3034,7 @@ resource_name = library--quopri replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--random] +[o:python-doc:p:python-313:r:library--random] file_filter = library/random.po source_file = gettext/library/random.pot type = PO @@ -3034,7 +3043,7 @@ resource_name = library--random replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--re] +[o:python-doc:p:python-313:r:library--re] file_filter = library/re.po source_file = gettext/library/re.pot type = PO @@ -3043,7 +3052,7 @@ resource_name = library--re replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--readline] +[o:python-doc:p:python-313:r:library--readline] file_filter = library/readline.po source_file = gettext/library/readline.pot type = PO @@ -3052,7 +3061,7 @@ resource_name = library--readline replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--removed] +[o:python-doc:p:python-313:r:library--removed] file_filter = library/removed.po source_file = gettext/library/removed.pot type = PO @@ -3061,7 +3070,7 @@ resource_name = library--removed replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--reprlib] +[o:python-doc:p:python-313:r:library--reprlib] file_filter = library/reprlib.po source_file = gettext/library/reprlib.pot type = PO @@ -3070,7 +3079,7 @@ resource_name = library--reprlib replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--resource] +[o:python-doc:p:python-313:r:library--resource] file_filter = library/resource.po source_file = gettext/library/resource.pot type = PO @@ -3079,7 +3088,7 @@ resource_name = library--resource replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--rlcompleter] +[o:python-doc:p:python-313:r:library--rlcompleter] file_filter = library/rlcompleter.po source_file = gettext/library/rlcompleter.pot type = PO @@ -3088,7 +3097,7 @@ resource_name = library--rlcompleter replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--runpy] +[o:python-doc:p:python-313:r:library--runpy] file_filter = library/runpy.po source_file = gettext/library/runpy.pot type = PO @@ -3097,7 +3106,7 @@ resource_name = library--runpy replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--sched] +[o:python-doc:p:python-313:r:library--sched] file_filter = library/sched.po source_file = gettext/library/sched.pot type = PO @@ -3106,7 +3115,7 @@ resource_name = library--sched replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--secrets] +[o:python-doc:p:python-313:r:library--secrets] file_filter = library/secrets.po source_file = gettext/library/secrets.pot type = PO @@ -3115,7 +3124,7 @@ resource_name = library--secrets replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--security_warnings] +[o:python-doc:p:python-313:r:library--security_warnings] file_filter = library/security_warnings.po source_file = gettext/library/security_warnings.pot type = PO @@ -3124,7 +3133,7 @@ resource_name = library--security_warnings replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--select] +[o:python-doc:p:python-313:r:library--select] file_filter = library/select.po source_file = gettext/library/select.pot type = PO @@ -3133,7 +3142,7 @@ resource_name = library--select replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--selectors] +[o:python-doc:p:python-313:r:library--selectors] file_filter = library/selectors.po source_file = gettext/library/selectors.pot type = PO @@ -3142,7 +3151,7 @@ resource_name = library--selectors replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--shelve] +[o:python-doc:p:python-313:r:library--shelve] file_filter = library/shelve.po source_file = gettext/library/shelve.pot type = PO @@ -3151,7 +3160,7 @@ resource_name = library--shelve replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--shlex] +[o:python-doc:p:python-313:r:library--shlex] file_filter = library/shlex.po source_file = gettext/library/shlex.pot type = PO @@ -3160,7 +3169,7 @@ resource_name = library--shlex replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--shutil] +[o:python-doc:p:python-313:r:library--shutil] file_filter = library/shutil.po source_file = gettext/library/shutil.pot type = PO @@ -3169,7 +3178,7 @@ resource_name = library--shutil replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--signal] +[o:python-doc:p:python-313:r:library--signal] file_filter = library/signal.po source_file = gettext/library/signal.pot type = PO @@ -3178,7 +3187,7 @@ resource_name = library--signal replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--site] +[o:python-doc:p:python-313:r:library--site] file_filter = library/site.po source_file = gettext/library/site.pot type = PO @@ -3187,7 +3196,7 @@ resource_name = library--site replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--smtpd] +[o:python-doc:p:python-313:r:library--smtpd] file_filter = library/smtpd.po source_file = gettext/library/smtpd.pot type = PO @@ -3196,7 +3205,7 @@ resource_name = library--smtpd replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--smtplib] +[o:python-doc:p:python-313:r:library--smtplib] file_filter = library/smtplib.po source_file = gettext/library/smtplib.pot type = PO @@ -3205,7 +3214,7 @@ resource_name = library--smtplib replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--sndhdr] +[o:python-doc:p:python-313:r:library--sndhdr] file_filter = library/sndhdr.po source_file = gettext/library/sndhdr.pot type = PO @@ -3214,7 +3223,7 @@ resource_name = library--sndhdr replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--socket] +[o:python-doc:p:python-313:r:library--socket] file_filter = library/socket.po source_file = gettext/library/socket.pot type = PO @@ -3223,7 +3232,7 @@ resource_name = library--socket replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--socketserver] +[o:python-doc:p:python-313:r:library--socketserver] file_filter = library/socketserver.po source_file = gettext/library/socketserver.pot type = PO @@ -3232,7 +3241,7 @@ resource_name = library--socketserver replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--spwd] +[o:python-doc:p:python-313:r:library--spwd] file_filter = library/spwd.po source_file = gettext/library/spwd.pot type = PO @@ -3241,7 +3250,7 @@ resource_name = library--spwd replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--sqlite3] +[o:python-doc:p:python-313:r:library--sqlite3] file_filter = library/sqlite3.po source_file = gettext/library/sqlite3.pot type = PO @@ -3250,7 +3259,7 @@ resource_name = library--sqlite3 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--ssl] +[o:python-doc:p:python-313:r:library--ssl] file_filter = library/ssl.po source_file = gettext/library/ssl.pot type = PO @@ -3259,7 +3268,7 @@ resource_name = library--ssl replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--stat] +[o:python-doc:p:python-313:r:library--stat] file_filter = library/stat.po source_file = gettext/library/stat.pot type = PO @@ -3268,7 +3277,7 @@ resource_name = library--stat replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--statistics] +[o:python-doc:p:python-313:r:library--statistics] file_filter = library/statistics.po source_file = gettext/library/statistics.pot type = PO @@ -3277,7 +3286,7 @@ resource_name = library--statistics replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--stdtypes] +[o:python-doc:p:python-313:r:library--stdtypes] file_filter = library/stdtypes.po source_file = gettext/library/stdtypes.pot type = PO @@ -3286,7 +3295,7 @@ resource_name = library--stdtypes replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--string] +[o:python-doc:p:python-313:r:library--string] file_filter = library/string.po source_file = gettext/library/string.pot type = PO @@ -3295,7 +3304,7 @@ resource_name = library--string replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--stringprep] +[o:python-doc:p:python-313:r:library--stringprep] file_filter = library/stringprep.po source_file = gettext/library/stringprep.pot type = PO @@ -3304,7 +3313,7 @@ resource_name = library--stringprep replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--struct] +[o:python-doc:p:python-313:r:library--struct] file_filter = library/struct.po source_file = gettext/library/struct.pot type = PO @@ -3313,7 +3322,7 @@ resource_name = library--struct replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--subprocess] +[o:python-doc:p:python-313:r:library--subprocess] file_filter = library/subprocess.po source_file = gettext/library/subprocess.pot type = PO @@ -3322,7 +3331,7 @@ resource_name = library--subprocess replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--sunau] +[o:python-doc:p:python-313:r:library--sunau] file_filter = library/sunau.po source_file = gettext/library/sunau.pot type = PO @@ -3331,7 +3340,7 @@ resource_name = library--sunau replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--superseded] +[o:python-doc:p:python-313:r:library--superseded] file_filter = library/superseded.po source_file = gettext/library/superseded.pot type = PO @@ -3340,7 +3349,7 @@ resource_name = library--superseded replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--symtable] +[o:python-doc:p:python-313:r:library--symtable] file_filter = library/symtable.po source_file = gettext/library/symtable.pot type = PO @@ -3349,7 +3358,7 @@ resource_name = library--symtable replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--sys] +[o:python-doc:p:python-313:r:library--sys] file_filter = library/sys.po source_file = gettext/library/sys.pot type = PO @@ -3358,7 +3367,7 @@ resource_name = library--sys replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--sys_monitoring] +[o:python-doc:p:python-313:r:library--sys_monitoring] file_filter = library/sys.monitoring.po source_file = gettext/library/sys.monitoring.pot type = PO @@ -3367,7 +3376,7 @@ resource_name = library--sys_monitoring replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--sys_path_init] +[o:python-doc:p:python-313:r:library--sys_path_init] file_filter = library/sys_path_init.po source_file = gettext/library/sys_path_init.pot type = PO @@ -3376,7 +3385,7 @@ resource_name = library--sys_path_init replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--sysconfig] +[o:python-doc:p:python-313:r:library--sysconfig] file_filter = library/sysconfig.po source_file = gettext/library/sysconfig.pot type = PO @@ -3385,7 +3394,7 @@ resource_name = library--sysconfig replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--syslog] +[o:python-doc:p:python-313:r:library--syslog] file_filter = library/syslog.po source_file = gettext/library/syslog.pot type = PO @@ -3394,7 +3403,7 @@ resource_name = library--syslog replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--tabnanny] +[o:python-doc:p:python-313:r:library--tabnanny] file_filter = library/tabnanny.po source_file = gettext/library/tabnanny.pot type = PO @@ -3403,7 +3412,7 @@ resource_name = library--tabnanny replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--tarfile] +[o:python-doc:p:python-313:r:library--tarfile] file_filter = library/tarfile.po source_file = gettext/library/tarfile.pot type = PO @@ -3412,7 +3421,7 @@ resource_name = library--tarfile replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--telnetlib] +[o:python-doc:p:python-313:r:library--telnetlib] file_filter = library/telnetlib.po source_file = gettext/library/telnetlib.pot type = PO @@ -3421,7 +3430,7 @@ resource_name = library--telnetlib replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--tempfile] +[o:python-doc:p:python-313:r:library--tempfile] file_filter = library/tempfile.po source_file = gettext/library/tempfile.pot type = PO @@ -3430,7 +3439,7 @@ resource_name = library--tempfile replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--termios] +[o:python-doc:p:python-313:r:library--termios] file_filter = library/termios.po source_file = gettext/library/termios.pot type = PO @@ -3439,7 +3448,7 @@ resource_name = library--termios replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--test] +[o:python-doc:p:python-313:r:library--test] file_filter = library/test.po source_file = gettext/library/test.pot type = PO @@ -3448,7 +3457,7 @@ resource_name = library--test replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--text] +[o:python-doc:p:python-313:r:library--text] file_filter = library/text.po source_file = gettext/library/text.pot type = PO @@ -3457,7 +3466,7 @@ resource_name = library--text replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--textwrap] +[o:python-doc:p:python-313:r:library--textwrap] file_filter = library/textwrap.po source_file = gettext/library/textwrap.pot type = PO @@ -3466,7 +3475,7 @@ resource_name = library--textwrap replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--threading] +[o:python-doc:p:python-313:r:library--threading] file_filter = library/threading.po source_file = gettext/library/threading.pot type = PO @@ -3475,7 +3484,7 @@ resource_name = library--threading replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--time] +[o:python-doc:p:python-313:r:library--time] file_filter = library/time.po source_file = gettext/library/time.pot type = PO @@ -3484,7 +3493,7 @@ resource_name = library--time replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--timeit] +[o:python-doc:p:python-313:r:library--timeit] file_filter = library/timeit.po source_file = gettext/library/timeit.pot type = PO @@ -3493,7 +3502,7 @@ resource_name = library--timeit replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--tk] +[o:python-doc:p:python-313:r:library--tk] file_filter = library/tk.po source_file = gettext/library/tk.pot type = PO @@ -3502,7 +3511,7 @@ resource_name = library--tk replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--tkinter] +[o:python-doc:p:python-313:r:library--tkinter] file_filter = library/tkinter.po source_file = gettext/library/tkinter.pot type = PO @@ -3511,7 +3520,7 @@ resource_name = library--tkinter replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--tkinter_colorchooser] +[o:python-doc:p:python-313:r:library--tkinter_colorchooser] file_filter = library/tkinter.colorchooser.po source_file = gettext/library/tkinter.colorchooser.pot type = PO @@ -3520,7 +3529,7 @@ resource_name = library--tkinter_colorchooser replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--tkinter_dnd] +[o:python-doc:p:python-313:r:library--tkinter_dnd] file_filter = library/tkinter.dnd.po source_file = gettext/library/tkinter.dnd.pot type = PO @@ -3529,7 +3538,7 @@ resource_name = library--tkinter_dnd replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--tkinter_font] +[o:python-doc:p:python-313:r:library--tkinter_font] file_filter = library/tkinter.font.po source_file = gettext/library/tkinter.font.pot type = PO @@ -3538,7 +3547,7 @@ resource_name = library--tkinter_font replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--tkinter_messagebox] +[o:python-doc:p:python-313:r:library--tkinter_messagebox] file_filter = library/tkinter.messagebox.po source_file = gettext/library/tkinter.messagebox.pot type = PO @@ -3547,7 +3556,7 @@ resource_name = library--tkinter_messagebox replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--tkinter_scrolledtext] +[o:python-doc:p:python-313:r:library--tkinter_scrolledtext] file_filter = library/tkinter.scrolledtext.po source_file = gettext/library/tkinter.scrolledtext.pot type = PO @@ -3556,7 +3565,7 @@ resource_name = library--tkinter_scrolledtext replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--tkinter_ttk] +[o:python-doc:p:python-313:r:library--tkinter_ttk] file_filter = library/tkinter.ttk.po source_file = gettext/library/tkinter.ttk.pot type = PO @@ -3565,7 +3574,7 @@ resource_name = library--tkinter_ttk replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--token] +[o:python-doc:p:python-313:r:library--token] file_filter = library/token.po source_file = gettext/library/token.pot type = PO @@ -3574,7 +3583,7 @@ resource_name = library--token replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--tokenize] +[o:python-doc:p:python-313:r:library--tokenize] file_filter = library/tokenize.po source_file = gettext/library/tokenize.pot type = PO @@ -3583,7 +3592,7 @@ resource_name = library--tokenize replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--tomllib] +[o:python-doc:p:python-313:r:library--tomllib] file_filter = library/tomllib.po source_file = gettext/library/tomllib.pot type = PO @@ -3592,7 +3601,7 @@ resource_name = library--tomllib replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--trace] +[o:python-doc:p:python-313:r:library--trace] file_filter = library/trace.po source_file = gettext/library/trace.pot type = PO @@ -3601,7 +3610,7 @@ resource_name = library--trace replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--traceback] +[o:python-doc:p:python-313:r:library--traceback] file_filter = library/traceback.po source_file = gettext/library/traceback.pot type = PO @@ -3610,7 +3619,7 @@ resource_name = library--traceback replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--tracemalloc] +[o:python-doc:p:python-313:r:library--tracemalloc] file_filter = library/tracemalloc.po source_file = gettext/library/tracemalloc.pot type = PO @@ -3619,7 +3628,7 @@ resource_name = library--tracemalloc replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--tty] +[o:python-doc:p:python-313:r:library--tty] file_filter = library/tty.po source_file = gettext/library/tty.pot type = PO @@ -3628,7 +3637,7 @@ resource_name = library--tty replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--turtle] +[o:python-doc:p:python-313:r:library--turtle] file_filter = library/turtle.po source_file = gettext/library/turtle.pot type = PO @@ -3637,7 +3646,7 @@ resource_name = library--turtle replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--types] +[o:python-doc:p:python-313:r:library--types] file_filter = library/types.po source_file = gettext/library/types.pot type = PO @@ -3646,7 +3655,7 @@ resource_name = library--types replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--typing] +[o:python-doc:p:python-313:r:library--typing] file_filter = library/typing.po source_file = gettext/library/typing.pot type = PO @@ -3655,7 +3664,7 @@ resource_name = library--typing replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--unicodedata] +[o:python-doc:p:python-313:r:library--unicodedata] file_filter = library/unicodedata.po source_file = gettext/library/unicodedata.pot type = PO @@ -3664,7 +3673,7 @@ resource_name = library--unicodedata replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--unittest] +[o:python-doc:p:python-313:r:library--unittest] file_filter = library/unittest.po source_file = gettext/library/unittest.pot type = PO @@ -3673,7 +3682,7 @@ resource_name = library--unittest replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--unittest_mock] +[o:python-doc:p:python-313:r:library--unittest_mock] file_filter = library/unittest.mock.po source_file = gettext/library/unittest.mock.pot type = PO @@ -3682,7 +3691,7 @@ resource_name = library--unittest_mock replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--unittest_mock-examples] +[o:python-doc:p:python-313:r:library--unittest_mock-examples] file_filter = library/unittest.mock-examples.po source_file = gettext/library/unittest.mock-examples.pot type = PO @@ -3691,7 +3700,7 @@ resource_name = library--unittest_mock-examples replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--unix] +[o:python-doc:p:python-313:r:library--unix] file_filter = library/unix.po source_file = gettext/library/unix.pot type = PO @@ -3700,7 +3709,7 @@ resource_name = library--unix replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--urllib] +[o:python-doc:p:python-313:r:library--urllib] file_filter = library/urllib.po source_file = gettext/library/urllib.pot type = PO @@ -3709,7 +3718,7 @@ resource_name = library--urllib replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--urllib_error] +[o:python-doc:p:python-313:r:library--urllib_error] file_filter = library/urllib.error.po source_file = gettext/library/urllib.error.pot type = PO @@ -3718,7 +3727,7 @@ resource_name = library--urllib_error replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--urllib_parse] +[o:python-doc:p:python-313:r:library--urllib_parse] file_filter = library/urllib.parse.po source_file = gettext/library/urllib.parse.pot type = PO @@ -3727,7 +3736,7 @@ resource_name = library--urllib_parse replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--urllib_request] +[o:python-doc:p:python-313:r:library--urllib_request] file_filter = library/urllib.request.po source_file = gettext/library/urllib.request.pot type = PO @@ -3736,7 +3745,7 @@ resource_name = library--urllib_request replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--urllib_robotparser] +[o:python-doc:p:python-313:r:library--urllib_robotparser] file_filter = library/urllib.robotparser.po source_file = gettext/library/urllib.robotparser.pot type = PO @@ -3745,7 +3754,7 @@ resource_name = library--urllib_robotparser replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--uu] +[o:python-doc:p:python-313:r:library--uu] file_filter = library/uu.po source_file = gettext/library/uu.pot type = PO @@ -3754,7 +3763,7 @@ resource_name = library--uu replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--uuid] +[o:python-doc:p:python-313:r:library--uuid] file_filter = library/uuid.po source_file = gettext/library/uuid.pot type = PO @@ -3763,7 +3772,7 @@ resource_name = library--uuid replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--venv] +[o:python-doc:p:python-313:r:library--venv] file_filter = library/venv.po source_file = gettext/library/venv.pot type = PO @@ -3772,7 +3781,7 @@ resource_name = library--venv replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--warnings] +[o:python-doc:p:python-313:r:library--warnings] file_filter = library/warnings.po source_file = gettext/library/warnings.pot type = PO @@ -3781,7 +3790,7 @@ resource_name = library--warnings replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--wave] +[o:python-doc:p:python-313:r:library--wave] file_filter = library/wave.po source_file = gettext/library/wave.pot type = PO @@ -3790,7 +3799,7 @@ resource_name = library--wave replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--weakref] +[o:python-doc:p:python-313:r:library--weakref] file_filter = library/weakref.po source_file = gettext/library/weakref.pot type = PO @@ -3799,7 +3808,7 @@ resource_name = library--weakref replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--webbrowser] +[o:python-doc:p:python-313:r:library--webbrowser] file_filter = library/webbrowser.po source_file = gettext/library/webbrowser.pot type = PO @@ -3808,7 +3817,7 @@ resource_name = library--webbrowser replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--windows] +[o:python-doc:p:python-313:r:library--windows] file_filter = library/windows.po source_file = gettext/library/windows.pot type = PO @@ -3817,7 +3826,7 @@ resource_name = library--windows replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--winreg] +[o:python-doc:p:python-313:r:library--winreg] file_filter = library/winreg.po source_file = gettext/library/winreg.pot type = PO @@ -3826,7 +3835,7 @@ resource_name = library--winreg replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--winsound] +[o:python-doc:p:python-313:r:library--winsound] file_filter = library/winsound.po source_file = gettext/library/winsound.pot type = PO @@ -3835,7 +3844,7 @@ resource_name = library--winsound replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--wsgiref] +[o:python-doc:p:python-313:r:library--wsgiref] file_filter = library/wsgiref.po source_file = gettext/library/wsgiref.pot type = PO @@ -3844,7 +3853,7 @@ resource_name = library--wsgiref replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--xdrlib] +[o:python-doc:p:python-313:r:library--xdrlib] file_filter = library/xdrlib.po source_file = gettext/library/xdrlib.pot type = PO @@ -3853,7 +3862,7 @@ resource_name = library--xdrlib replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--xml] +[o:python-doc:p:python-313:r:library--xml] file_filter = library/xml.po source_file = gettext/library/xml.pot type = PO @@ -3862,7 +3871,7 @@ resource_name = library--xml replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--xml_dom] +[o:python-doc:p:python-313:r:library--xml_dom] file_filter = library/xml.dom.po source_file = gettext/library/xml.dom.pot type = PO @@ -3871,7 +3880,7 @@ resource_name = library--xml_dom replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--xml_dom_minidom] +[o:python-doc:p:python-313:r:library--xml_dom_minidom] file_filter = library/xml.dom.minidom.po source_file = gettext/library/xml.dom.minidom.pot type = PO @@ -3880,7 +3889,7 @@ resource_name = library--xml_dom_minidom replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--xml_dom_pulldom] +[o:python-doc:p:python-313:r:library--xml_dom_pulldom] file_filter = library/xml.dom.pulldom.po source_file = gettext/library/xml.dom.pulldom.pot type = PO @@ -3889,7 +3898,7 @@ resource_name = library--xml_dom_pulldom replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--xml_etree_elementtree] +[o:python-doc:p:python-313:r:library--xml_etree_elementtree] file_filter = library/xml.etree.elementtree.po source_file = gettext/library/xml.etree.elementtree.pot type = PO @@ -3898,7 +3907,7 @@ resource_name = library--xml_etree_elementtree replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--xml_sax] +[o:python-doc:p:python-313:r:library--xml_sax] file_filter = library/xml.sax.po source_file = gettext/library/xml.sax.pot type = PO @@ -3907,7 +3916,7 @@ resource_name = library--xml_sax replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--xml_sax_handler] +[o:python-doc:p:python-313:r:library--xml_sax_handler] file_filter = library/xml.sax.handler.po source_file = gettext/library/xml.sax.handler.pot type = PO @@ -3916,7 +3925,7 @@ resource_name = library--xml_sax_handler replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--xml_sax_reader] +[o:python-doc:p:python-313:r:library--xml_sax_reader] file_filter = library/xml.sax.reader.po source_file = gettext/library/xml.sax.reader.pot type = PO @@ -3925,7 +3934,7 @@ resource_name = library--xml_sax_reader replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--xml_sax_utils] +[o:python-doc:p:python-313:r:library--xml_sax_utils] file_filter = library/xml.sax.utils.po source_file = gettext/library/xml.sax.utils.pot type = PO @@ -3934,7 +3943,7 @@ resource_name = library--xml_sax_utils replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--xmlrpc] +[o:python-doc:p:python-313:r:library--xmlrpc] file_filter = library/xmlrpc.po source_file = gettext/library/xmlrpc.pot type = PO @@ -3943,7 +3952,7 @@ resource_name = library--xmlrpc replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--xmlrpc_client] +[o:python-doc:p:python-313:r:library--xmlrpc_client] file_filter = library/xmlrpc.client.po source_file = gettext/library/xmlrpc.client.pot type = PO @@ -3952,7 +3961,7 @@ resource_name = library--xmlrpc_client replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--xmlrpc_server] +[o:python-doc:p:python-313:r:library--xmlrpc_server] file_filter = library/xmlrpc.server.po source_file = gettext/library/xmlrpc.server.pot type = PO @@ -3961,7 +3970,7 @@ resource_name = library--xmlrpc_server replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--zipapp] +[o:python-doc:p:python-313:r:library--zipapp] file_filter = library/zipapp.po source_file = gettext/library/zipapp.pot type = PO @@ -3970,7 +3979,7 @@ resource_name = library--zipapp replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--zipfile] +[o:python-doc:p:python-313:r:library--zipfile] file_filter = library/zipfile.po source_file = gettext/library/zipfile.pot type = PO @@ -3979,7 +3988,7 @@ resource_name = library--zipfile replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--zipimport] +[o:python-doc:p:python-313:r:library--zipimport] file_filter = library/zipimport.po source_file = gettext/library/zipimport.pot type = PO @@ -3988,7 +3997,7 @@ resource_name = library--zipimport replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--zlib] +[o:python-doc:p:python-313:r:library--zlib] file_filter = library/zlib.po source_file = gettext/library/zlib.pot type = PO @@ -3997,7 +4006,7 @@ resource_name = library--zlib replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:library--zoneinfo] +[o:python-doc:p:python-313:r:library--zoneinfo] file_filter = library/zoneinfo.po source_file = gettext/library/zoneinfo.pot type = PO @@ -4006,7 +4015,7 @@ resource_name = library--zoneinfo replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:license] +[o:python-doc:p:python-313:r:license] file_filter = license.po source_file = gettext/license.pot type = PO @@ -4015,7 +4024,7 @@ resource_name = license replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:reference--compound_stmts] +[o:python-doc:p:python-313:r:reference--compound_stmts] file_filter = reference/compound_stmts.po source_file = gettext/reference/compound_stmts.pot type = PO @@ -4024,7 +4033,7 @@ resource_name = reference--compound_stmts replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:reference--datamodel] +[o:python-doc:p:python-313:r:reference--datamodel] file_filter = reference/datamodel.po source_file = gettext/reference/datamodel.pot type = PO @@ -4033,7 +4042,7 @@ resource_name = reference--datamodel replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:reference--executionmodel] +[o:python-doc:p:python-313:r:reference--executionmodel] file_filter = reference/executionmodel.po source_file = gettext/reference/executionmodel.pot type = PO @@ -4042,7 +4051,7 @@ resource_name = reference--executionmodel replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:reference--expressions] +[o:python-doc:p:python-313:r:reference--expressions] file_filter = reference/expressions.po source_file = gettext/reference/expressions.pot type = PO @@ -4051,7 +4060,7 @@ resource_name = reference--expressions replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:reference--grammar] +[o:python-doc:p:python-313:r:reference--grammar] file_filter = reference/grammar.po source_file = gettext/reference/grammar.pot type = PO @@ -4060,7 +4069,7 @@ resource_name = reference--grammar replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:reference--import] +[o:python-doc:p:python-313:r:reference--import] file_filter = reference/import.po source_file = gettext/reference/import.pot type = PO @@ -4069,7 +4078,7 @@ resource_name = reference--import replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:reference--index] +[o:python-doc:p:python-313:r:reference--index] file_filter = reference/index.po source_file = gettext/reference/index.pot type = PO @@ -4078,7 +4087,7 @@ resource_name = reference--index replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:reference--introduction] +[o:python-doc:p:python-313:r:reference--introduction] file_filter = reference/introduction.po source_file = gettext/reference/introduction.pot type = PO @@ -4087,7 +4096,7 @@ resource_name = reference--introduction replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:reference--lexical_analysis] +[o:python-doc:p:python-313:r:reference--lexical_analysis] file_filter = reference/lexical_analysis.po source_file = gettext/reference/lexical_analysis.pot type = PO @@ -4096,7 +4105,7 @@ resource_name = reference--lexical_analysis replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:reference--simple_stmts] +[o:python-doc:p:python-313:r:reference--simple_stmts] file_filter = reference/simple_stmts.po source_file = gettext/reference/simple_stmts.pot type = PO @@ -4105,7 +4114,7 @@ resource_name = reference--simple_stmts replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:reference--toplevel_components] +[o:python-doc:p:python-313:r:reference--toplevel_components] file_filter = reference/toplevel_components.po source_file = gettext/reference/toplevel_components.pot type = PO @@ -4114,7 +4123,7 @@ resource_name = reference--toplevel_components replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:sphinx] +[o:python-doc:p:python-313:r:sphinx] file_filter = sphinx.po source_file = gettext/sphinx.pot type = PO @@ -4123,7 +4132,7 @@ resource_name = sphinx replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:tutorial--appendix] +[o:python-doc:p:python-313:r:tutorial--appendix] file_filter = tutorial/appendix.po source_file = gettext/tutorial/appendix.pot type = PO @@ -4132,7 +4141,7 @@ resource_name = tutorial--appendix replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:tutorial--appetite] +[o:python-doc:p:python-313:r:tutorial--appetite] file_filter = tutorial/appetite.po source_file = gettext/tutorial/appetite.pot type = PO @@ -4141,7 +4150,7 @@ resource_name = tutorial--appetite replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:tutorial--classes] +[o:python-doc:p:python-313:r:tutorial--classes] file_filter = tutorial/classes.po source_file = gettext/tutorial/classes.pot type = PO @@ -4150,7 +4159,7 @@ resource_name = tutorial--classes replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:tutorial--controlflow] +[o:python-doc:p:python-313:r:tutorial--controlflow] file_filter = tutorial/controlflow.po source_file = gettext/tutorial/controlflow.pot type = PO @@ -4159,7 +4168,7 @@ resource_name = tutorial--controlflow replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:tutorial--datastructures] +[o:python-doc:p:python-313:r:tutorial--datastructures] file_filter = tutorial/datastructures.po source_file = gettext/tutorial/datastructures.pot type = PO @@ -4168,7 +4177,7 @@ resource_name = tutorial--datastructures replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:tutorial--errors] +[o:python-doc:p:python-313:r:tutorial--errors] file_filter = tutorial/errors.po source_file = gettext/tutorial/errors.pot type = PO @@ -4177,7 +4186,7 @@ resource_name = tutorial--errors replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:tutorial--floatingpoint] +[o:python-doc:p:python-313:r:tutorial--floatingpoint] file_filter = tutorial/floatingpoint.po source_file = gettext/tutorial/floatingpoint.pot type = PO @@ -4186,7 +4195,7 @@ resource_name = tutorial--floatingpoint replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:tutorial--index] +[o:python-doc:p:python-313:r:tutorial--index] file_filter = tutorial/index.po source_file = gettext/tutorial/index.pot type = PO @@ -4195,7 +4204,7 @@ resource_name = tutorial--index replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:tutorial--inputoutput] +[o:python-doc:p:python-313:r:tutorial--inputoutput] file_filter = tutorial/inputoutput.po source_file = gettext/tutorial/inputoutput.pot type = PO @@ -4204,7 +4213,7 @@ resource_name = tutorial--inputoutput replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:tutorial--interactive] +[o:python-doc:p:python-313:r:tutorial--interactive] file_filter = tutorial/interactive.po source_file = gettext/tutorial/interactive.pot type = PO @@ -4213,7 +4222,7 @@ resource_name = tutorial--interactive replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:tutorial--interpreter] +[o:python-doc:p:python-313:r:tutorial--interpreter] file_filter = tutorial/interpreter.po source_file = gettext/tutorial/interpreter.pot type = PO @@ -4222,7 +4231,7 @@ resource_name = tutorial--interpreter replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:tutorial--introduction] +[o:python-doc:p:python-313:r:tutorial--introduction] file_filter = tutorial/introduction.po source_file = gettext/tutorial/introduction.pot type = PO @@ -4231,7 +4240,7 @@ resource_name = tutorial--introduction replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:tutorial--modules] +[o:python-doc:p:python-313:r:tutorial--modules] file_filter = tutorial/modules.po source_file = gettext/tutorial/modules.pot type = PO @@ -4240,7 +4249,7 @@ resource_name = tutorial--modules replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:tutorial--stdlib] +[o:python-doc:p:python-313:r:tutorial--stdlib] file_filter = tutorial/stdlib.po source_file = gettext/tutorial/stdlib.pot type = PO @@ -4249,7 +4258,7 @@ resource_name = tutorial--stdlib replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:tutorial--stdlib2] +[o:python-doc:p:python-313:r:tutorial--stdlib2] file_filter = tutorial/stdlib2.po source_file = gettext/tutorial/stdlib2.pot type = PO @@ -4258,7 +4267,7 @@ resource_name = tutorial--stdlib2 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:tutorial--venv] +[o:python-doc:p:python-313:r:tutorial--venv] file_filter = tutorial/venv.po source_file = gettext/tutorial/venv.pot type = PO @@ -4267,7 +4276,7 @@ resource_name = tutorial--venv replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:tutorial--whatnow] +[o:python-doc:p:python-313:r:tutorial--whatnow] file_filter = tutorial/whatnow.po source_file = gettext/tutorial/whatnow.pot type = PO @@ -4276,7 +4285,7 @@ resource_name = tutorial--whatnow replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:using--android] +[o:python-doc:p:python-313:r:using--android] file_filter = using/android.po source_file = gettext/using/android.pot type = PO @@ -4285,7 +4294,7 @@ resource_name = using--android replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:using--cmdline] +[o:python-doc:p:python-313:r:using--cmdline] file_filter = using/cmdline.po source_file = gettext/using/cmdline.pot type = PO @@ -4294,7 +4303,7 @@ resource_name = using--cmdline replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:using--configure] +[o:python-doc:p:python-313:r:using--configure] file_filter = using/configure.po source_file = gettext/using/configure.pot type = PO @@ -4303,7 +4312,7 @@ resource_name = using--configure replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:using--editors] +[o:python-doc:p:python-313:r:using--editors] file_filter = using/editors.po source_file = gettext/using/editors.pot type = PO @@ -4312,7 +4321,7 @@ resource_name = using--editors replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:using--index] +[o:python-doc:p:python-313:r:using--index] file_filter = using/index.po source_file = gettext/using/index.pot type = PO @@ -4321,7 +4330,7 @@ resource_name = using--index replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:using--ios] +[o:python-doc:p:python-313:r:using--ios] file_filter = using/ios.po source_file = gettext/using/ios.pot type = PO @@ -4330,7 +4339,7 @@ resource_name = using--ios replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:using--mac] +[o:python-doc:p:python-313:r:using--mac] file_filter = using/mac.po source_file = gettext/using/mac.pot type = PO @@ -4339,7 +4348,7 @@ resource_name = using--mac replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:using--unix] +[o:python-doc:p:python-313:r:using--unix] file_filter = using/unix.po source_file = gettext/using/unix.pot type = PO @@ -4348,7 +4357,7 @@ resource_name = using--unix replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:using--windows] +[o:python-doc:p:python-313:r:using--windows] file_filter = using/windows.po source_file = gettext/using/windows.pot type = PO @@ -4357,7 +4366,7 @@ resource_name = using--windows replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:whatsnew--2_0] +[o:python-doc:p:python-313:r:whatsnew--2_0] file_filter = whatsnew/2.0.po source_file = gettext/whatsnew/2.0.pot type = PO @@ -4366,7 +4375,7 @@ resource_name = whatsnew--2_0 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:whatsnew--2_1] +[o:python-doc:p:python-313:r:whatsnew--2_1] file_filter = whatsnew/2.1.po source_file = gettext/whatsnew/2.1.pot type = PO @@ -4375,7 +4384,7 @@ resource_name = whatsnew--2_1 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:whatsnew--2_2] +[o:python-doc:p:python-313:r:whatsnew--2_2] file_filter = whatsnew/2.2.po source_file = gettext/whatsnew/2.2.pot type = PO @@ -4384,7 +4393,7 @@ resource_name = whatsnew--2_2 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:whatsnew--2_3] +[o:python-doc:p:python-313:r:whatsnew--2_3] file_filter = whatsnew/2.3.po source_file = gettext/whatsnew/2.3.pot type = PO @@ -4393,7 +4402,7 @@ resource_name = whatsnew--2_3 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:whatsnew--2_4] +[o:python-doc:p:python-313:r:whatsnew--2_4] file_filter = whatsnew/2.4.po source_file = gettext/whatsnew/2.4.pot type = PO @@ -4402,7 +4411,7 @@ resource_name = whatsnew--2_4 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:whatsnew--2_5] +[o:python-doc:p:python-313:r:whatsnew--2_5] file_filter = whatsnew/2.5.po source_file = gettext/whatsnew/2.5.pot type = PO @@ -4411,7 +4420,7 @@ resource_name = whatsnew--2_5 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:whatsnew--2_6] +[o:python-doc:p:python-313:r:whatsnew--2_6] file_filter = whatsnew/2.6.po source_file = gettext/whatsnew/2.6.pot type = PO @@ -4420,7 +4429,7 @@ resource_name = whatsnew--2_6 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:whatsnew--2_7] +[o:python-doc:p:python-313:r:whatsnew--2_7] file_filter = whatsnew/2.7.po source_file = gettext/whatsnew/2.7.pot type = PO @@ -4429,7 +4438,7 @@ resource_name = whatsnew--2_7 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:whatsnew--3_0] +[o:python-doc:p:python-313:r:whatsnew--3_0] file_filter = whatsnew/3.0.po source_file = gettext/whatsnew/3.0.pot type = PO @@ -4438,7 +4447,7 @@ resource_name = whatsnew--3_0 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:whatsnew--3_1] +[o:python-doc:p:python-313:r:whatsnew--3_1] file_filter = whatsnew/3.1.po source_file = gettext/whatsnew/3.1.pot type = PO @@ -4447,7 +4456,7 @@ resource_name = whatsnew--3_1 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:whatsnew--3_10] +[o:python-doc:p:python-313:r:whatsnew--3_10] file_filter = whatsnew/3.10.po source_file = gettext/whatsnew/3.10.pot type = PO @@ -4456,7 +4465,7 @@ resource_name = whatsnew--3_10 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:whatsnew--3_11] +[o:python-doc:p:python-313:r:whatsnew--3_11] file_filter = whatsnew/3.11.po source_file = gettext/whatsnew/3.11.pot type = PO @@ -4465,7 +4474,7 @@ resource_name = whatsnew--3_11 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:whatsnew--3_12] +[o:python-doc:p:python-313:r:whatsnew--3_12] file_filter = whatsnew/3.12.po source_file = gettext/whatsnew/3.12.pot type = PO @@ -4474,7 +4483,7 @@ resource_name = whatsnew--3_12 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:whatsnew--3_13] +[o:python-doc:p:python-313:r:whatsnew--3_13] file_filter = whatsnew/3.13.po source_file = gettext/whatsnew/3.13.pot type = PO @@ -4483,7 +4492,7 @@ resource_name = whatsnew--3_13 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:whatsnew--3_2] +[o:python-doc:p:python-313:r:whatsnew--3_2] file_filter = whatsnew/3.2.po source_file = gettext/whatsnew/3.2.pot type = PO @@ -4492,7 +4501,7 @@ resource_name = whatsnew--3_2 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:whatsnew--3_3] +[o:python-doc:p:python-313:r:whatsnew--3_3] file_filter = whatsnew/3.3.po source_file = gettext/whatsnew/3.3.pot type = PO @@ -4501,7 +4510,7 @@ resource_name = whatsnew--3_3 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:whatsnew--3_4] +[o:python-doc:p:python-313:r:whatsnew--3_4] file_filter = whatsnew/3.4.po source_file = gettext/whatsnew/3.4.pot type = PO @@ -4510,7 +4519,7 @@ resource_name = whatsnew--3_4 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:whatsnew--3_5] +[o:python-doc:p:python-313:r:whatsnew--3_5] file_filter = whatsnew/3.5.po source_file = gettext/whatsnew/3.5.pot type = PO @@ -4519,7 +4528,7 @@ resource_name = whatsnew--3_5 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:whatsnew--3_6] +[o:python-doc:p:python-313:r:whatsnew--3_6] file_filter = whatsnew/3.6.po source_file = gettext/whatsnew/3.6.pot type = PO @@ -4528,7 +4537,7 @@ resource_name = whatsnew--3_6 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:whatsnew--3_7] +[o:python-doc:p:python-313:r:whatsnew--3_7] file_filter = whatsnew/3.7.po source_file = gettext/whatsnew/3.7.pot type = PO @@ -4537,7 +4546,7 @@ resource_name = whatsnew--3_7 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:whatsnew--3_8] +[o:python-doc:p:python-313:r:whatsnew--3_8] file_filter = whatsnew/3.8.po source_file = gettext/whatsnew/3.8.pot type = PO @@ -4546,7 +4555,7 @@ resource_name = whatsnew--3_8 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:whatsnew--3_9] +[o:python-doc:p:python-313:r:whatsnew--3_9] file_filter = whatsnew/3.9.po source_file = gettext/whatsnew/3.9.pot type = PO @@ -4555,7 +4564,7 @@ resource_name = whatsnew--3_9 replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:whatsnew--changelog] +[o:python-doc:p:python-313:r:whatsnew--changelog] file_filter = whatsnew/changelog.po source_file = gettext/whatsnew/changelog.pot type = PO @@ -4564,7 +4573,7 @@ resource_name = whatsnew--changelog replace_edited_strings = false keep_translations = false -[o:python-doc:p:python-newest:r:whatsnew--index] +[o:python-doc:p:python-313:r:whatsnew--index] file_filter = whatsnew/index.po source_file = gettext/whatsnew/index.pot type = PO diff --git a/README.en.md b/README.en.md index ff488a289f..5580dbf432 100644 --- a/README.en.md +++ b/README.en.md @@ -13,8 +13,8 @@ f'''![build](https://github.com/python/python-docs-pl/actions/workflows/update-l ![{translators} Translators](https://img.shields.io/badge/Translators-{translators}-0.svg)''') ]]] --> ![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.953%25-0.svg) -![24 Translators](https://img.shields.io/badge/Translators-24-0.svg) +![Total Translation of Documentation](https://img.shields.io/badge/Total-16.973%25-0.svg) +![4 Translators](https://img.shields.io/badge/Translators-4-0.svg) *Przeczytaj to w innym języku: [polski](README.md)* diff --git a/README.md b/README.md index 92543db9f6..e3aad9fd9c 100644 --- a/README.md +++ b/README.md @@ -13,8 +13,8 @@ f'''![build](https://github.com/python/python-docs-pl/actions/workflows/update-l ![{translators} tłumaczy](https://img.shields.io/badge/tłumaczy-{translators}-0.svg)''') ]]] --> ![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.953%25-0.svg) -![24 tłumaczy](https://img.shields.io/badge/tłumaczy-24-0.svg) +![postęp tłumaczenia całości dokumentacji](https://img.shields.io/badge/całość-16.973%25-0.svg) +![4 tłumaczy](https://img.shields.io/badge/tłumaczy-4-0.svg) *Read this in another language: [English](README.en.md)* diff --git a/about.po b/about.po index 7d538f733c..07f0976135 100644 --- a/about.po +++ b/about.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 -# Maciej Olko , 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Maciej Olko , 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/bugs.po b/bugs.po index 215d168b82..685bafed80 100644 --- a/bugs.po +++ b/bugs.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Ciarbin , 2021 -# ac4a8e5d3d92195fc6d50ffd472aae19_7eb0c45, 2022 -# Maciej Olko , 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/abstract.po b/c-api/abstract.po index 3c41817d25..e8193c5fc5 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Krzysztof Wierzbicki , 2021\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/allocation.po b/c-api/allocation.po index 36375a8c3d..5e4ba621f7 100644 --- a/c-api/allocation.po +++ b/c-api/allocation.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Waldemar Stoczkowski, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Waldemar Stoczkowski, 2023\n" +"POT-Creation-Date: 2025-05-30 14:58+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" @@ -90,8 +89,8 @@ 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ń." diff --git a/c-api/apiabiversion.po b/c-api/apiabiversion.po index 65b0205a05..051f38afd7 100644 --- a/c-api/apiabiversion.po +++ b/c-api/apiabiversion.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Waldemar Stoczkowski, 2023 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/arg.po b/c-api/arg.po index adc19b5a50..9e5ec2c2cd 100644 --- a/c-api/arg.po +++ b/c-api/arg.po @@ -4,9 +4,7 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Waldemar Stoczkowski, 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" @@ -14,8 +12,8 @@ msgstr "" "Project-Id-Version: Python 3.13\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" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/bool.po b/c-api/bool.po index e317bc7893..928dba22cf 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/buffer.po b/c-api/buffer.po index 42fe8d7203..2299c53d9c 100644 --- a/c-api/buffer.po +++ b/c-api/buffer.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-02 14:19+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" @@ -44,19 +42,21 @@ msgid "" msgstr "" msgid "" -"Python provides such a facility at the C level in the form of the :ref:" -"`buffer protocol `. This protocol has two sides:" +"Python provides such a facility at the C and Python level in the form of " +"the :ref:`buffer protocol `. This protocol has two sides:" msgstr "" msgid "" "on the producer side, a type can export a \"buffer interface\" which allows " "objects of that type to expose information about their underlying buffer. " -"This interface is described in the section :ref:`buffer-structs`;" +"This interface is described in the section :ref:`buffer-structs`; for Python " +"see :ref:`python-buffer-protocol`." msgstr "" msgid "" "on the consumer side, several means are available to obtain a pointer to the " -"raw underlying data of an object (for example a method parameter)." +"raw underlying data of an object (for example a method parameter). For " +"Python see :class:`memoryview`." msgstr "" msgid "" @@ -96,6 +96,11 @@ msgid "" "resource leaks." msgstr "" +msgid "" +"The buffer protocol is now accessible in Python, see :ref:`python-buffer-" +"protocol` and :class:`memoryview`." +msgstr "" + msgid "Buffer structure" msgstr "" diff --git a/c-api/bytearray.po b/c-api/bytearray.po index 3fe2512fbc..235cde81e8 100644 --- a/c-api/bytearray.po +++ b/c-api/bytearray.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: haaritsubaki, 2023\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/bytes.po b/c-api/bytes.po index ee3ad6e346..725e6ced3f 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/call.po b/c-api/call.po index badd2f989b..62a7503a2f 100644 --- a/c-api/call.po +++ b/c-api/call.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/capsule.po b/c-api/capsule.po index 1a4ae7dc27..c894298543 100644 --- a/c-api/capsule.po +++ b/c-api/capsule.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: haaritsubaki, 2024\n" +"POT-Creation-Date: 2025-07-04 15:01+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" @@ -132,11 +132,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 56b5b045c4..40d59c1e91 100644 --- a/c-api/cell.po +++ b/c-api/cell.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Waldemar Stoczkowski, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Waldemar Stoczkowski, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/code.po b/c-api/code.po index 1a7d0080c4..f01323793c 100644 --- a/c-api/code.po +++ b/c-api/code.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: haaritsubaki, 2024\n" +"POT-Creation-Date: 2025-05-30 14:58+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" @@ -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 "" diff --git a/c-api/complex.po b/c-api/complex.po index ebf255047f..6d3b29151f 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/concrete.po b/c-api/concrete.po index 6759741071..bc2ea3735f 100644 --- a/c-api/concrete.po +++ b/c-api/concrete.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Waldemar Stoczkowski, 2023 -# haaritsubaki, 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/contextvars.po b/c-api/contextvars.po index fbc94180fc..97f0198222 100644 --- a/c-api/contextvars.po +++ b/c-api/contextvars.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/datetime.po b/c-api/datetime.po index 9678df1c96..20ea509f26 100644 --- a/c-api/datetime.po +++ b/c-api/datetime.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/dict.po b/c-api/dict.po index 6a0dc2c096..5c5b87561f 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-02-21 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/exceptions.po b/c-api/exceptions.po index 3181743309..223ab7f86e 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" @@ -703,6 +701,14 @@ 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" @@ -894,349 +900,189 @@ msgid "" "c:func:`Py_ReprEnter` that returns zero." msgstr "" -msgid "Standard Exceptions" -msgstr "Sztandarowe Sytuacje Wyjątkowe" +msgid "Exception and warning types" +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:" +"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 "C Name" -msgstr "Nazwa C" +msgid "For completeness, here are all the variables:" +msgstr "" -msgid "Python Name" -msgstr "Nazwa w języku pytonowskim" +msgid "Exception types" +msgstr "" -msgid "Notes" -msgstr "Notatki" +msgid "C name" +msgstr "" -msgid ":c:data:`PyExc_BaseException`" -msgstr ":c:data:`PyExc_BaseException`" +msgid "Python name" +msgstr "" msgid ":exc:`BaseException`" msgstr ":exc:`BaseException`" -msgid "[1]_" +msgid ":exc:`BaseExceptionGroup`" msgstr "" -msgid ":c:data:`PyExc_Exception`" -msgstr ":c:data:`PyExc_Exception`" - 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`" @@ -1257,122 +1103,75 @@ msgstr "" msgid ":c:data:`PyExc_ModuleNotFoundError`." msgstr ":c:data:`PyExc_ModuleNotFoundError`." -msgid "These are compatibility aliases to :c:data:`PyExc_OSError`:" +msgid ":c:data:`PyExc_BaseExceptionGroup`." msgstr "" -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 "This is a base class for other standard exceptions." -msgstr "" -"To jest podstawowy rodzaj przedmiotu dla innych sztandarowych sytuacji " -"wyjątkowych." +msgid "Notes" +msgstr "Notatki" -msgid "" -"Only defined on Windows; protect code that uses this by testing that the " -"preprocessor macro ``MS_WINDOWS`` is defined." +msgid "[win]_" 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 "" 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." +msgid ":c:data:`PyExc_EncodingWarning`." msgstr "" msgid "strerror (C function)" @@ -1389,207 +1188,3 @@ 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 "PyExc_MemoryError (C var)" -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)" -msgstr "" - -msgid "PyExc_BytesWarning (C var)" -msgstr "" - -msgid "PyExc_DeprecationWarning (C var)" -msgstr "" - -msgid "PyExc_FutureWarning (C var)" -msgstr "" - -msgid "PyExc_ImportWarning (C var)" -msgstr "" - -msgid "PyExc_PendingDeprecationWarning (C var)" -msgstr "" - -msgid "PyExc_ResourceWarning (C var)" -msgstr "" - -msgid "PyExc_RuntimeWarning (C var)" -msgstr "" - -msgid "PyExc_SyntaxWarning (C var)" -msgstr "" - -msgid "PyExc_UnicodeWarning (C var)" -msgstr "" - -msgid "PyExc_UserWarning (C var)" -msgstr "" diff --git a/c-api/file.po b/c-api/file.po index db4d8af6b8..4d591e82b8 100644 --- a/c-api/file.po +++ b/c-api/file.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Michał Frontczak, 2021 -# haaritsubaki, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: haaritsubaki, 2023\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/float.po b/c-api/float.po index a8c454743b..e84a987f57 100644 --- a/c-api/float.po +++ b/c-api/float.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: haaritsubaki, 2023\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/function.po b/c-api/function.po index 58ced46cf2..0243813aa5 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: haaritsubaki, 2023\n" +"POT-Creation-Date: 2025-06-27 14:55+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" @@ -105,6 +103,11 @@ 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 "" "Return the closure associated with the function object *op*. This can be " "``NULL`` or a tuple of cell objects." @@ -125,6 +128,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 " @@ -174,7 +183,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 edcde1cd8c..cddf6393c4 100644 --- a/c-api/gcsupport.po +++ b/c-api/gcsupport.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-05-23 14:55+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" @@ -224,9 +224,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 c29b375f9e..34e59d5a7a 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/index.po b/c-api/index.po index d82c3bfd39..8dc12b0c98 100644 --- a/c-api/index.po +++ b/c-api/index.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/init.po b/c-api/init.po index f51c6e3246..7d0531648b 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-06-13 15:01+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" @@ -590,18 +589,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 "" @@ -646,9 +635,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 "" @@ -657,16 +645,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 "" @@ -1250,8 +1234,12 @@ msgstr "" msgid "" "Swap the current thread state with the thread state given by the argument " -"*tstate*, which may be ``NULL``. The global interpreter lock must be held " -"and is not released." +"*tstate*, which may be ``NULL``." +msgstr "" + +msgid "" +"The :term:`GIL` does not need to be held, but will be held upon returning if " +"*tstate* is non-``NULL``." msgstr "" msgid "" diff --git a/c-api/init_config.po b/c-api/init_config.po index 79c96df816..fbb8490f2f 100644 --- a/c-api/init_config.po +++ b/c-api/init_config.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 -# Rafael Fontenelle , 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2024\n" +"POT-Creation-Date: 2025-03-14 14:17+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/intro.po b/c-api/intro.po index bd0e671f35..4255e79efa 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\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: 2025-05-30 14:58+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" @@ -212,7 +208,7 @@ msgstr "" msgid "" "static struct PyModuleDef spam_module = {\n" -" PyModuleDef_HEAD_INIT,\n" +" .m_base = PyModuleDef_HEAD_INIT,\n" " .m_name = \"spam\",\n" " ...\n" "};\n" @@ -220,7 +216,7 @@ msgid "" "PyMODINIT_FUNC\n" "PyInit_spam(void)\n" "{\n" -" return PyModule_Create(&spam_module);\n" +" return PyModuleDef_Init(&spam_module);\n" "}" msgstr "" @@ -1013,6 +1009,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: -# haaritsubaki, 2023 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/long.po b/c-api/long.po index 1821fd43a7..e8ff645fb0 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-06-27 14:55+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" @@ -344,10 +342,10 @@ msgid "" 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 "" diff --git a/c-api/mapping.po b/c-api/mapping.po index d8dd6474e5..9e81120e2f 100644 --- a/c-api/mapping.po +++ b/c-api/mapping.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/memory.po b/c-api/memory.po index 1d823a8221..d6a0bb4864 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-25 15:00+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" @@ -860,6 +858,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 "" diff --git a/c-api/memoryview.po b/c-api/memoryview.po index ac83d71139..edbdd7a7aa 100644 --- a/c-api/memoryview.po +++ b/c-api/memoryview.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: haaritsubaki, 2023\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/method.po b/c-api/method.po index 895c628633..1c95b29918 100644 --- a/c-api/method.po +++ b/c-api/method.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Maciej Olko , 2024 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/module.po b/c-api/module.po index 688da7eb9d..cd3b1b3196 100644 --- a/c-api/module.po +++ b/c-api/module.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# haaritsubaki, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: haaritsubaki, 2023\n" +"POT-Creation-Date: 2025-06-06 14:57+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" @@ -266,26 +265,46 @@ msgid "" "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." +"The distinction is similar to the :py:meth:`~object.__new__` and :py:meth:" +"`~object.__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`)." +"not singletons. For example, if the :py:attr:`sys.modules` entry is removed " +"and the module is re-imported, a new module object is created, and typically " +"populated with fresh method and type objects. The old module is subject to " +"normal garbage collection. This mirrors the behavior of pure-Python modules." +msgstr "" + +msgid "" +"Additional module instances may be created in :ref:`sub-interpreters ` or after after Python runtime reinitialization (:c:" +"func:`Py_Finalize` and :c:func:`Py_Initialize`). In these cases, sharing " +"Python objects between module instances would likely cause crashes or " +"undefined behavior." +msgstr "" + +msgid "" +"To avoid such issues, each instance of an extension module should be " +"*isolated*: changes to one instance should not implicitly affect the others, " +"and all state, including references to Python objects, should be specific to " +"a particular module instance. See :ref:`isolating-extensions-howto` for more " +"details and a practical guide." +msgstr "" + +msgid "" +"A simpler way to avoid these issues is :ref:`raising an error on repeated " +"initialization `." 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." +"support :ref:`sub-interpreters `, or otherwise " +"explicitly signal a lack of support. This is usually achieved by isolation " +"or blocking repeated initialization, as above. A module may also be limited " +"to the main interpreter using the :c:data:`Py_mod_multiple_interpreters` " +"slot." msgstr "" msgid "" diff --git a/c-api/monitoring.po b/c-api/monitoring.po index b82aaae41d..08b0060f31 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2024-05-11 01:07+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-03-21 14:18+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/none.po b/c-api/none.po index db3ede2a11..13ee71ead4 100644 --- a/c-api/none.po +++ b/c-api/none.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: haaritsubaki, 2023\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/number.po b/c-api/number.po index 5ea2a42b26..f2fd17c7f3 100644 --- a/c-api/number.po +++ b/c-api/number.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# haaritsubaki, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: haaritsubaki, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:20+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" diff --git a/c-api/object.po b/c-api/object.po index 90a823269f..cf56b1edb0 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-10 14:17+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/c-api/refcounting.po b/c-api/refcounting.po index 4320256793..6bd8a48f9a 100644 --- a/c-api/refcounting.po +++ b/c-api/refcounting.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2025-06-20 14:58+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -230,7 +230,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 151ab007d8..81b4efb105 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/c-api/set.po b/c-api/set.po index 783192cc12..f434c5b01f 100644 --- a/c-api/set.po +++ b/c-api/set.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/c-api/slice.po b/c-api/slice.po index 2fe40cb5ef..75b9c217e7 100644 --- a/c-api/slice.po +++ b/c-api/slice.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2025, 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.13\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-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-05-08 05:08+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" @@ -40,8 +40,12 @@ msgid "" "Return a new slice object with the given values. The *start*, *stop*, and " "*step* parameters are used as the values of the slice object attributes of " "the same names. Any of the values may be ``NULL``, in which case the " -"``None`` will be used for the corresponding attribute. Return ``NULL`` if " -"the new object could not be allocated." +"``None`` will be used for the corresponding attribute." +msgstr "" + +msgid "" +"Return ``NULL`` with an exception set if the new object could not be " +"allocated." msgstr "" msgid "" @@ -52,7 +56,7 @@ msgstr "" msgid "" "Returns ``0`` on success and ``-1`` on error with no exception set (unless " -"one of the indices was not :const:`None` and failed to be converted to an " +"one of the indices was not ``None`` and failed to be converted to an " "integer, in which case ``-1`` is returned with an exception set)." msgstr "" @@ -71,7 +75,7 @@ msgid "" "normal slices." msgstr "" -msgid "Returns ``0`` on success and ``-1`` on error with exception set." +msgid "Return ``0`` on success and ``-1`` on error with an exception set." msgstr "" msgid "" @@ -80,9 +84,23 @@ msgid "" "`PySlice_AdjustIndices` where ::" msgstr "" +msgid "" +"if (PySlice_GetIndicesEx(slice, length, &start, &stop, &step, &slicelength) " +"< 0) {\n" +" // return error\n" +"}" +msgstr "" + msgid "is replaced by ::" msgstr "" +msgid "" +"if (PySlice_Unpack(slice, &start, &stop, &step) < 0) {\n" +" // return error\n" +"}\n" +"slicelength = PySlice_AdjustIndices(length, &start, &stop, step);" +msgstr "" + msgid "" "If ``Py_LIMITED_API`` is not set or set to the value between ``0x03050400`` " "and ``0x03060000`` (not including) or ``0x03060100`` or higher :c:func:`!" @@ -105,8 +123,10 @@ msgid "" "less than ``-PY_SSIZE_T_MAX`` to ``-PY_SSIZE_T_MAX``." msgstr "" -msgid "Return ``-1`` on error, ``0`` on success." +msgid "Return ``-1`` with an exception set on error, ``0`` on success." msgstr "" +"Возвращает ``-1`` с установленным исключением в случае ошибки и ``0`` в " +"случае успеха." msgid "" "Adjust start/end slice indices assuming a sequence of the specified length. " @@ -123,7 +143,14 @@ msgid "Ellipsis Object" msgstr "" msgid "" -"The Python ``Ellipsis`` object. This object has no methods. It needs to be " -"treated just like any other object with respect to reference counts. Like :" -"c:data:`Py_None` it is a singleton object." +"The type of Python :const:`Ellipsis` object. Same as :class:`types." +"EllipsisType` in the Python layer." +msgstr "" + +msgid "" +"The Python ``Ellipsis`` object. This object has no methods. Like :c:data:" +"`Py_None`, it is an :term:`immortal` singleton object." +msgstr "" + +msgid ":c:data:`Py_Ellipsis` is immortal." msgstr "" diff --git a/c-api/stable.po b/c-api/stable.po index de1348b3ed..4cbe0a7805 100644 --- a/c-api/stable.po +++ b/c-api/stable.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/c-api/structures.po b/c-api/structures.po index 9e804ee9ff..cdf63cf533 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-03-14 14:17+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/c-api/sys.po b/c-api/sys.po index 77d7826c8f..76dfbd012e 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-2025, 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.13\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-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-05-08 05:08+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,8 +216,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 "System Functions" @@ -245,39 +246,7 @@ msgid "" "prior to :c:func:`Py_Initialize`." msgstr "" -msgid "" -"This API is kept for backward compatibility: setting :c:member:`PyConfig." -"warnoptions` should be used instead, see :ref:`Python Initialization " -"Configuration `." -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." -msgstr "" - -msgid "Append *unicode* to :data:`sys.warnoptions`." -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." -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 `." -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)." +msgid "Clear :data:`sys.warnoptions` and :data:`!warnings.filters` instead." msgstr "" msgid "" @@ -316,18 +285,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 +295,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 +319,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 +344,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 +356,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 the GIL held by the Python " +"interpreter that raised the event." msgstr "" msgid "" @@ -395,18 +367,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 +389,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 +422,19 @@ msgid "" "should be called by *func*." msgstr "" -msgid "abort()" +msgid ":c:func:`PyUnstable_AtExit` for passing a ``void *data`` argument." msgstr "" -msgid "Py_FinalizeEx()" +msgid "USE_STACKCHECK (C macro)" msgstr "" -msgid "exit()" +msgid "abort (C function)" +msgstr "" + +msgid "Py_FinalizeEx (C function)" +msgstr "Py_FinalizeEx (C функция)" + +msgid "exit (C function)" msgstr "" msgid "cleanup functions" diff --git a/c-api/time.po b/c-api/time.po index ea90c067ff..22cf5f6185 100644 --- a/c-api/time.po +++ b/c-api/time.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2024-05-11 01:07+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/c-api/tuple.po b/c-api/tuple.po index aab1fce529..aa4f438f43 100644 --- a/c-api/tuple.po +++ b/c-api/tuple.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Rafael Fontenelle , 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/c-api/type.po b/c-api/type.po index e62ea9255d..b3e18dc995 100644 --- a/c-api/type.po +++ b/c-api/type.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-06-20 14:58+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -265,6 +264,12 @@ msgid "" "type:`PyCMethod` calling convention." 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 "Attempt to assign a version tag to the given type." msgstr "" diff --git a/c-api/typeobj.po b/c-api/typeobj.po index 771b9cc10f..d6af424299 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-30 14:58+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -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 "" @@ -1674,8 +1677,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." diff --git a/c-api/unicode.po b/c-api/unicode.po index 581caa8af8..01b2126f94 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-30 14:58+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -80,10 +79,15 @@ msgid "" msgstr "" msgid "" -"This instance of :c:type:`PyTypeObject` represents the Python Unicode type. " +"This instance of :c:type:`PyTypeObject` represents the Python Unicode type. " "It is exposed to Python code as ``str``." msgstr "" +msgid "" +"This instance of :c:type:`PyTypeObject` represents the Python Unicode " +"iterator type. It is used to iterate over Unicode string objects." +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:" @@ -683,6 +687,14 @@ msgid "" "for decref'ing the returned objects." msgstr "" +msgid "" +"Return a mapping suitable for decoding a custom single-byte encoding. Given " +"a Unicode string *string* of up to 256 characters representing an encoding " +"table, returns either a compact internal mapping object or a dictionary " +"mapping character ordinals to byte values. Raises a :exc:`TypeError` and " +"return ``NULL`` on invalid input. .. versionadded:: 3.2" +msgstr "" + msgid "" "Return the name of the default string encoding, ``\"utf-8\"``. See :func:" "`sys.getdefaultencoding`." @@ -1390,9 +1402,6 @@ msgid "" "c:macro:`!CP_ACP` code page to get the MBCS encoder." msgstr "" -msgid "Methods & Slots" -msgstr "" - msgid "Methods and Slot Functions" msgstr "" @@ -1618,6 +1627,3 @@ msgid "" "prefer calling :c:func:`PyUnicode_FromString` and :c:func:" "`PyUnicode_InternInPlace` directly." msgstr "" - -msgid "Strings interned this way are made :term:`immortal`." -msgstr "" diff --git a/c-api/utilities.po b/c-api/utilities.po index 8c5a4a6556..147bbbf0c2 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-2025, 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.13\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-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-05-08 05:08+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/veryhigh.po b/c-api/veryhigh.po index 26fa6cbadd..018ac4a5ab 100644 --- a/c-api/veryhigh.po +++ b/c-api/veryhigh.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2025, 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.13\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-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-05-08 05:08+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,14 +34,14 @@ msgstr "" msgid "" "Several of these functions accept a start symbol from the grammar as a " -"parameter. The available start symbols are :const:`Py_eval_input`, :const:" -"`Py_file_input`, and :const:`Py_single_input`. These are described " +"parameter. The available start symbols are :c:data:`Py_eval_input`, :c:data:" +"`Py_file_input`, and :c:data:`Py_single_input`. These are described " "following the functions which accept them as parameters." msgstr "" msgid "" "Note also that several of these functions take :c:expr:`FILE*` parameters. " -"One particular issue which needs to be handled carefully is that the :c:expr:" +"One particular issue which needs to be handled carefully is that the :c:type:" "`FILE` structure for different C libraries can be different and " "incompatible. Under Windows (at least), it is possible for dynamically " "linked extensions to actually use different libraries, so care should be " @@ -50,27 +50,6 @@ msgid "" "runtime is using." msgstr "" -msgid "" -"The main program for the standard interpreter. This is made available for " -"programs which embed Python. The *argc* and *argv* parameters should be " -"prepared exactly as those which are passed to a C program's :c:func:`main` " -"function (converted to wchar_t according to the user's locale). It is " -"important to note that the argument list may be modified (but the contents " -"of the strings pointed to by the argument list are not). 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 parameter 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." -msgstr "" - -msgid "Similar to :c:func:`Py_Main` but *argv* is an array of bytes strings." -msgstr "" - msgid "" "This is a simplified interface to :c:func:`PyRun_AnyFileExFlags` below, " "leaving *closeit* set to ``0`` and *flags* set to ``NULL``." @@ -111,8 +90,8 @@ 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." +"function will not return ``-1``, but exit the process, as long as :c:member:" +"`PyConfig.inspect` is zero." msgstr "" msgid "" @@ -180,6 +159,11 @@ msgid "" "the Python source code." msgstr "" +msgid "" +"This function is only called from the :ref:`main interpreter `." +msgstr "" + msgid "" "Can be set to point to a function with the prototype ``char *func(FILE " "*stdin, FILE *stdout, char *prompt)``, overriding the default function used " @@ -255,8 +239,8 @@ msgstr "" msgid "" "Parse and compile the Python source code in *str*, returning the resulting " "code object. The start token is given by *start*; this can be used to " -"constrain the code which can be compiled and should be :const:" -"`Py_eval_input`, :const:`Py_file_input`, or :const:`Py_single_input`. The " +"constrain the code which can be compiled and should be :c:data:" +"`Py_eval_input`, :c:data:`Py_file_input`, or :c:data:`Py_single_input`. The " "filename specified by *filename* is used to construct the code object and " "may appear in tracebacks or :exc:`SyntaxError` exception messages. This " "returns ``NULL`` if the code cannot be parsed or compiled." @@ -307,6 +291,8 @@ msgid "" "This function now includes a debug assertion to help ensure that it does not " "silently discard an active exception." msgstr "" +"Ця функція тепер включає твердження налагодження, щоб гарантувати, що вона " +"не відкидає мовчки активний виняток." msgid "" "This function changes the flags of the current evaluation frame, and returns " @@ -338,9 +324,9 @@ msgid "" msgstr "" msgid "" -"Whenever ``PyCompilerFlags *flags`` is ``NULL``, :attr:`cf_flags` is treated " -"as equal to ``0``, and any modification due to ``from __future__ import`` is " -"discarded." +"Whenever ``PyCompilerFlags *flags`` is ``NULL``, :c:member:`~PyCompilerFlags." +"cf_flags` is treated as equal to ``0``, and any modification due to ``from " +"__future__ import`` is discarded." msgstr "" msgid "Compiler flags." @@ -353,16 +339,24 @@ msgstr "" msgid "" "The field is ignored by default, it is used if and only if ``PyCF_ONLY_AST`` " -"flag is set in *cf_flags*." +"flag is set in :c:member:`~PyCompilerFlags.cf_flags`." msgstr "" msgid "Added *cf_feature_version* field." msgstr "" +msgid "The available compiler flags are accessible as macros:" +msgstr "" + +msgid "" +"See :ref:`compiler flags ` in documentation of the :py:" +"mod:`!ast` Python module, which exports these constants under the same names." +msgstr "" + msgid "" "This bit can be set in *flags* to cause division operator ``/`` to be " "interpreted as \"true division\" according to :pep:`238`." msgstr "" -msgid "Py_CompileString()" +msgid "Py_CompileString (C function)" msgstr "" diff --git a/c-api/weakref.po b/c-api/weakref.po index eff2688aa7..ef74922c75 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-2025, 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.13\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-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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,6 +97,9 @@ msgid "" "reference." msgstr "" +msgid "Use :c:func:`PyWeakref_GetRef` instead." +msgstr "" + msgid "Similar to :c:func:`PyWeakref_GetObject`, but does no error checking." msgstr "" @@ -92,3 +113,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 8e3f680c62..703db04c03 100644 --- a/contents.po +++ b/contents.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/copyright.po b/copyright.po index 8a85606f22..2451c7a86b 100644 --- a/copyright.po +++ b/copyright.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/deprecations/c-api-pending-removal-in-3.14.po b/deprecations/c-api-pending-removal-in-3.14.po new file mode 100644 index 0000000000..8089964f54 --- /dev/null +++ b/deprecations/c-api-pending-removal-in-3.14.po @@ -0,0 +1,167 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2025, 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.13\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-05-08 05:08+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 "Pending Removal in Python 3.14" +msgstr "Ausstehende Entfernungen in Python 3.14" + +msgid "" +"The ``ma_version_tag`` field in :c:type:`PyDictObject` for extension modules " +"(:pep:`699`; :gh:`101193`)." +msgstr "" +"Поле ma_version_tag в :c:type:`PyDictObject` для модулей расширения (:pep:" +"`699`; :gh:`101193`)." + +msgid "" +"Creating :c:data:`immutable types ` with mutable " +"bases (:gh:`95388`)." +msgstr "" +"Создание :c:data:`неизменяемых типов ` с " +"изменяемыми базами (:gh:`95388`)." + +msgid "" +"Functions to configure Python's initialization, deprecated in Python 3.11:" +msgstr "Функции для настройки инициализации Python, устаревшие в Python 3.11:" + +msgid ":c:func:`!PySys_SetArgvEx()`: Set :c:member:`PyConfig.argv` instead." +msgstr "" +":c:func:`!PySys_SetArgvEx()`: Вместо этого установите :c:member:`PyConfig." +"argv`." + +msgid ":c:func:`!PySys_SetArgv()`: Set :c:member:`PyConfig.argv` instead." +msgstr "" +":c:func:`!PySys_SetArgv()`: Вместо этого установите :c:member:`PyConfig." +"argv`." + +msgid "" +":c:func:`!Py_SetProgramName()`: Set :c:member:`PyConfig.program_name` " +"instead." +msgstr "" +":c:func:`!Py_SetProgramName()`: Вместо этого установите :c:member:`PyConfig." +"program_name`." + +msgid ":c:func:`!Py_SetPythonHome()`: Set :c:member:`PyConfig.home` instead." +msgstr "" +":c:func:`!Py_SetPythonHome()`: Вместо этого установите :c:member:`PyConfig." +"home`." + +msgid "" +"The :c:func:`Py_InitializeFromConfig` API should be used with :c:type:" +"`PyConfig` instead." +msgstr "" +"Вместо этого API :c:func:`Py_InitializeFromConfig` следует использовать с :c:" +"type:`PyConfig`." + +msgid "Global configuration variables:" +msgstr "Глобальные переменные конфигурации:" + +msgid ":c:var:`Py_DebugFlag`: Use :c:member:`PyConfig.parser_debug` instead." +msgstr "" + +msgid ":c:var:`Py_VerboseFlag`: Use :c:member:`PyConfig.verbose` instead." +msgstr "" + +msgid ":c:var:`Py_QuietFlag`: Use :c:member:`PyConfig.quiet` instead." +msgstr "" + +msgid "" +":c:var:`Py_InteractiveFlag`: Use :c:member:`PyConfig.interactive` instead." +msgstr "" + +msgid ":c:var:`Py_InspectFlag`: Use :c:member:`PyConfig.inspect` instead." +msgstr "" + +msgid "" +":c:var:`Py_OptimizeFlag`: Use :c:member:`PyConfig.optimization_level` " +"instead." +msgstr "" + +msgid ":c:var:`Py_NoSiteFlag`: Use :c:member:`PyConfig.site_import` instead." +msgstr "" + +msgid "" +":c:var:`Py_BytesWarningFlag`: Use :c:member:`PyConfig.bytes_warning` instead." +msgstr "" + +msgid "" +":c:var:`Py_FrozenFlag`: Use :c:member:`PyConfig.pathconfig_warnings` instead." +msgstr "" + +msgid "" +":c:var:`Py_IgnoreEnvironmentFlag`: Use :c:member:`PyConfig.use_environment` " +"instead." +msgstr "" + +msgid "" +":c:var:`Py_DontWriteBytecodeFlag`: Use :c:member:`PyConfig.write_bytecode` " +"instead." +msgstr "" + +msgid "" +":c:var:`Py_NoUserSiteDirectory`: Use :c:member:`PyConfig." +"user_site_directory` instead." +msgstr "" + +msgid "" +":c:var:`Py_UnbufferedStdioFlag`: Use :c:member:`PyConfig.buffered_stdio` " +"instead." +msgstr "" + +msgid "" +":c:var:`Py_HashRandomizationFlag`: Use :c:member:`PyConfig.use_hash_seed` " +"and :c:member:`PyConfig.hash_seed` instead." +msgstr "" + +msgid ":c:var:`Py_IsolatedFlag`: Use :c:member:`PyConfig.isolated` instead." +msgstr "" + +msgid "" +":c:var:`Py_LegacyWindowsFSEncodingFlag`: Use :c:member:`PyPreConfig." +"legacy_windows_fs_encoding` instead." +msgstr "" + +msgid "" +":c:var:`Py_LegacyWindowsStdioFlag`: Use :c:member:`PyConfig." +"legacy_windows_stdio` instead." +msgstr "" + +msgid "" +":c:var:`!Py_FileSystemDefaultEncoding`: Use :c:member:`PyConfig." +"filesystem_encoding` instead." +msgstr "" + +msgid "" +":c:var:`!Py_HasFileSystemDefaultEncoding`: Use :c:member:`PyConfig." +"filesystem_encoding` instead." +msgstr "" + +msgid "" +":c:var:`!Py_FileSystemDefaultEncodeErrors`: Use :c:member:`PyConfig." +"filesystem_errors` instead." +msgstr "" + +msgid "" +":c:var:`!Py_UTF8Mode`: Use :c:member:`PyPreConfig.utf8_mode` instead. (see :" +"c:func:`Py_PreInitialize`)" +msgstr "" diff --git a/deprecations/c-api-pending-removal-in-3.15.po b/deprecations/c-api-pending-removal-in-3.15.po new file mode 100644 index 0000000000..ff543b9ae0 --- /dev/null +++ b/deprecations/c-api-pending-removal-in-3.15.po @@ -0,0 +1,85 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2025, 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.13\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-05-08 05:09+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 "Pending Removal in Python 3.15" +msgstr "" + +msgid "" +"The :c:func:`PyImport_ImportModuleNoBlock`: Use :c:func:" +"`PyImport_ImportModule` instead." +msgstr "" +":c:func:`PyImport_ImportModuleNoBlock`: вместо этого используйте :c:func:" +"`PyImport_ImportModule`." + +msgid "" +":c:func:`PyWeakref_GetObject` and :c:func:`PyWeakref_GET_OBJECT`: Use :c:" +"func:`PyWeakref_GetRef` instead." +msgstr "" + +msgid "" +":c:type:`Py_UNICODE` type and the :c:macro:`!Py_UNICODE_WIDE` macro: Use :c:" +"type:`wchar_t` instead." +msgstr "" +"Тип :c:type:`Py_UNICODE` и макрос :c:macro:`!Py_UNICODE_WIDE`: вместо этого " +"используйте :c:type:`wchar_t`." + +msgid "Python initialization functions:" +msgstr "" + +msgid "" +":c:func:`PySys_ResetWarnOptions`: Clear :data:`sys.warnoptions` and :data:`!" +"warnings.filters` instead." +msgstr "" +":c:func:`PySys_ResetWarnOptions`: Вместо этого очистите :data:`sys." +"warnoptions` и :data:`!warnings.filters`." + +msgid "" +":c:func:`Py_GetExecPrefix`: Get :data:`sys.base_exec_prefix` and :data:`sys." +"exec_prefix` instead." +msgstr "" + +msgid ":c:func:`Py_GetPath`: Get :data:`sys.path` instead." +msgstr ":c:func:`Py_GetPath`: Вместо этого получите :data:`sys.path`." + +msgid "" +":c:func:`Py_GetPrefix`: Get :data:`sys.base_prefix` and :data:`sys.prefix` " +"instead." +msgstr "" + +msgid ":c:func:`Py_GetProgramFullPath`: Get :data:`sys.executable` instead." +msgstr "" +":c:func:`Py_GetProgramFullPath`: Вместо этого получите :data:`sys." +"executable`." + +msgid ":c:func:`Py_GetProgramName`: Get :data:`sys.executable` instead." +msgstr "" +":c:func:`Py_GetProgramName`: Вместо этого получите :data:`sys.executable`." + +msgid "" +":c:func:`Py_GetPythonHome`: Get :c:member:`PyConfig.home` or the :envvar:" +"`PYTHONHOME` environment variable instead." +msgstr "" +":c:func:`Py_GetPythonHome`: Вместо этого получите :c:member:`PyConfig.home` " +"или переменную среды :envvar:`PYTHONHOME`." diff --git a/deprecations/c-api-pending-removal-in-3.16.po b/deprecations/c-api-pending-removal-in-3.16.po new file mode 100644 index 0000000000..a915ece3af --- /dev/null +++ b/deprecations/c-api-pending-removal-in-3.16.po @@ -0,0 +1,30 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2025, 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.13\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-07-04 15:03+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 "Pending removal in Python 3.16" +msgstr "Penghapusan yang tertunda di Python 3.16" + +msgid "The bundled copy of ``libmpdec``." +msgstr "" diff --git a/deprecations/c-api-pending-removal-in-future.po b/deprecations/c-api-pending-removal-in-future.po new file mode 100644 index 0000000000..6a968d82a9 --- /dev/null +++ b/deprecations/c-api-pending-removal-in-future.po @@ -0,0 +1,156 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2025, 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.13\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-05-08 05:09+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 "Pending Removal in Future Versions" +msgstr "Anstehende Entfernung in zukünftigen Versionen" + +msgid "" +"The following APIs are deprecated and will be removed, although there is " +"currently no date scheduled for their removal." +msgstr "" +"Следующие API устарели и будут удалены, хотя дата их удаления в настоящее " +"время не запланирована." + +msgid ":c:macro:`Py_TPFLAGS_HAVE_FINALIZE`: Unneeded since Python 3.8." +msgstr "" +":c:macro:`Py_TPFLAGS_HAVE_FINALIZE`: не требуется, начиная с Python 3.8." + +msgid ":c:func:`PyErr_Fetch`: Use :c:func:`PyErr_GetRaisedException` instead." +msgstr "" +":c:func:`PyErr_Fetch`: Вместо этого используйте :c:func:" +"`PyErr_GetRaizedException`." + +msgid "" +":c:func:`PyErr_NormalizeException`: Use :c:func:`PyErr_GetRaisedException` " +"instead." +msgstr "" +":c:func:`PyErr_NormalizeException`: вместо этого используйте :c:func:" +"`PyErr_GetRaizedException`." + +msgid "" +":c:func:`PyErr_Restore`: Use :c:func:`PyErr_SetRaisedException` instead." +msgstr "" +":c:func:`PyErr_Restore`: Вместо этого используйте :c:func:" +"`PyErr_SetRaizedException`." + +msgid "" +":c:func:`PyModule_GetFilename`: Use :c:func:`PyModule_GetFilenameObject` " +"instead." +msgstr "" +":c:func:`PyModule_GetFilename`: Вместо этого используйте :c:func:" +"`PyModule_GetFilenameObject`." + +msgid ":c:func:`PyOS_AfterFork`: Use :c:func:`PyOS_AfterFork_Child` instead." +msgstr "" +":c:func:`PyOS_AfterFork`: Вместо этого используйте :c:func:" +"`PyOS_AfterFork_Child`." + +msgid "" +":c:func:`PySlice_GetIndicesEx`: Use :c:func:`PySlice_Unpack` and :c:func:" +"`PySlice_AdjustIndices` instead." +msgstr "" +":c:func:`PySlice_GetIndicesEx`: вместо этого используйте :c:func:" +"`PySlice_Unpack` и :c:func:`PySlice_AdjustIndices`." + +msgid "" +":c:func:`!PyUnicode_AsDecodedObject`: Use :c:func:`PyCodec_Decode` instead." +msgstr "" +":c:func:`!PyUnicode_AsDecodedObject`: Вместо этого используйте :c:func:" +"`PyCodec_Decode`." + +msgid "" +":c:func:`!PyUnicode_AsDecodedUnicode`: Use :c:func:`PyCodec_Decode` instead." +msgstr "" + +msgid "" +":c:func:`!PyUnicode_AsEncodedObject`: Use :c:func:`PyCodec_Encode` instead." +msgstr "" +":c:func:`!PyUnicode_AsEncodedObject`: вместо этого используйте :c:func:" +"`PyCodec_Encode`." + +msgid "" +":c:func:`!PyUnicode_AsEncodedUnicode`: Use :c:func:`PyCodec_Encode` instead." +msgstr "" + +msgid ":c:func:`PyUnicode_READY`: Unneeded since Python 3.12" +msgstr ":c:func:`PyUnicode_READY`: не требуется, начиная с Python 3.12." + +msgid ":c:func:`!PyErr_Display`: Use :c:func:`PyErr_DisplayException` instead." +msgstr "" +":c:func:`!PyErr_Display`: Вместо этого используйте :c:func:" +"`PyErr_DisplayException`." + +msgid "" +":c:func:`!_PyErr_ChainExceptions`: Use :c:func:`!_PyErr_ChainExceptions1` " +"instead." +msgstr "" +":c:func:`!_PyErr_ChainExceptions`: вместо этого используйте :c:func:`!" +"_PyErr_ChainExceptions1`." + +msgid "" +":c:member:`!PyBytesObject.ob_shash` member: call :c:func:`PyObject_Hash` " +"instead." +msgstr "" +":c:member:`!PyBytesObject.ob_shash`member: вместо этого вызовите :c:func:" +"`PyObject_Hash`." + +msgid ":c:member:`!PyDictObject.ma_version_tag` member." +msgstr "" + +msgid "Thread Local Storage (TLS) API:" +msgstr "API локального хранилища потоков (TLS):" + +msgid "" +":c:func:`PyThread_create_key`: Use :c:func:`PyThread_tss_alloc` instead." +msgstr "" +":c:func:`PyThread_create_key`: вместо этого используйте :c:func:" +"`PyThread_tss_alloc`." + +msgid ":c:func:`PyThread_delete_key`: Use :c:func:`PyThread_tss_free` instead." +msgstr "" +":c:func:`PyThread_delete_key`: вместо этого используйте :c:func:" +"`PyThread_tss_free`." + +msgid "" +":c:func:`PyThread_set_key_value`: Use :c:func:`PyThread_tss_set` instead." +msgstr "" +":c:func:`PyThread_set_key_value`: вместо этого используйте :c:func:" +"`PyThread_tss_set`." + +msgid "" +":c:func:`PyThread_get_key_value`: Use :c:func:`PyThread_tss_get` instead." +msgstr "" +":c:func:`PyThread_get_key_value`: вместо этого используйте :c:func:" +"`PyThread_tss_get`." + +msgid "" +":c:func:`PyThread_delete_key_value`: Use :c:func:`PyThread_tss_delete` " +"instead." +msgstr "" +":c:func:`PyThread_delete_key_value`: вместо этого используйте :c:func:" +"`PyThread_tss_delete`." + +msgid ":c:func:`PyThread_ReInitTLS`: Unneeded since Python 3.7." +msgstr ":c:func:`PyThread_ReInitTLS`: не требуется, начиная с Python 3.7." diff --git a/deprecations/index.po b/deprecations/index.po index eabd016d53..9ca9f0f1a8 100644 --- a/deprecations/index.po +++ b/deprecations/index.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2024-07-29 04:07+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-04 15:01+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -296,6 +295,14 @@ msgid "" "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, " @@ -394,9 +401,6 @@ msgid "" "groups are deprecated." msgstr "" -msgid ":mod:`array`'s ``'u'`` format code (:gh:`57281`)" -msgstr "" - msgid "``bool(NotImplemented)``." msgstr "``bool(NotImplemented)``." @@ -788,9 +792,6 @@ msgid "" "c:func:`Py_PreInitialize`)" msgstr "" -msgid "The bundled copy of ``libmpdecimal``." -msgstr "" - msgid "" "The :c:func:`PyImport_ImportModuleNoBlock`: Use :c:func:" "`PyImport_ImportModule` instead." diff --git a/deprecations/pending-removal-in-3.13.po b/deprecations/pending-removal-in-3.13.po index 813fe6e337..075d4ae6ef 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2024-07-26 14:16+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/deprecations/pending-removal-in-3.14.po b/deprecations/pending-removal-in-3.14.po index 19b7a503b0..4f53e4b975 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2024-07-20 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/deprecations/pending-removal-in-3.15.po b/deprecations/pending-removal-in-3.15.po index 18f94a2a4e..b057143e49 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2024-07-20 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-16 14:58+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -137,6 +137,14 @@ msgid "" "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, " diff --git a/deprecations/pending-removal-in-3.16.po b/deprecations/pending-removal-in-3.16.po index d37609fe2c..d003557088 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, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2024-07-20 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/deprecations/pending-removal-in-future.po b/deprecations/pending-removal-in-future.po index e210dce9ac..669747d550 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2024-07-20 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-02 14:19+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -36,9 +36,6 @@ msgid "" "groups are deprecated." msgstr "" -msgid ":mod:`array`'s ``'u'`` format code (:gh:`57281`)" -msgstr "" - msgid ":mod:`builtins`:" msgstr ":mod:`builtins`:" diff --git a/distributing/index.po b/distributing/index.po index d9f9de665b..37b643b757 100644 --- a/distributing/index.po +++ b/distributing/index.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/extending/embedding.po b/extending/embedding.po index dccffb8f54..a83e5ae5cf 100644 --- a/extending/embedding.po +++ b/extending/embedding.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-30 14:58+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -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 b49d15b468..c12ca9efec 100644 --- a/extending/extending.po +++ b/extending/extending.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2022 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-30 14:58+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -312,39 +311,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 overwitten 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 +393,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 +504,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 +542,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 +560,7 @@ msgid "" "PyMODINIT_FUNC\n" "PyInit_spam(void)\n" "{\n" -" return PyModule_Create(&spammodule);\n" +" return PyModuleDef_Init(&spam_module);\n" "}" msgstr "" @@ -539,16 +571,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 +638,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 +1079,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 "" @@ -1451,13 +1470,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 +1751,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 +1771,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 +1844,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 c67d77576a..1bf97f3d44 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-30 14:58+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/extending/newtypes_tutorial.po b/extending/newtypes_tutorial.po index 39a20724fc..42174ecfe7 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-30 14:58+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -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 "" @@ -485,31 +496,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 "" @@ -1057,31 +1077,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 "" @@ -1442,31 +1471,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 "" @@ -1667,7 +1705,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" @@ -1677,32 +1715,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 "" @@ -1759,30 +1806,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 ed79cc8ca0..b7038b1d5e 100644 --- a/extending/windows.po +++ b/extending/windows.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Krzysztof Abramowicz, 2022\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/faq/design.po b/faq/design.po index 2ec36af26d..47e5467519 100644 --- a/faq/design.po +++ b/faq/design.po @@ -4,20 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 -# 2369f3689d74df2245bf6a7a078d3c27_4b122ab, 2022 -# Maciej Olko , 2022 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/faq/extending.po b/faq/extending.po index ad0a363f7b..68a3f39f5f 100644 --- a/faq/extending.po +++ b/faq/extending.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Stefan Ocetkiewicz , 2021\n" +"POT-Creation-Date: 2025-05-30 14:58+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -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 4ae84c0ea2..46aa44dfab 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-02-21 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/faq/gui.po b/faq/gui.po index 9ae850813f..2694780446 100644 --- a/faq/gui.po +++ b/faq/gui.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 -# rmaster1211 , 2021 -# Rafael Fontenelle , 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Rafael Fontenelle , 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/faq/index.po b/faq/index.po index 978bbe1739..6cbe8cc296 100644 --- a/faq/index.po +++ b/faq/index.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Seweryn Piórkowski , 2021\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/faq/installed.po b/faq/installed.po index ab2411d106..a5d1644c0e 100644 --- a/faq/installed.po +++ b/faq/installed.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Krzysztof Abramowicz, 2022\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/faq/library.po b/faq/library.po index f9fcb8c841..a6d56c784b 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/faq/programming.po b/faq/programming.po index cd94cf447b..bd918faa59 100644 --- a/faq/programming.po +++ b/faq/programming.po @@ -4,11 +4,7 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2022 -# Krzysztof Abramowicz, 2022 -# Maciej Olko , 2022 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" @@ -16,8 +12,8 @@ msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/faq/windows.po b/faq/windows.po index 453fcd0290..6d9eae99be 100644 --- a/faq/windows.po +++ b/faq/windows.po @@ -4,19 +4,17 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 -# Krzysztof Abramowicz, 2022 -# Maciej Olko , 2022 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 +# Kacper, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+0000\n" +"Last-Translator: Kacper, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -52,6 +50,12 @@ msgid "" "started such a window because you will see a Windows \"command prompt\", " "which usually looks like this:" msgstr "" +"Jeżeli nie wykorzystasz zintegrowanego środowiska programistycznego, z " +"angielskiego IDE, będziesz musiał *wpisywać* komendy w coś nazywanego " +"\"wierszem poleceń\" po angielsku command prompt window. Przeważnie możesz " +"uruchomić takie okno wyszukując ``cmd``. Możesz poznać że uruchomiłeś " +"właściwe okno po tym, że zobaczysz okno \"Wiersz polecenia\", który powinien " +"wyglądać podobnie do tego:" msgid "C:\\>" msgstr "C:\\>" diff --git a/glossary.po b/glossary.po index b9ac9390a8..b695a83787 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-25 15:00+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -1781,6 +1775,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 "" @@ -1892,6 +1892,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" @@ -1910,6 +1926,12 @@ msgid "" "mod:`typing` module." msgstr "" +msgid "stdlib" +msgstr "" + +msgid "An abbreviation of :term:`standard library`." +msgstr "" + msgid "strong reference" msgstr "" diff --git a/howto/annotations.po b/howto/annotations.po index 36c8a5950d..11635d2fb6 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/howto/argparse.po b/howto/argparse.po index 8315f0595c..824ad21fb0 100644 --- a/howto/argparse.po +++ b/howto/argparse.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/howto/clinic.po b/howto/clinic.po index f978490fa8..dc0fef2dc0 100644 --- a/howto/clinic.po +++ b/howto/clinic.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Rafael Fontenelle , 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/howto/curses.po b/howto/curses.po index 91cb980b61..5b914d857f 100644 --- a/howto/curses.po +++ b/howto/curses.po @@ -4,9 +4,7 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Seweryn Piórkowski , 2021 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" @@ -14,8 +12,8 @@ msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/howto/descriptor.po b/howto/descriptor.po index 84a7366af4..aa050bcad0 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/howto/enum.po b/howto/enum.po index 2eccda4a75..cc7d42497d 100644 --- a/howto/enum.po +++ b/howto/enum.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-02-21 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/howto/free-threading-extensions.po b/howto/free-threading-extensions.po index 5cc72e4664..57cc10c6ea 100644 --- a/howto/free-threading-extensions.po +++ b/howto/free-threading-extensions.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2024-06-20 06:42+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-25 15:00+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -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 "" @@ -202,6 +209,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`" @@ -347,8 +357,8 @@ msgstr "" msgid "" "`pypa/cibuildwheel `_ supports the " -"free-threaded build if you set `CIBW_FREE_THREADED_SUPPORT `_." +"free-threaded build if you 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 3a936363ea..9be0d49ac1 100644 --- a/howto/free-threading-python.po +++ b/howto/free-threading-python.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2024-10-04 14:19+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-05-23 14:55+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -63,7 +63,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 "" diff --git a/howto/functional.po b/howto/functional.po index 28b3ad5f31..f3dbd91180 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-04 15:01+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -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 7e3f4491e5..179a2acd37 100644 --- a/howto/gdb_helpers.po +++ b/howto/gdb_helpers.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2024-02-25 01:11+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/howto/index.po b/howto/index.po index 744d715274..2d437b00b7 100644 --- a/howto/index.po +++ b/howto/index.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/howto/instrumentation.po b/howto/instrumentation.po index 5cad64c008..8bbdb6c562 100644 --- a/howto/instrumentation.po +++ b/howto/instrumentation.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Seweryn Piórkowski , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/howto/ipaddress.po b/howto/ipaddress.po index d8d1230ce8..f939c0708b 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-02-21 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/howto/isolating-extensions.po b/howto/isolating-extensions.po index 959270e836..e757af6786 100644 --- a/howto/isolating-extensions.po +++ b/howto/isolating-extensions.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2022 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2022-11-05 19:48+0000\n" -"Last-Translator: Maciej Olko , 2022\n" +"POT-Creation-Date: 2025-07-04 15:01+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -52,7 +52,7 @@ msgid "" msgstr "" msgid "Background" -msgstr "" +msgstr "Фон" msgid "" "An *interpreter* is the context in which Python code runs. It contains " @@ -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 "" @@ -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 3f67d94a80..8089df98da 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -2193,6 +2191,14 @@ msgid "" "\n" "logging.setLogRecordFactory(record_factory)" msgstr "" +"old_factory = logging.getLogRecordFactory()\n" +"\n" +"def record_factory(*args, **kwargs):\n" +" record = old_factory(*args, **kwargs)\n" +" record.custom_attribute = 0xdecafbad\n" +" return record\n" +"\n" +"logging.setLogRecordFactory(record_factory)" msgid "" "This pattern allows different libraries to chain factories together, and as " @@ -4679,6 +4685,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 "" @@ -4784,25 +4904,25 @@ msgid "Other resources" msgstr "Inne zasoby" msgid "Module :mod:`logging`" -msgstr "" +msgstr "Модуль :mod:`logging`" msgid "API reference for the logging module." -msgstr "" +msgstr "Довідник API для модуля журналювання." msgid "Module :mod:`logging.config`" -msgstr "" +msgstr "Модуль :mod:`logging.config`" msgid "Configuration API for the logging module." -msgstr "" +msgstr "API конфігурації для модуля журналювання." msgid "Module :mod:`logging.handlers`" -msgstr "" +msgstr "Модуль :mod:`logging.handlers`" msgid "Useful handlers included with the logging module." -msgstr "" +msgstr "Корисні обробники, включені в модуль журналювання." msgid ":ref:`Basic Tutorial `" -msgstr "" +msgstr ":ref:`Basic Tutorial `" msgid ":ref:`Advanced Tutorial `" -msgstr "" +msgstr ":ref:`Advanced Tutorial `" diff --git a/howto/logging.po b/howto/logging.po index 15466b69b1..80357b1d29 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-25 15:00+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -124,7 +122,7 @@ msgid "" msgstr "" msgid "Level" -msgstr "" +msgstr "Level" msgid "When it's used" msgstr "" @@ -140,7 +138,7 @@ msgid "``INFO``" msgstr "``INFO``" msgid "Confirmation that things are working as expected." -msgstr "" +msgstr "Підтвердження того, що все працює належним чином." msgid "``WARNING``" msgstr "``WARNING``" @@ -158,6 +156,8 @@ msgid "" "Due to a more serious problem, the software has not been able to perform " "some function." msgstr "" +"Через більш серйозну проблему програмне забезпечення не може виконувати " +"деякі функції." msgid "``CRITICAL``" msgstr "``CRITICAL``" @@ -166,6 +166,7 @@ msgid "" "A serious error, indicating that the program itself may be unable to " "continue running." msgstr "" +"Серйозна помилка, яка вказує на те, що сама програма може не працювати далі." msgid "" "The default level is ``WARNING``, which means that only events of this " @@ -438,8 +439,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 "" @@ -459,19 +460,25 @@ msgstr "" msgid "Loggers expose the interface that application code directly uses." msgstr "" +"Логери відкривають інтерфейс, який безпосередньо використовує код програми." msgid "" "Handlers send the log records (created by loggers) to the appropriate " "destination." msgstr "" +"Обробники надсилають записи журналу (створені реєстраторами) у відповідне " +"місце призначення." msgid "" "Filters provide a finer grained facility for determining which log records " "to output." msgstr "" +"Фільтри забезпечують точніші засоби для визначення того, які записи журналу " +"виводити." msgid "Formatters specify the layout of log records in the final output." msgstr "" +"Засоби форматування вказують макет записів журналу в кінцевому виведенні." msgid "" "Log event information is passed between loggers, handlers, filters and " @@ -1085,7 +1092,7 @@ msgid "" msgstr "" msgid "Logging Levels" -msgstr "" +msgstr "Рівні реєстрації" msgid "" "The numeric values of logging levels are given in the following table. These " @@ -1094,9 +1101,14 @@ msgid "" "define a level with the same numeric value, it overwrites the predefined " "value; the predefined name is lost." msgstr "" +"Числові значення рівнів журналювання наведені в наступній таблиці. Це " +"насамперед цікаво, якщо ви бажаєте визначити власні рівні та потребуєте, щоб " +"вони мали певні значення відносно попередньо визначених рівнів. Якщо ви " +"визначаєте рівень з тим самим числовим значенням, він перезаписує попередньо " +"визначене значення; попередньо визначене ім'я втрачено." msgid "Numeric value" -msgstr "" +msgstr "Nilai angka" msgid "50" msgstr "50" @@ -1441,22 +1453,22 @@ msgid "Other resources" msgstr "Inne zasoby" msgid "Module :mod:`logging`" -msgstr "" +msgstr "Модуль :mod:`logging`" msgid "API reference for the logging module." -msgstr "" +msgstr "Довідник API для модуля журналювання." msgid "Module :mod:`logging.config`" -msgstr "" +msgstr "Модуль :mod:`logging.config`" msgid "Configuration API for the logging module." -msgstr "" +msgstr "API конфігурації для модуля журналювання." msgid "Module :mod:`logging.handlers`" -msgstr "" +msgstr "Модуль :mod:`logging.handlers`" msgid "Useful handlers included with the logging module." -msgstr "" +msgstr "Корисні обробники, включені в модуль журналювання." msgid ":ref:`A logging cookbook `" msgstr "" diff --git a/howto/mro.po b/howto/mro.po index 45e22a4fa6..a17f51322d 100644 --- a/howto/mro.po +++ b/howto/mro.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2024-04-19 14:15+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2025-01-24 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/howto/perf_profiling.po b/howto/perf_profiling.po index 563f3c397b..1c59f43688 100644 --- a/howto/perf_profiling.po +++ b/howto/perf_profiling.po @@ -4,8 +4,7 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" @@ -13,8 +12,8 @@ msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2023-05-24 13:07+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/howto/pyporting.po b/howto/pyporting.po index 7ade12272f..94abe6a295 100644 --- a/howto/pyporting.po +++ b/howto/pyporting.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Seweryn Piórkowski , 2021\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/howto/regex.po b/howto/regex.po index e2b98e2025..c17eb8b958 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-06-20 14:58+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -772,7 +768,7 @@ msgid "" msgstr "" msgid "Module-Level Functions" -msgstr "" +msgstr "Функції рівня модуля" msgid "" "You don't have to create a pattern object and call its methods; the :mod:" @@ -1082,7 +1078,7 @@ msgid "``\\Z``" msgstr "``\\Z``" msgid "Matches only at the end of the string." -msgstr "" +msgstr "Збігається лише в кінці рядка." msgid "``\\b``" msgstr "``\\b``" @@ -1478,10 +1474,13 @@ msgid "" "filenames where the extension is not ``bat``? Some incorrect attempts:" msgstr "" +msgid "``.*[.][^b].*$``" +msgstr "" + 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])$``" @@ -1516,13 +1515,16 @@ msgstr "" msgid "A negative lookahead cuts through all this confusion:" msgstr "" +msgid "``.*[.](?!bat$)[^.]*$``" +msgstr "" + 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 "" diff --git a/howto/sockets.po b/howto/sockets.po index 0de8f73755..2f73d974af 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/howto/sorting.po b/howto/sorting.po index 218e41345d..e6d34d3231 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/howto/timerfd.po b/howto/timerfd.po index 7fb1ca0ca1..6f3a077434 100644 --- a/howto/timerfd.po +++ b/howto/timerfd.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2024 -# Maciej Olko , 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2024-05-11 01:08+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/howto/unicode.po b/howto/unicode.po index 40e70b9970..10724aa3f0 100644 --- a/howto/unicode.po +++ b/howto/unicode.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-02-21 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/howto/urllib2.po b/howto/urllib2.po index 6b568ce5b3..041434821a 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-06-06 14:57+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -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/installing/index.po b/installing/index.po index b3eda29991..92ffe41b15 100644 --- a/installing/index.po +++ b/installing/index.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Wierzbicki , 2021 -# Stan Ulbrych, 2025 -# Maciej Olko , 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Maciej Olko , 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/__future__.po b/library/__future__.po index b08c68e955..3a11fc98d3 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -67,7 +65,7 @@ msgid "" msgstr "" msgid "Module Contents" -msgstr "" +msgstr "Modul-Modul" msgid "" "No feature description will ever be deleted from :mod:`__future__`. Since " diff --git a/library/__main__.po b/library/__main__.po index f984453a5f..aa633be9b2 100644 --- a/library/__main__.po +++ b/library/__main__.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/_thread.po b/library/_thread.po index 4436a20e5a..e2fce680f9 100644 --- a/library/_thread.po +++ b/library/_thread.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/abc.po b/library/abc.po index 031ceb05c6..aa2411e5dd 100644 --- a/library/abc.po +++ b/library/abc.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-02-28 14:17+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/argparse.po b/library/argparse.po index 101d9463e7..76f9752f66 100644 --- a/library/argparse.po +++ b/library/argparse.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Igor Zubrycki , 2023 -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-25 15:00+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -527,7 +525,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', " @@ -535,6 +533,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." @@ -954,30 +958,13 @@ 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``::" -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)" +"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 "" -">>> 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`, " @@ -1099,9 +1086,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 "" @@ -1681,6 +1668,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 "" @@ -2485,13 +2492,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 "" @@ -2655,7 +2666,7 @@ msgid "Guides and Tutorials" msgstr "" msgid "? (question mark)" -msgstr "" +msgstr "? (знак питання)" msgid "in argparse module" msgstr "" @@ -2664,4 +2675,4 @@ msgid "* (asterisk)" msgstr "* (asterisk)" msgid "+ (plus)" -msgstr "" +msgstr "+ (плюс)" diff --git a/library/array.po b/library/array.po index 243814d7c9..b407203c5e 100644 --- a/library/array.po +++ b/library/array.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/ast.po b/library/ast.po index e8ad2216f5..eda09bcb30 100644 --- a/library/ast.po +++ b/library/ast.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-06-06 14:57+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -479,9 +478,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 "" @@ -1986,6 +1985,44 @@ msgid "" " value=Constant(value=Ellipsis))])])])" msgstr "" +msgid "Type annotations" +msgstr "" + +msgid "" +"A ``# type: ignore`` comment located at *lineno*. *tag* is the optional tag " +"specified by the form ``# type: ignore ``." +msgstr "" + +msgid "" +">>> print(ast.dump(ast.parse('x = 1 # type: ignore', type_comments=True), " +"indent=4))\n" +"Module(\n" +" body=[\n" +" Assign(\n" +" targets=[\n" +" Name(id='x', ctx=Store())],\n" +" value=Constant(value=1))],\n" +" type_ignores=[\n" +" TypeIgnore(lineno=1, tag='')])\n" +">>> print(ast.dump(ast.parse('x: bool = 1 # type: ignore[assignment]', " +"type_comments=True), indent=4))\n" +"Module(\n" +" body=[\n" +" AnnAssign(\n" +" target=Name(id='x', ctx=Store()),\n" +" annotation=Name(id='bool', ctx=Load()),\n" +" value=Constant(value=1),\n" +" simple=1)],\n" +" type_ignores=[\n" +" TypeIgnore(lineno=1, tag='[assignment]')])" +msgstr "" + +msgid "" +":class:`!TypeIgnore` nodes are not generated when the *type_comments* " +"parameter is set to ``False`` (default). See :func:`ast.parse` for more " +"details." +msgstr "" + msgid "Type parameters" msgstr "" @@ -2668,8 +2705,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." @@ -2745,10 +2782,10 @@ msgid "python -m ast [-m ] [-a] [infile]" msgstr "" msgid "The following options are accepted:" -msgstr "" +msgstr "Приймаються такі варіанти:" msgid "Show the help message and exit." -msgstr "" +msgstr "Показати довідкове повідомлення та вийти." msgid "" "Specify what kind of code must be compiled, like the *mode* argument in :" @@ -2801,7 +2838,7 @@ msgid "" msgstr "" msgid "? (question mark)" -msgstr "" +msgstr "? (знак питання)" msgid "in AST grammar" msgstr "" diff --git a/library/asyncio-api-index.po b/library/asyncio-api-index.po index 3a74be50bf..2a0aa5abd4 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/asyncio-dev.po b/library/asyncio-dev.po index 62619f1133..66f3e4eb5a 100644 --- a/library/asyncio-dev.po +++ b/library/asyncio-dev.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-05-23 14:55+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -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 " diff --git a/library/asyncio-eventloop.po b/library/asyncio-eventloop.po index 1f900d2589..7d6dcff22f 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-23 14:55+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -256,7 +253,7 @@ msgid "" msgstr "" msgid "Added the *timeout* parameter." -msgstr "" +msgstr "Добавлен параметр *timeout*." msgid "Scheduling callbacks" msgstr "" @@ -418,6 +415,13 @@ 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, except *name*, or *context* if it is " +"``None``." +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`." @@ -433,6 +437,17 @@ msgid "Added the *name* parameter." msgstr "" msgid "Added the *context* parameter." +msgstr "Добавлен параметр *context*." + +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 "Set a task factory that will be used by :meth:`loop.create_task`." @@ -446,6 +461,14 @@ 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 "Return a task factory or ``None`` if the default one is in use." msgstr "" @@ -1691,7 +1714,7 @@ msgid "" msgstr "" msgid "Server Objects" -msgstr "" +msgstr "Серверні об’єкти" msgid "" "Server objects are created by :meth:`loop.create_server`, :meth:`loop." diff --git a/library/asyncio-exceptions.po b/library/asyncio-exceptions.po index ead04480ec..0e0f975bed 100644 --- a/library/asyncio-exceptions.po +++ b/library/asyncio-exceptions.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/asyncio-future.po b/library/asyncio-future.po index 262c087f7d..1325cb8c93 100644 --- a/library/asyncio-future.po +++ b/library/asyncio-future.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/asyncio-llapi-index.po b/library/asyncio-llapi-index.po index 3339834ce9..11f3a4246f 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/asyncio-platforms.po b/library/asyncio-platforms.po index 6d0c9ab2c1..4f9133b4fa 100644 --- a/library/asyncio-platforms.po +++ b/library/asyncio-platforms.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -120,7 +120,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 f766280f9e..a3a89e30fc 100644 --- a/library/asyncio-policy.po +++ b/library/asyncio-policy.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/asyncio-protocol.po b/library/asyncio-protocol.po index 8ce2a75a2a..3421dcca59 100644 --- a/library/asyncio-protocol.po +++ b/library/asyncio-protocol.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 -# Maciej Olko , 2021 -# Seweryn Piórkowski , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/asyncio-queue.po b/library/asyncio-queue.po index 0f2af8412b..e86767cc49 100644 --- a/library/asyncio-queue.po +++ b/library/asyncio-queue.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Igor Zubrycki , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-25 15:00+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -72,7 +70,7 @@ msgid "Number of items allowed in the queue." msgstr "" msgid "Return ``True`` if the queue is empty, ``False`` otherwise." -msgstr "" +msgstr "Повертає ``True``, якщо черга порожня, ``False`` інакше." msgid "Return ``True`` if there are :attr:`maxsize` items in the queue." msgstr "" @@ -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 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 "" -"Shut down the queue, making :meth:`~Queue.get` and :meth:`~Queue.put` raise :" -"exc:`QueueShutDown`." +"Once the queue is empty, future calls to :meth:`~Queue.get` will raise :exc:" +"`QueueShutDown`." 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." +"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 "" -"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`." +"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 dcc6f8b2eb..5a23f87ba8 100644 --- a/library/asyncio-runner.po +++ b/library/asyncio-runner.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2022-11-05 19:48+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/asyncio-stream.po b/library/asyncio-stream.po index 3511d19df7..5c2fac42ff 100644 --- a/library/asyncio-stream.po +++ b/library/asyncio-stream.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-30 14:58+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -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 "" diff --git a/library/asyncio-subprocess.po b/library/asyncio-subprocess.po index 32502929e4..b1ecbef10b 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-03-14 14:17+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/asyncio-sync.po b/library/asyncio-sync.po index 0c47de161f..85926d7c4d 100644 --- a/library/asyncio-sync.po +++ b/library/asyncio-sync.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-02-28 14:17+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/asyncio-task.po b/library/asyncio-task.po index e4881dc7b5..a41e7294b7 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -4,8 +4,7 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" @@ -13,8 +12,8 @@ msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -360,7 +359,7 @@ msgid "Added the *name* parameter." msgstr "" msgid "Added the *context* parameter." -msgstr "" +msgstr "Добавлен параметр *context*." msgid "Task Cancellation" msgstr "" diff --git a/library/asyncio.po b/library/asyncio.po index f107010000..caafa12f69 100644 --- a/library/asyncio.po +++ b/library/asyncio.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -114,6 +114,8 @@ msgid "" "This module does not work or is not available on WebAssembly. See :ref:`wasm-" "availability` for more information." msgstr "" +"Этот модуль не работает или недоступен в WebAssembly. См. :ref:`wasm-" +"availability` для получения дополнительной информации." msgid "asyncio REPL" msgstr "" @@ -148,7 +150,7 @@ msgid "" msgstr "" msgid "Reference" -msgstr "" +msgstr "Referensi" msgid "The source code for asyncio can be found in :source:`Lib/asyncio/`." msgstr "" diff --git a/library/audit_events.po b/library/audit_events.po index 255e57f735..27c9e12928 100644 --- a/library/audit_events.po +++ b/library/audit_events.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/base64.po b/library/base64.po index 54c920307f..6a8a508688 100644 --- a/library/base64.po +++ b/library/base64.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-23 14:55+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -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`." @@ -285,8 +318,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..cc1706da59 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-2025, 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.13\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-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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:`bdb` --- Debugger framework" +msgid ":mod:`!bdb` --- Debugger framework" msgstr "" msgid "**Source code:** :source:`Lib/bdb.py`" @@ -35,7 +35,7 @@ msgid "" msgstr "" msgid "The following exception is defined:" -msgstr "" +msgstr "Визначено такий виняток:" msgid "Exception raised by the :class:`Bdb` class for quitting the debugger." msgstr "" @@ -115,7 +115,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 +126,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`." @@ -160,8 +160,8 @@ msgid "" "globals." msgstr "" -msgid "The *skip* argument." -msgstr "" +msgid "Added the *skip* parameter." +msgstr "Добавлен параметр *skip*." msgid "" "The following methods of :class:`Bdb` normally don't need to be overridden." @@ -178,8 +178,9 @@ msgid "" msgstr "" msgid "" -"Set the :attr:`botframe`, :attr:`stopframe`, :attr:`returnframe` and :attr:" -"`quitting` attributes with values ready to start debugging." +"Set the :attr:`!botframe`, :attr:`!stopframe`, :attr:`!returnframe` and :" +"attr:`quitting ` attributes with values ready to start " +"debugging." msgstr "" msgid "" @@ -233,33 +234,33 @@ msgstr "" 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 "" @@ -267,13 +268,13 @@ msgid "" "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,7 +282,7 @@ 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 "" @@ -294,6 +295,11 @@ msgid "" "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``." @@ -338,14 +344,21 @@ msgid "" "from caller's frame." msgstr "" +msgid "" +":func:`set_trace` will enter the debugger immediately, rather than on the " +"next line of code to be executed." +msgstr "" +":func:`set_trace` войдет в отладчик сразу, а не на следующей строке кода, " +"которая будет выполнена." + msgid "" "Stop only at breakpoints or when finished. If there are no breakpoints, set " "the system trace function to ``None``." msgstr "" 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 "" @@ -387,7 +400,7 @@ msgid "" "raised." msgstr "" -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 "" @@ -441,7 +454,7 @@ msgstr "" 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 "" @@ -459,7 +472,7 @@ msgid "Finally, the module defines the following functions:" 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 +493,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 "" + +msgid "quitting (bdb.Bdb attribute)" +msgstr "" diff --git a/library/binascii.po b/library/binascii.po index 1b6450d8d8..11d6fb7117 100644 --- a/library/binascii.po +++ b/library/binascii.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/bisect.po b/library/bisect.po index beea4e7590..b32d2536fd 100644 --- a/library/bisect.po +++ b/library/bisect.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/builtins.po b/library/builtins.po index 337bd98a0d..fd6a369a61 100644 --- a/library/builtins.po +++ b/library/builtins.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/bz2.po b/library/bz2.po index c6510e7557..ab8bf1f10c 100644 --- a/library/bz2.po +++ b/library/bz2.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Waldemar Stoczkowski, 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -179,7 +178,7 @@ msgid "Returns the number of bytes read (0 for EOF)." msgstr "" msgid "``'rb'`` for reading and ``'wb'`` for writing." -msgstr "" +msgstr "``'rb'`` для чтения и ``'wb'`` для записи." msgid "" "The bzip2 file name. Equivalent to the :attr:`~io.FileIO.name` attribute of " @@ -202,7 +201,7 @@ msgstr "" msgid "" "The :meth:`~io.BufferedIOBase.read` method now accepts an argument of " "``None``." -msgstr "" +msgstr "Метод :meth:`~io.BufferedIOBase.read` тепер приймає аргумент ``None``." msgid "" "The *buffering* parameter has been removed. It was ignored and deprecated " @@ -270,6 +269,11 @@ msgid "" "to :meth:`decompress`. The returned data should be concatenated with the " "output of any previous calls to :meth:`decompress`." msgstr "" +"Розпакуйте *дані* (:term:`bytes-like object`), повертаючи нестиснуті дані у " +"вигляді байтів. Деякі з *даних* можуть бути збережені у внутрішньому буфері " +"для використання в подальших викликах :meth:`decompress`. Повернуті дані " +"мають бути об’єднані з результатами будь-яких попередніх викликів :meth:" +"`decompress`." msgid "" "If *max_length* is nonnegative, returns at most *max_length* bytes of " @@ -278,27 +282,39 @@ msgid "" "this case, the next call to :meth:`~.decompress` may provide *data* as " "``b''`` to obtain more of the output." msgstr "" +"Якщо *max_length* є невід’ємним, повертає щонайбільше *max_length* байтів " +"розпакованих даних. Якщо цей ліміт буде досягнуто, і буде створено подальший " +"вихід, атрибут :attr:`~.needs_input` буде встановлено на ``False``. У цьому " +"випадку наступний виклик :meth:`~.decompress` може надати *data* як ``b''``, " +"щоб отримати більше вихідних даних." 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 "" +"Якщо всі вхідні дані було розпаковано та повернуто (або через те, що вони " +"були меншими за *max_length* байтів, або через те, що *max_length* було " +"від’ємним), для атрибута :attr:`~.needs_input` буде встановлено значення " +"``True`` ." msgid "" "Attempting to decompress data after the end of stream is reached raises an :" "exc:`EOFError`. Any data found after the end of the stream is ignored and " "saved in the :attr:`~.unused_data` attribute." msgstr "" +"Попытка распаковать данные после достижения конца потока вызывает ошибку :" +"exc:`EOFError`. Любые данные, найденные после окончания потока, игнорируются " +"и сохраняются в атрибуте :attr:`~.unused_data`." msgid "Added the *max_length* parameter." -msgstr "" +msgstr "Додано параметр *max_length*." msgid "``True`` if the end-of-stream marker has been reached." -msgstr "" +msgstr "``True``, якщо досягнуто маркера кінця потоку." msgid "Data found after the end of the compressed stream." -msgstr "" +msgstr "Дані знайдено після закінчення стисненого потоку." msgid "" "If this attribute is accessed before the end of the stream has been reached, " @@ -309,6 +325,8 @@ msgid "" "``False`` if the :meth:`.decompress` method can provide more decompressed " "data before requiring new uncompressed input." msgstr "" +"``False``, якщо метод :meth:`.decompress` може надати більше розпакованих " +"даних перед запитом нового нестисненого введення." msgid "One-shot (de)compression" msgstr "" diff --git a/library/calendar.po b/library/calendar.po index 032fa65dd5..002c56d2c9 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-2025, 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.13\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: 2025-01-10 14:17+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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:`calendar` --- General calendar-related functions" +msgid ":mod:`!calendar` --- General calendar-related functions" msgstr "" msgid "**Source code:** :source:`Lib/calendar.py`" @@ -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 "" @@ -336,33 +420,72 @@ msgstr "" msgid "The :mod:`calendar` module exports the following data attributes:" msgstr "" -msgid "An array that represents the days of the week in the current locale." +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 "" +"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 "Module :mod:`datetime`" +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`" +msgstr "Modul :mod:`datetime`" + msgid "" "Object-oriented interface to dates and times with similar functionality to " "the :mod:`time` module." @@ -373,3 +496,120 @@ 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 "" + +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 "*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 2dcc69e985..7ff6bc7e6a 100644 --- a/library/cmath.po +++ b/library/cmath.po @@ -4,9 +4,7 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Michał Biliński , 2021 -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" @@ -14,8 +12,8 @@ msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -123,7 +121,7 @@ msgid "Return the square root of *z*" msgstr "" msgid "**Trigonometric functions**" -msgstr "" +msgstr "**Тригонометрические функции**" msgid ":func:`acos(z) `" msgstr "" @@ -162,7 +160,7 @@ msgid "Return the tangent of *z*" msgstr "" msgid "**Hyperbolic functions**" -msgstr "" +msgstr "**Гиперболические функции**" msgid ":func:`acosh(z) `" msgstr "" @@ -225,34 +223,34 @@ msgid ":func:`isclose(a, b, *, rel_tol, abs_tol) `" msgstr "" msgid "Check if the values *a* and *b* are close to each other" -msgstr "" +msgstr "Проверьте, близки ли значения *a* и *b* друг к другу." msgid "**Constants**" -msgstr "" +msgstr "**Константы**" msgid ":data:`pi`" msgstr ":data:`pi`" msgid "*π* = 3.141592..." -msgstr "" +msgstr "*π* = 3.141592..." msgid ":data:`e`" msgstr ":data:`e`" msgid "*e* = 2.718281..." -msgstr "" +msgstr "*e* = 2.718281..." msgid ":data:`tau`" msgstr ":data:`tau`" msgid "*τ* = 2\\ *π* = 6.283185..." -msgstr "" +msgstr "*τ* = 2\\ *π* = 6.283185..." msgid ":data:`inf`" msgstr ":data:`inf`" msgid "Positive infinity" -msgstr "" +msgstr "Положительная бесконечность" msgid ":data:`infj`" msgstr "" @@ -264,7 +262,7 @@ msgid ":data:`nan`" msgstr ":data:`nan`" msgid "\"Not a number\" (NaN)" -msgstr "" +msgstr "«Не число» (NaN)" msgid ":data:`nanj`" msgstr "" @@ -355,7 +353,7 @@ msgid "" msgstr "" msgid "Trigonometric functions" -msgstr "" +msgstr "Тригонометричні функції" msgid "" "Return the arc cosine of *z*. There are two branch cuts: One extends right " @@ -383,7 +381,7 @@ msgid "Return the tangent of *z*." msgstr "" msgid "Hyperbolic functions" -msgstr "" +msgstr "Гіперболічні функції" msgid "" "Return the inverse hyperbolic cosine of *z*. There is one branch cut, " @@ -441,6 +439,10 @@ msgid "" "given absolute and relative tolerances. If no errors occur, the result will " "be: ``abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)``." msgstr "" +"Считаются ли два значения близкими или нет, определяется в соответствии с " +"заданными абсолютными и относительными допусками. Если ошибок не возникнет, " +"результатом будет: ``abs(ab) <= max(rel_tol * max(abs(a), abs(b)), " +"abs_tol)``." msgid "" "*rel_tol* is the relative tolerance -- it is the maximum allowed difference " @@ -450,6 +452,12 @@ msgid "" "within about 9 decimal digits. *rel_tol* must be nonnegative and less than " "``1.0``." msgstr "" +"*rel_tol* — это относительный допуск — это максимально допустимая разница " +"между *a* и *b* относительно большего абсолютного значения *a* или *b*. " +"Например, чтобы установить допуск 5 %, укажите rel_tol=0,05. Допуск по " +"умолчанию — «1e-09», который гарантирует, что два значения одинаковы в " +"пределах примерно 9 десятичных цифр. *rel_tol* должен быть неотрицательным и " +"меньше ``1.0``." msgid "" "*abs_tol* is the absolute tolerance; it defaults to ``0.0`` and it must be " @@ -465,9 +473,13 @@ msgid "" "close to any other value, including ``NaN``. ``inf`` and ``-inf`` are only " "considered close to themselves." msgstr "" +"Спеціальні значення IEEE 754 ``NaN``, ``inf`` і ``-inf`` оброблятимуться " +"відповідно до правил IEEE. Зокрема, ``NaN`` не вважається близьким до будь-" +"якого іншого значення, включаючи ``NaN``. ``inf`` і ``-inf`` вважаються лише " +"близькими до самих себе." msgid ":pep:`485` -- A function for testing approximate equality" -msgstr "" +msgstr ":pep:`485` -- Функція для перевірки приблизної рівності" msgid "Constants" msgstr "Stały" @@ -530,4 +542,4 @@ msgid "module" msgstr "moduł" msgid "math" -msgstr "" +msgstr "math" diff --git a/library/cmd.po b/library/cmd.po index d51d0d3a03..ec030f1332 100644 --- a/library/cmd.po +++ b/library/cmd.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -426,10 +426,10 @@ msgid "" msgstr "" msgid "? (question mark)" -msgstr "" +msgstr "? (знак питання)" msgid "in a command interpreter" msgstr "" msgid "! (exclamation)" -msgstr "" +msgstr "! (знак оклику)" diff --git a/library/cmdline.po b/library/cmdline.po index d173bf2f16..fc7479426d 100644 --- a/library/cmdline.po +++ b/library/cmdline.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2023-10-13 14:16+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-05-08 03:57+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -101,8 +101,8 @@ msgstr ":mod:`pickle`" msgid ":ref:`pickletools `" msgstr "" -msgid ":mod:`platform`" -msgstr ":mod:`platform`" +msgid ":ref:`platform `" +msgstr "" msgid ":mod:`poplib`" msgstr ":mod:`poplib`" diff --git a/library/cmdlinelibs.po b/library/cmdlinelibs.po index 7e1ea520a7..4a59056b59 100644 --- a/library/cmdlinelibs.po +++ b/library/cmdlinelibs.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2024-12-27 14:18+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/code.po b/library/code.po index 2f09124563..e07b49bda1 100644 --- a/library/code.po +++ b/library/code.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-23 14:55+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -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 dac1714641..1e156ec062 100644 --- a/library/codecs.po +++ b/library/codecs.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-25 15:00+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -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 "" @@ -244,9 +251,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 "" @@ -257,9 +264,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 "" @@ -269,6 +276,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:" @@ -1121,8 +1142,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 "" @@ -1899,6 +1926,9 @@ 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." @@ -2040,6 +2070,55 @@ 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 "" +"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 function 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 "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 "" @@ -2173,25 +2252,25 @@ msgid "surrogateescape" msgstr "" msgid "? (question mark)" -msgstr "" +msgstr "? (знак питання)" msgid "replacement character" msgstr "" msgid "\\ (backslash)" -msgstr "" +msgstr "\\ (обратная косая черта)" 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 e5ccd142f1..4eda9f442b 100644 --- a/library/codeop.po +++ b/library/codeop.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/collections.abc.po b/library/collections.abc.po index 1abcb465b2..3162853021 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-02-28 14:17+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -559,7 +558,7 @@ msgid "" msgstr "" msgid "Examples and Recipes" -msgstr "" +msgstr "Приклади та рецепти" msgid "" "ABCs allow us to ask classes or instances if they provide particular " diff --git a/library/collections.po b/library/collections.po index cdd5b9a77b..4147757360 100644 --- a/library/collections.po +++ b/library/collections.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-03-07 14:18+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/colorsys.po b/library/colorsys.po index 51ac0013b0..86abfca4ee 100644 --- a/library/colorsys.po +++ b/library/colorsys.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/compileall.po b/library/compileall.po index b6545358bc..313ad7ca83 100644 --- a/library/compileall.po +++ b/library/compileall.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-06-06 14:57+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -44,6 +44,8 @@ msgid "" "This module does not work or is not available on WebAssembly. See :ref:`wasm-" "availability` for more information." msgstr "" +"Этот модуль не работает или недоступен в WebAssembly. См. :ref:`wasm-" +"availability` для получения дополнительной информации." msgid "Command-line use" msgstr "" @@ -81,8 +83,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/concurrent.futures.po b/library/concurrent.futures.po index e071d2d87a..e576e07724 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -51,6 +50,8 @@ msgid "" "This module does not work or is not available on WebAssembly. See :ref:`wasm-" "availability` for more information." msgstr "" +"Этот модуль не работает или недоступен в WebAssembly. См. :ref:`wasm-" +"availability` для получения дополнительной информации." msgid "Executor Objects" msgstr "" @@ -609,6 +610,8 @@ msgid "" "The proposal which described this feature for inclusion in the Python " "standard library." msgstr "" +"Пропозиція, яка описує цю функцію для включення в стандартну бібліотеку " +"Python." msgid "Exception classes" msgstr "" diff --git a/library/configparser.po b/library/configparser.po index 96537a9a2f..b4abd2bc05 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-02-21 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -1564,7 +1560,7 @@ msgid "file" msgstr "plik" msgid "configuration" -msgstr "" +msgstr "конфигурация" msgid "ini file" msgstr "" @@ -1573,7 +1569,7 @@ msgid "Windows ini file" msgstr "" msgid "% (percent)" -msgstr "" +msgstr "% (процент)" msgid "interpolation in configuration files" msgstr "" diff --git a/library/constants.po b/library/constants.po index 6d07bd505f..7c5e015b19 100644 --- a/library/constants.po +++ b/library/constants.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Wiktor Matuszewski , 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Wiktor Matuszewski , 2024\n" +"POT-Creation-Date: 2025-03-07 14:18+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/contextlib.po b/library/contextlib.po index c6a4221601..0527b84601 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-2025, 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.11\n" +"Project-Id-Version: Python 3.13\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: 2025-04-11 14:19+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -62,14 +61,15 @@ 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,12 +142,28 @@ 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 "" @@ -135,6 +171,23 @@ msgid "" "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 " @@ -184,14 +285,52 @@ msgid "" "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." @@ -236,14 +410,31 @@ msgid "" "`with` statement::" msgstr "" +msgid "" +"with redirect_stdout(io.StringIO()) as f:\n" +" help(pow)\n" +"s = f.getvalue()" +msgstr "" + msgid "" "To send the output of :func:`help` to a file on disk, redirect the output to " "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 " @@ -288,16 +479,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 +542,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 +567,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 +613,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 +655,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 +670,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 +724,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 +748,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,22 +763,31 @@ 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 "Examples and Recipes" +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`." @@ -495,6 +805,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 " @@ -512,6 +832,17 @@ msgid "" "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 "" "Actually needing to do this is likely to indicate that the underlying API " "should be providing a direct resource management interface for use with :" @@ -528,7 +859,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 +868,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 +915,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 +939,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 +958,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 +1015,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 +1094,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 +1132,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 +1186,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 +1225,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 4d002c7550..bd1db80dde 100644 --- a/library/contextvars.po +++ b/library/contextvars.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/copy.po b/library/copy.po index 29880dd437..239fa2475f 100644 --- a/library/copy.po +++ b/library/copy.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-05-30 14:58+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -162,7 +161,7 @@ msgid "module" msgstr "moduł" msgid "pickle" -msgstr "" +msgstr "pickle" msgid "__copy__() (copy protocol)" msgstr "" diff --git a/library/copyreg.po b/library/copyreg.po index 727285372c..5aeb49ff79 100644 --- a/library/copyreg.po +++ b/library/copyreg.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -73,7 +72,7 @@ msgid "module" msgstr "moduł" msgid "pickle" -msgstr "" +msgstr "pickle" msgid "copy" -msgstr "" +msgstr "копировать" diff --git a/library/csv.po b/library/csv.po index fa41ffd9fe..43d03c90b1 100644 --- a/library/csv.po +++ b/library/csv.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-07-04 15:01+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -65,7 +64,7 @@ msgid "The Python Enhancement Proposal which proposed this addition to Python." msgstr "" msgid "Module Contents" -msgstr "" +msgstr "Modul-Modul" msgid "The :mod:`csv` module defines the following functions:" msgstr "" @@ -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::" @@ -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 "" @@ -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,7 +486,8 @@ 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 "" @@ -637,7 +662,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 "" @@ -666,7 +691,7 @@ msgid "csv" msgstr "" msgid "data" -msgstr "" +msgstr "data" msgid "tabular" msgstr "" diff --git a/library/ctypes.po b/library/ctypes.po index 94fb85af86..0fca0fcb41 100644 --- a/library/ctypes.po +++ b/library/ctypes.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-25 15:00+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -351,12 +350,60 @@ msgstr ":class:`c_int`" msgid ":c:expr:`int`" msgstr ":c:expr:`int`" +msgid ":class:`c_int8`" +msgstr "" + +msgid ":c:type:`int8_t`" +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 "" +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`" msgstr ":class:`c_long`" @@ -2481,16 +2528,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 "Na przykład::" + 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 "" @@ -2504,16 +2581,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 "" @@ -2852,7 +2921,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 "" @@ -2908,8 +2977,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 "" diff --git a/library/curses.ascii.po b/library/curses.ascii.po index 960f9cd433..88ff5ff8bd 100644 --- a/library/curses.ascii.po +++ b/library/curses.ascii.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -267,10 +267,10 @@ msgid "" msgstr "" msgid "^ (caret)" -msgstr "" +msgstr "^ (caret)" msgid "in curses module" msgstr "" msgid "! (exclamation)" -msgstr "" +msgstr "! (знак оклику)" diff --git a/library/curses.panel.po b/library/curses.panel.po index 1f93878465..75bf1fe889 100644 --- a/library/curses.panel.po +++ b/library/curses.panel.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/curses.po b/library/curses.po index dd0833644a..c71327b978 100644 --- a/library/curses.po +++ b/library/curses.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Michał Biliński , 2021 -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -50,6 +48,8 @@ msgid "" "This module is not supported on :ref:`mobile platforms ` or :ref:`WebAssembly platforms `." msgstr "" +"Этот модуль не поддерживается на :ref:`мобильных платформах ` или :ref:`платформах WebAssembly `." msgid "" "Whenever the documentation mentions a *character* it can be specified as an " @@ -1385,7 +1385,7 @@ msgid "Key constant" msgstr "" msgid "Key" -msgstr "" +msgstr "*Key*" msgid "Minimum key value" msgstr "" diff --git a/library/dataclasses.po b/library/dataclasses.po index f111b8c8bc..c88160a80b 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-2025, 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.13\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 15:01+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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:`dataclasses` --- Data Classes" +msgid ":mod:`!dataclasses` --- Data Classes" msgstr "" msgid "**Source code:** :source:`Lib/dataclasses.py`" @@ -31,9 +31,9 @@ msgstr "" 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 "" @@ -42,27 +42,48 @@ msgid "" msgstr "" 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 "" @@ -71,7 +92,7 @@ msgid "" 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 +100,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,133 +143,146 @@ 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." +"Calling no-arg :func:`super` in dataclasses using ``slots=True`` will result " +"in the following exception being raised: ``TypeError: super(type, obj): obj " +"must be an instance or subtype of type``. The two-arg :func:`super` is a " +"valid workaround. See :gh:`90562` 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``." +"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 "" +"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 "" @@ -242,8 +291,18 @@ msgid "" msgstr "" 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 "" @@ -256,10 +315,19 @@ 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 +335,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 "" @@ -312,58 +381,70 @@ msgid "" msgstr "" 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 "" -"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 "" @@ -371,6 +452,14 @@ msgid "" "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 " "dataclass. Accepts either a dataclass, or an instance of a dataclass. " @@ -379,26 +468,45 @@ msgid "" msgstr "" 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 "" @@ -407,68 +515,105 @@ msgid "Continuing from the previous example::" msgstr "" msgid "" -":func:`astuple` raises :exc:`TypeError` if ``obj`` is not a dataclass " +"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 " "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 "" "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 "" -"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 "" +"Dataclass instances are also supported by generic function :func:`copy." +"replace`." msgstr "" msgid "" -"Return ``True`` if its parameter is a dataclass or an instance of one, " -"otherwise return ``False``." +"Return ``True`` if its parameter is a dataclass (including subclasses of a " +"dataclass) or an instance of one, otherwise return ``False``." msgstr "" msgid "" @@ -477,15 +622,20 @@ msgid "" "type)``::" msgstr "" +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 +645,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 "" @@ -510,13 +671,12 @@ msgid "Post-init processing" 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 "" @@ -525,17 +685,41 @@ msgid "" 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 "" @@ -548,27 +732,28 @@ msgid "Class variables" 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 "" 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 "" @@ -577,8 +762,22 @@ msgid "" 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 "" +"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" @@ -586,8 +785,8 @@ 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 +794,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 "Re-ordering of keyword-only parameters in :meth:`~object.__init__`" +msgid "def __init__(self, x: int = 15, y: int = 0, z: int = 10):" +msgstr "" + +msgid "Re-ordering of keyword-only parameters in :meth:`!__init__`" msgstr "" msgid "" @@ -632,12 +848,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 "" +"@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 "" -"The generated :meth:`~object.__init__` method for ``D`` will look like::" +"def __init__(self, x: Any = 15.0, z: int = 10, *, y: int = 0, w: int = 1, t: " +"int = 0):" msgstr "" msgid "" @@ -648,22 +883,25 @@ 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 "" 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 "" @@ -677,26 +915,59 @@ msgid "" msgstr "" 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 "" -"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." +"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 :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 "" @@ -705,9 +976,17 @@ msgid "" 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 +998,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 ebd872eb35..af825f920a 100644 --- a/library/datatypes.po +++ b/library/datatypes.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 -# Maciej Olko , 2022 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Maciej Olko , 2022\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/datetime.po b/library/datetime.po index 9d3ed279c5..e256949c7d 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-16 14:58+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -46,7 +43,7 @@ msgid "Skip to :ref:`the format codes `." msgstr "" msgid "Module :mod:`calendar`" -msgstr "" +msgstr "Modul :mod:`calendar`" msgid "General calendar related functions." msgstr "" @@ -346,6 +343,24 @@ msgid "" "(-1, 86399, 999999)" msgstr "" +msgid "" +"Since the string representation of :class:`!timedelta` objects can be " +"confusing, use the following recipe to produce a more readable format:" +msgstr "" + +msgid "" +">>> def pretty_timedelta(td):\n" +"... if td.days >= 0:\n" +"... return str(td)\n" +"... return f'-({-td!s})'\n" +"...\n" +">>> d = timedelta(hours=-1)\n" +">>> str(d) # not human-friendly\n" +"'-1 day, 23:00:00'\n" +">>> pretty_timedelta(d)\n" +"'-(1:00:00)'" +msgstr "" + msgid "Class attributes:" msgstr "" @@ -2904,7 +2919,7 @@ msgid "" msgstr "" msgid "Directive" -msgstr "" +msgstr "Petunjuk" msgid "Meaning" msgstr "Znaczenie" @@ -2958,7 +2973,7 @@ msgid "01, 02, ..., 31" msgstr "" msgid "\\(9)" -msgstr "" +msgstr "\\(9)" msgid "``%b``" msgstr "``%b``" @@ -3006,7 +3021,7 @@ msgid "``%Y``" msgstr "``%Y``" msgid "Year with century as a decimal number." -msgstr "" +msgstr "Рік із століттям як десяткове число." msgid "0001, 0002, ..., 2013, 2014, ..., 9998, 9999" msgstr "" @@ -3030,7 +3045,7 @@ msgid "``%p``" msgstr "``%p``" msgid "Locale's equivalent of either AM or PM." -msgstr "" +msgstr "Локальний еквівалент AM або PM." msgid "AM, PM (en_US);" msgstr "" @@ -3083,7 +3098,7 @@ msgid "(empty), +0000, -0400, +1030, +063415, -030712.345216" msgstr "" msgid "\\(6)" -msgstr "" +msgstr "\\(6)" msgid "``%Z``" msgstr "``%Z``" @@ -3131,7 +3146,7 @@ msgid "``%c``" msgstr "``%c``" msgid "Locale's appropriate date and time representation." -msgstr "" +msgstr "Відповідне представлення дати та часу в локалі." msgid "Tue Aug 16 21:30:00 1988 (en_US);" msgstr "" @@ -3143,7 +3158,7 @@ msgid "``%x``" msgstr "``%x``" msgid "Locale's appropriate date representation." -msgstr "" +msgstr "Відповідне представлення дати в локалі." msgid "08/16/88 (None);" msgstr "" @@ -3158,7 +3173,7 @@ msgid "``%X``" msgstr "``%X``" msgid "Locale's appropriate time representation." -msgstr "" +msgstr "Відповідне представлення часу локалі." msgid "21:30:00 (en_US);" msgstr "21:30:00 (en_US);" @@ -3170,7 +3185,7 @@ msgid "``%%``" msgstr "``%%``" msgid "A literal ``'%'`` character." -msgstr "" +msgstr "Буквальний символ ``'%''``." msgid "%" msgstr "%" @@ -3189,7 +3204,7 @@ msgid "" msgstr "" msgid "\\(8)" -msgstr "" +msgstr "\\(8)" msgid "``%u``" msgstr "``%u``" @@ -3461,7 +3476,7 @@ msgid "" msgstr "" msgid "% (percent)" -msgstr "" +msgstr "% (процент)" msgid "datetime format" -msgstr "" +msgstr "формат даты и времени" diff --git a/library/dbm.po b/library/dbm.po index 44116fa1cb..ab34fe9663 100644 --- a/library/dbm.po +++ b/library/dbm.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-02-14 14:17+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -189,7 +188,7 @@ msgid "" msgstr "" msgid "Module :mod:`shelve`" -msgstr "" +msgstr "Модуль :mod:`shelve`" msgid "Persistence module which stores non-string data." msgstr "" @@ -217,6 +216,8 @@ msgid "" "This module does not work or is not available on WebAssembly. See :ref:`wasm-" "availability` for more information." msgstr "" +"Этот модуль не работает или недоступен в WebAssembly. См. :ref:`wasm-" +"availability` для получения дополнительной информации." msgid "" "Open an SQLite database. The returned object behaves like a :term:`mapping`, " @@ -253,6 +254,8 @@ msgid "" "This module is not supported on :ref:`mobile platforms ` or :ref:`WebAssembly platforms `." msgstr "" +"Этот модуль не поддерживается на :ref:`мобильных платформах ` или :ref:`платформах WebAssembly `." msgid "" "Raised on :mod:`dbm.gnu`-specific errors, such as I/O errors. :exc:" @@ -298,7 +301,7 @@ msgid "" msgstr "" msgid "Raises" -msgstr "" +msgstr "Поднимает" msgid "If an invalid *flag* argument is passed." msgstr "" @@ -396,7 +399,7 @@ msgid "" msgstr "" msgid "Accepts :term:`path-like object` for filename." -msgstr "" +msgstr "Принимает :term:`путеподобный объект` в качестве имени файла." msgid "Close the NDBM database." msgstr "" diff --git a/library/debug.po b/library/debug.po index 4624775d9e..7fb8d4fa88 100644 --- a/library/debug.po +++ b/library/debug.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Stefan Ocetkiewicz , 2021\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/decimal.po b/library/decimal.po index 83a97f8320..7733e2a436 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\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: 2025-05-23 14:55+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -136,7 +134,7 @@ msgid "" "Arithmetic Specification `_." msgstr "" -msgid "Quick-start Tutorial" +msgid "Quick-start tutorial" msgstr "" msgid "" @@ -1184,43 +1182,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 "" @@ -1765,7 +1760,7 @@ msgid "" " FloatOperation(DecimalException, exceptions.TypeError)" msgstr "" -msgid "Floating-Point Notes" +msgid "Floating-point notes" msgstr "" msgid "Mitigating round-off error with increased precision" @@ -1939,7 +1934,7 @@ msgid "" msgstr "" msgid "Recipes" -msgstr "" +msgstr "рецепти" msgid "" "Here are a few recipes that serve as utility functions and that demonstrate " diff --git a/library/devmode.po b/library/devmode.po index 682321da08..3f84b645e8 100644 --- a/library/devmode.po +++ b/library/devmode.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/difflib.po b/library/difflib.po index 8dafb276b5..9a1abbe333 100644 --- a/library/difflib.po +++ b/library/difflib.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/dis.po b/library/dis.po index 7ba948f713..e070b45d4e 100644 --- a/library/dis.po +++ b/library/dis.po @@ -4,9 +4,7 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# haaritsubaki, 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" @@ -14,8 +12,8 @@ msgstr "" "Project-Id-Version: Python 3.13\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" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -109,7 +107,7 @@ msgid "(The \"2\" is a line number)." msgstr "" msgid "Command-line interface" -msgstr "" +msgstr "Интерфейс командной строки" msgid "The :mod:`dis` module can be invoked as a script from the command line:" msgstr "" @@ -118,7 +116,7 @@ msgid "python -m dis [-h] [-C] [-O] [infile]" msgstr "" msgid "The following options are accepted:" -msgstr "" +msgstr "Приймаються такі варіанти:" msgid "Display usage and exit." msgstr "" diff --git a/library/doctest.po b/library/doctest.po index 13a25818d2..c7b07b876a 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-25 15:00+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -222,8 +220,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 "" @@ -294,7 +292,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 "" @@ -664,7 +662,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 "" @@ -1017,17 +1015,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 "" @@ -1120,7 +1118,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 "" @@ -1130,8 +1128,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 "" @@ -1265,8 +1263,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." @@ -1311,15 +1309,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 "" @@ -1345,11 +1344,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 "" @@ -1358,6 +1358,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." @@ -1370,7 +1376,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`." @@ -1381,13 +1388,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 " @@ -1405,17 +1405,17 @@ 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 "" @@ -1432,12 +1432,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 "" @@ -1545,7 +1545,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 "" @@ -1691,10 +1691,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" @@ -1715,7 +1715,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 "" @@ -1729,7 +1729,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 "" @@ -1758,7 +1758,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 "" @@ -1810,7 +1810,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 "" @@ -2244,8 +2244,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 "" @@ -2291,7 +2291,7 @@ msgid "..." msgstr "..." msgid "^ (caret)" -msgstr "" +msgstr "^ (caret)" msgid "marker" msgstr "" @@ -2306,7 +2306,7 @@ msgid "# (hash)" msgstr "# (kratka)" msgid "+ (plus)" -msgstr "" +msgstr "+ (плюс)" msgid "- (minus)" -msgstr "" +msgstr "- (мінус)" diff --git a/library/email.charset.po b/library/email.charset.po index 86388cefd7..de20f29bcf 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-2025, 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.13\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 15:02+0000\n" +"PO-Revision-Date: 2025-05-08 05:09+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..72e41878a1 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-2025, 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.13\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 15:02+0000\n" +"PO-Revision-Date: 2025-05-08 05:09+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,13 @@ msgid "" "Used for the ``in`` operator, e.g.::" msgstr "" +msgid "" +"if 'message-id' in myMessage:\n" +" print('Message-ID:', myMessage['message-id'])" +msgstr "" +"if 'message-id' in myMessage:\n" +" print('Message-ID:', myMessage['message-id'])" + 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 +384,42 @@ 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 "" +"del msg['subject']\n" +"msg['subject'] = 'Python roolz!'" 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 +430,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 +440,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 " @@ -414,15 +464,33 @@ msgstr "" msgid "Here's an example::" msgstr "" -msgid "This will add a header that looks like ::" +msgid "msg.add_header('Content-Disposition', 'attachment', filename='bud.gif')" msgstr "" +"msg.add_header('Content-Disposition', 'attachment', filename='bud.gif')" + +msgid "This will add a header that looks like ::" +msgstr "Це додасть заголовок, який виглядає так::" + +msgid "Content-Disposition: attachment; filename=\"bud.gif\"" +msgstr "Content-Disposition: attachment; filename=\"bud.gif\"" msgid "An example with non-ASCII characters::" msgstr "" +msgid "" +"msg.add_header('Content-Disposition', 'attachment',\n" +" filename=('iso-8859-1', '', 'Fußballer.ppt'))" +msgstr "" +"msg.add_header('Content-Disposition', 'attachment',\n" +" filename=('iso-8859-1', '', 'Fußballer.ppt'))" + 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 +518,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 +534,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 +561,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 +595,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 +632,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 +667,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 +679,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 +692,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 +703,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 +722,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 +737,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 +755,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 +766,38 @@ 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 "" +">>> 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" msgid "" "``walk`` iterates over the subparts of any part where :meth:`is_multipart` " @@ -670,12 +805,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 +853,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 +871,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 +903,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 72d62b36e6..1639e5a2a6 100644 --- a/library/email.contentmanager.po +++ b/library/email.contentmanager.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2025-01-24 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/email.encoders.po b/library/email.encoders.po index 0411469ece..e3afa9f390 100644 --- a/library/email.encoders.po +++ b/library/email.encoders.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/email.examples.po b/library/email.examples.po index e3bd8290a1..beced0ad76 100644 --- a/library/email.examples.po +++ b/library/email.examples.po @@ -4,7 +4,7 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" @@ -12,8 +12,8 @@ msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/email.generator.po b/library/email.generator.po index 28ce9dd576..2ac71a5da1 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/email.header.po b/library/email.header.po index 2b1624a3d5..ab75af2895 100644 --- a/library/email.header.po +++ b/library/email.header.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-05-08 05:09+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,10 +24,10 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!email.header`: Internationalized headers" -msgstr "" +msgstr ":mod:`!email.header`: Интернационализированные заголовки" 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 " @@ -37,11 +37,17 @@ msgid "" "that need to completely control the character sets used when encoding " "headers." msgstr "" +"Цей модуль є частиною застарілого (``Compat32``) API електронної пошти. У " +"поточному API кодування та декодування заголовків обробляється прозоро за " +"допомогою словникового API класу :class:`~email.message.EmailMessage`. На " +"додаток до використання у застарілому коді, цей модуль може бути корисним у " +"програмах, яким потрібно повністю контролювати набори символів, що " +"використовуються під час кодування заголовків." msgid "" "The remaining text in this section is the original documentation of the " "module." -msgstr "" +msgstr "Решта тексту в цьому розділі є оригінальною документацією модуля." msgid "" ":rfc:`2822` is the base standard that describes the format of email " @@ -50,6 +56,11 @@ msgid "" "only. :rfc:`2822` is a specification written assuming email contains only 7-" "bit ASCII characters." msgstr "" +":rfc:`2822` — це базовий стандарт, який описує формат електронних " +"повідомлень. Він походить від старішого стандарту :rfc:`822`, який набув " +"широкого використання в той час, коли більшість електронних листів " +"складалися лише з символів ASCII. :rfc:`2822` — це специфікація, написана за " +"умови, що електронна пошта містить лише 7-бітні символи ASCII." msgid "" "Of course, as email has been deployed worldwide, it has become " @@ -61,6 +72,15 @@ msgid "" "`2046`, :rfc:`2047`, and :rfc:`2231`. The :mod:`email` package supports " "these standards in its :mod:`email.header` and :mod:`email.charset` modules." msgstr "" +"Звичайно, оскільки електронна пошта була розгорнута в усьому світі, вона " +"стала інтернаціоналізованою, так що набори символів для певної мови тепер " +"можна використовувати в електронних повідомленнях. Базовий стандарт все ще " +"вимагає, щоб повідомлення електронної пошти передавалися лише з " +"використанням 7-бітових символів ASCII, тому було написано безліч RFC, які " +"описують, як кодувати електронну пошту, що містить символи, відмінні від " +"ASCII, у :rfc:`2822`\\ -сумісний формат. Ці RFC включають :rfc:`2045`, :rfc:" +"`2046`, :rfc:`2047` і :rfc:`2231`. Пакет :mod:`email` підтримує ці стандарти " +"у своїх модулях :mod:`email.header` і :mod:`email.charset`." msgid "" "If you want to include non-ASCII characters in your email headers, say in " @@ -70,6 +90,12 @@ msgid "" "for the header value. Import the :class:`Header` class from the :mod:`email." "header` module. For example::" msgstr "" +"Якщо ви хочете включити символи, відмінні від ASCII, у заголовки електронної " +"пошти, скажімо, у поля :mailheader:`Subject` або :mailheader:`To`, вам слід " +"використовувати клас :class:`Header` і призначити поле в :class:`~email." +"message.Message` до екземпляра :class:`Header` замість використання рядка " +"для значення заголовка. Імпортуйте клас :class:`Header` з модуля :mod:`email." +"header`. Наприклад::" msgid "" ">>> from email.message import Message\n" @@ -80,6 +106,13 @@ msgid "" ">>> msg.as_string()\n" "'Subject: =?iso-8859-1?q?p=F6stal?=\\n\\n'" msgstr "" +">>> from email.message import Message\n" +">>> from email.header import Header\n" +">>> msg = Message()\n" +">>> h = Header('p\\xf6stal', 'iso-8859-1')\n" +">>> msg['Subject'] = h\n" +">>> msg.as_string()\n" +"'Subject: =?iso-8859-1?q?p=F6stal?=\\n\\n'" msgid "" "Notice here how we wanted the :mailheader:`Subject` field to contain a non-" @@ -89,14 +122,23 @@ msgid "" "mailheader:`Subject` field was properly :rfc:`2047` encoded. MIME-aware " "mail readers would show this header using the embedded ISO-8859-1 character." msgstr "" +"Зверніть увагу, як ми хотіли, щоб поле :mailheader:`Subject` містило символ " +"не ASCII? Ми зробили це, створивши екземпляр :class:`Header` і передавши " +"набір символів, у якому було закодовано рядок байтів. Коли наступний " +"екземпляр :class:`~email.message.Message` було зведено, :mailheader:" +"`Subject` було правильно закодовано :rfc:`2047`. Програми читання пошти з " +"підтримкою MIME відображатимуть цей заголовок за допомогою вбудованого " +"символу ISO-8859-1." msgid "Here is the :class:`Header` class description:" -msgstr "" +msgstr "Ось опис класу :class:`Header`:" msgid "" "Create a MIME-compliant header that can contain strings in different " "character sets." msgstr "" +"Створіть MIME-сумісний заголовок, який може містити рядки з різними наборами " +"символів." msgid "" "Optional *s* is the initial header value. If ``None`` (the default), the " @@ -104,6 +146,11 @@ msgid "" "meth:`append` method calls. *s* may be an instance of :class:`bytes` or :" "class:`str`, but see the :meth:`append` documentation for semantics." msgstr "" +"Необов’язковий параметр *s* — початкове значення заголовка. Якщо ``None`` " +"(за замовчуванням), початкове значення заголовка не встановлено. Ви можете " +"пізніше додати до заголовка за допомогою викликів методу :meth:`append`. *s* " +"може бути екземпляром :class:`bytes` або :class:`str`, але див. " +"документацію :meth:`append` щодо семантики." msgid "" "Optional *charset* serves two purposes: it has the same meaning as the " @@ -113,6 +160,12 @@ msgid "" "default), the ``us-ascii`` character set is used both as *s*'s initial " "charset and as the default for subsequent :meth:`append` calls." msgstr "" +"Додатковий *charset* служить двом цілям: він має те саме значення, що й " +"аргумент *charset* для методу :meth:`append`. Він також встановлює " +"стандартний набір символів для всіх наступних викликів :meth:`append`, які " +"пропускають аргумент *charset*. Якщо *charset* не надано в конструкторі (за " +"замовчуванням), набір символів ``us-ascii`` використовується і як початковий " +"набір символів *s*, і як типовий для наступних викликів :meth:`append`." msgid "" "The maximum line length can be specified explicitly via *maxlinelen*. For " @@ -122,6 +175,12 @@ msgid "" "value for *header_name* is ``None``, meaning it is not taken into account " "for the first line of a long, split header." msgstr "" +"Максимальная длина строки может быть указана явно с помощью *maxlinelen*. " +"Чтобы разделить первую строку на более короткое значение (чтобы учесть " +"заголовок поля, который не включен в *s*, например :mailheader:`Subject`), " +"передайте имя поля в *header_name*. Значение по умолчанию *maxlinelen* равно " +"78, а значение по умолчанию для *header_name* — ``None``, что означает, что " +"оно не учитывается в первой строке длинного разделенного заголовка." msgid "" "Optional *continuation_ws* must be :rfc:`2822`\\ -compliant folding " @@ -129,13 +188,18 @@ msgid "" "character will be prepended to continuation lines. *continuation_ws* " "defaults to a single space character." msgstr "" +"Необов’язковий *continuation_ws* має бути :rfc:`2822`\\ -сумісним згортаним " +"пробілом і зазвичай є пробілом або символом жорсткої табуляції. Цей символ " +"буде додано до рядків продовження. *continuation_ws* за замовчуванням " +"використовує один пробіл." msgid "" "Optional *errors* is passed straight through to the :meth:`append` method." msgstr "" +"Необов’язкові *помилки* передаються безпосередньо до методу :meth:`append`." msgid "Append the string *s* to the MIME header." -msgstr "" +msgstr "Додайте рядок *s* до заголовка MIME." msgid "" "Optional *charset*, if given, should be a :class:`~email.charset.Charset` " @@ -144,6 +208,11 @@ msgid "" "``None`` (the default) means that the *charset* given in the constructor is " "used." msgstr "" +"Додатковий *charset*, якщо він наданий, має бути екземпляром :class:`~email." +"charset.Charset` (див. :mod:`email.charset`) або назвою набору символів, " +"який буде перетворено на :class:`~email.charset.Charset` екземпляр. Значення " +"``None`` (за замовчуванням) означає, що використовується *набір символів*, " +"наданий у конструкторі." msgid "" "*s* may be an instance of :class:`bytes` or :class:`str`. If it is an " @@ -151,11 +220,17 @@ msgid "" "string, and a :exc:`UnicodeError` will be raised if the string cannot be " "decoded with that character set." msgstr "" +"*s* може бути екземпляром :class:`bytes` або :class:`str`. Якщо це " +"екземпляр :class:`bytes`, тоді *charset* є кодуванням цього рядка байтів, і :" +"exc:`UnicodeError` буде викликано, якщо рядок не можна декодувати за " +"допомогою цього набору символів." msgid "" "If *s* is an instance of :class:`str`, then *charset* is a hint specifying " "the character set of the characters in the string." msgstr "" +"Якщо *s* є екземпляром :class:`str`, тоді *charset* є підказкою, що визначає " +"набір символів у рядку." msgid "" "In either case, when producing an :rfc:`2822`\\ -compliant header using :rfc:" @@ -163,17 +238,26 @@ msgid "" "charset. If the string cannot be encoded using the output codec, a " "UnicodeError will be raised." msgstr "" +"У будь-якому випадку, під час створення :rfc:`2822`\\ -сумісного заголовка з " +"використанням правил :rfc:`2047` рядок кодуватиметься за допомогою вихідного " +"кодека набору символів. Якщо рядок неможливо закодувати за допомогою " +"вихідного кодека, виникне UnicodeError." msgid "" "Optional *errors* is passed as the errors argument to the decode call if *s* " "is a byte string." msgstr "" +"Необов’язковий *errors* передається як аргумент errors виклику декодування, " +"якщо *s* є рядком байтів." msgid "" "Encode a message header into an RFC-compliant format, possibly wrapping long " "lines and encapsulating non-ASCII parts in base64 or quoted-printable " "encodings." msgstr "" +"Закодуйте заголовок повідомлення у RFC-сумісний формат, можливо, обгортаючи " +"довгі рядки та інкапсулюючи частини, що не належать до ASCII, у кодування " +"base64 або кодування в лапках." msgid "" "Optional *splitchars* is a string containing characters which should be " @@ -186,11 +270,22 @@ msgid "" "point when other split chars do not appear in the line being split. " "Splitchars does not affect :RFC:`2047` encoded lines." msgstr "" +"Необов’язковий *splitchars* — це рядок, що містить символи, яким слід надати " +"додаткову вагу за допомогою алгоритму розбиття під час звичайного обгортання " +"заголовка. Це є дуже грубою підтримкою \"синтаксичних розривів вищого " +"рівня\" :RFC:`2822`: крапки розділення, яким передує символ розділення, є " +"кращими під час поділу рядка, а символи мають перевагу в тому порядку, в " +"якому вони з’являються в рядку. Пробіл і табуляція можуть бути включені в " +"рядок, щоб вказати, чи слід надавати перевагу одному над іншим як точці " +"розділення, коли інші символи розділення не з’являються в рядку, що " +"розділяється. Splitchars не впливає на рядки, закодовані :RFC:`2047`." msgid "" "*maxlinelen*, if given, overrides the instance's value for the maximum line " "length." msgstr "" +"*maxlinelen*, якщо задано, замінює значення екземпляра для максимальної " +"довжини рядка." msgid "" "*linesep* specifies the characters used to separate the lines of the folded " @@ -198,14 +293,20 @@ msgid "" "(``\\n``), but ``\\r\\n`` can be specified in order to produce headers with " "RFC-compliant line separators." msgstr "" +"*linesep* визначає символи, які використовуються для розділення рядків " +"згорнутого заголовка. За замовчуванням це найбільш корисне значення для коду " +"програми Python (``\\n``), але ``\\r\\n`` можна вказати, щоб створити " +"заголовки з RFC-сумісними роздільниками рядків." msgid "Added the *linesep* argument." -msgstr "" +msgstr "Додано аргумент *linesep*." msgid "" "The :class:`Header` class also provides a number of methods to support " "standard operators and built-in functions." msgstr "" +"Клас :class:`Header` також надає ряд методів для підтримки стандартних " +"операторів і вбудованих функцій." msgid "" "Returns an approximation of the :class:`Header` as a string, using an " @@ -214,61 +315,99 @@ msgid "" "charset of ``'unknown-8bit'`` are decoded as ASCII using the ``'replace'`` " "error handler." msgstr "" +"Повертає наближення :class:`Header` у вигляді рядка, використовуючи " +"необмежену довжину рядка. Усі фрагменти перетворюються на юнікод із " +"використанням зазначеного кодування та об’єднуються належним чином. Будь-які " +"фрагменти з кодуванням ``'unknown-8bit'`` декодуються як ASCII за допомогою " +"обробника помилок ``'replace'``." msgid "Added handling for the ``'unknown-8bit'`` charset." -msgstr "" +msgstr "Додано обробку набору символів ``'unknown-8bit''``." msgid "" "This method allows you to compare two :class:`Header` instances for equality." msgstr "" +"Цей метод дозволяє порівнювати два екземпляри :class:`Header` на предмет " +"рівності." msgid "" "This method allows you to compare two :class:`Header` instances for " "inequality." msgstr "" +"Цей метод дозволяє порівнювати два екземпляри :class:`Header` на предмет " +"нерівності." msgid "" "The :mod:`email.header` module also provides the following convenient " "functions." -msgstr "" +msgstr "Модуль :mod:`email.header` також надає такі зручні функції." msgid "" "Decode a message header value without converting the character set. The " "header value is in *header*." msgstr "" +"Декодуйте значення заголовка повідомлення без перетворення набору символів. " +"Значення заголовка знаходиться в *заголовку*." + +msgid "For historical reasons, this function may return either:" +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." +"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 "Here's an example::" +msgid "``None`` for non-encoded parts of the header." msgstr "" msgid "" -">>> from email.header import decode_header\n" -">>> decode_header('=?iso-8859-1?q?p=F6stal?=')\n" -"[(b'p\\xf6stal', 'iso-8859-1')]" +"A list of length 1 containing a pair ``(string, None)``, where *string* is " +"always an instance of :class:`str`." +msgstr "" + +msgid "" +"An :exc:`email.errors.HeaderParseError` may be raised when certain decoding " +"errors occur (e.g. a base64 decoding exception)." +msgstr "" + +msgid "Here are examples:" +msgstr "" + +msgid "" +"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 :" "func:`decode_header`." msgstr "" +"Створіть екземпляр :class:`Header` із послідовності пар, які повертає :func:" +"`decode_header`." msgid "" ":func:`decode_header` takes a header value string and returns a sequence of " "pairs of the format ``(decoded_string, charset)`` where *charset* is the " "name of the character set." msgstr "" +":func:`decode_header` приймає рядок значення заголовка та повертає " +"послідовність пар у форматі ``(decoded_string, charset)``, де *charset* — " +"назва набору символів." msgid "" "This function takes one of those sequence of pairs and returns a :class:" "`Header` instance. Optional *maxlinelen*, *header_name*, and " "*continuation_ws* are as in the :class:`Header` constructor." msgstr "" +"Ця функція бере одну з цих пар і повертає екземпляр :class:`Header`. " +"Необов’язкові *maxlinelen*, *header_name* і *continuation_ws* такі, як у " +"конструкторі :class:`Header`." + +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 e003d27a7e..61d0e8d0bc 100644 --- a/library/email.headerregistry.po +++ b/library/email.headerregistry.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Seweryn Piórkowski , 2021 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Seweryn Piórkowski , 2021\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -379,7 +378,7 @@ msgid "SingleAddressHeader" msgstr "" msgid "to" -msgstr "" +msgstr "ke" msgid "UniqueAddressHeader" msgstr "" diff --git a/library/email.message.po b/library/email.message.po index 06f067e878..b88526c884 100644 --- a/library/email.message.po +++ b/library/email.message.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/email.parser.po b/library/email.parser.po index be98cfbb25..cb669960d0 100644 --- a/library/email.parser.po +++ b/library/email.parser.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\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: 2025-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-05-08 05:09+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,10 +24,10 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!email.parser`: Parsing email messages" -msgstr "" +msgstr ":mod:`!email.parser`: Парсинг email повідомлень" 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 " @@ -37,6 +37,12 @@ msgid "" "or they can be created by parsing a serialized representation of the email " "message." msgstr "" +"Структури об’єктів повідомлень можна створити одним із двох способів: їх " +"можна створити з цілої тканини, створивши об’єкт :class:`~email.message." +"EmailMessage`, додавши заголовки за допомогою інтерфейсу словника та додавши " +"корисне(і) навантаження за допомогою :meth:`~email.message.EmailMessage." +"set_content` і пов’язані методи, або їх можна створити шляхом аналізу " +"серіалізованого представлення повідомлення електронної пошти." msgid "" "The :mod:`email` package provides a standard parser that understands most " @@ -51,6 +57,17 @@ msgid "" "meth:`~email.message.EmailMessage.iter_parts`, and :meth:`~email.message." "EmailMessage.walk`." msgstr "" +"Пакет :mod:`email` надає стандартний аналізатор, який розуміє більшість " +"структур документів електронної пошти, включаючи документи MIME. Ви можете " +"передати аналізатору байти, рядок або файловий об’єкт, і аналізатор поверне " +"вам кореневий екземпляр :class:`~email.message.EmailMessage` структури " +"об’єкта. Для простих повідомлень без MIME корисним навантаженням цього " +"кореневого об’єкта, ймовірно, буде рядок, що містить текст повідомлення. Для " +"повідомлень MIME кореневий об’єкт поверне ``True`` зі свого методу :meth:" +"`~email.message.EmailMessage.is_multipart`, а доступ до підчастин можна " +"отримати за допомогою методів маніпулювання корисним навантаженням, таких " +"як :meth:`~email.message.EmailMessage.get_body`, :meth:`~email.message." +"EmailMessage.iter_parts` і :meth:`~email.message.EmailMessage.walk`." msgid "" "There are actually two parser interfaces available for use, the :class:" @@ -63,6 +80,15 @@ msgid "" "message incrementally, and only returns the root object when you close the " "parser." msgstr "" +"Насправді існує два інтерфейси синтаксичного аналізатора, доступні для " +"використання: :class:`Parser` API та інкрементальний :class:`FeedParser` " +"API. API :class:`Parser` найбільш корисний, якщо у вас є весь текст " +"повідомлення в пам’яті або якщо все повідомлення зберігається у файлі у " +"файловій системі. :class:`FeedParser` більше підходить, коли ви читаєте " +"повідомлення з потоку, який може блокувати очікування додаткового введення " +"(наприклад, читання повідомлення електронної пошти з сокета). :class:" +"`FeedParser` може споживати та аналізувати повідомлення поступово, і " +"повертає кореневий об’єкт лише тоді, коли ви закриваєте аналізатор." msgid "" "Note that the parser can be extended in limited ways, and of course you can " @@ -73,15 +99,21 @@ msgid "" "necessary by implementing custom versions of the appropriate :class:`!" "Policy` methods." msgstr "" +"Занотуйте, що парсер може бути розширений в обмежених напрямках ш, звісно, " +"ви можете реалізувати свій власний парсер повністю з нуля. Вся логіка, що " +"пов'язана з парсером з бібліотеки :mod:`email` та класом :class:`~email." +"message.EmailMessage` втілена у класі :class:`~email.policy.Policy`, тому " +"кастомний парсер може створювати дерева повідомлень у будь-який необхідний " +"спосіб, через реалізацію кастомних версій методів :class:`!Policy`." msgid "FeedParser API" -msgstr "" +msgstr "API FeedParser" msgid "" -"The :class:`BytesFeedParser`, imported from the :mod:`email.feedparser` " -"module, provides an API that is conducive to incremental parsing of email " -"messages, such as would be necessary when reading the text of an email " -"message from a source that can block (such as a socket). The :class:" +"The :class:`BytesFeedParser`, imported from the :mod:`email.parser." +"FeedParser` module, provides an API that is conducive to incremental parsing " +"of email messages, such as would be necessary when reading the text of an " +"email message from a source that can block (such as a socket). The :class:" "`BytesFeedParser` can of course be used to parse an email message fully " "contained in a :term:`bytes-like object`, string, or file, but the :class:" "`BytesParser` API may be more convenient for such use cases. The semantics " @@ -99,9 +131,18 @@ msgid "" "it found in a message. See the :mod:`email.errors` module for the list of " "defects that it can find." msgstr "" +"API :class:`BytesFeedParser` простий; ви створюєте екземпляр, передаєте йому " +"купу байтів, доки більше не залишиться, а потім закриваєте аналізатор, щоб " +"отримати кореневий об’єкт повідомлення. :class:`BytesFeedParser` є " +"надзвичайно точним під час аналізу повідомлень, що відповідають стандартам, " +"і він дуже добре справляється з аналізом невідповідних повідомлень, надаючи " +"інформацію про те, як повідомлення було визнано зламаним. Він заповнить " +"атрибут :attr:`~email.message.EmailMessage.defects` об’єкта повідомлення " +"списком будь-яких проблем, знайдених у повідомленні. Дивіться модуль :mod:" +"`email.errors`, щоб переглянути список дефектів, які він може знайти." msgid "Here is the API for the :class:`BytesFeedParser`:" -msgstr "" +msgstr "Ось API для :class:`BytesFeedParser`:" msgid "" "Create a :class:`BytesFeedParser` instance. Optional *_factory* is a no-" @@ -109,6 +150,10 @@ msgid "" "message_factory` from the *policy*. Call *_factory* whenever a new message " "object is needed." msgstr "" +"Створіть екземпляр :class:`BytesFeedParser`. Необов’язковий *_factory* — " +"виклик без аргументів; якщо не вказано, використовуйте :attr:`~email.policy." +"Policy.message_factory` з *політики*. Викликати *_factory* щоразу, коли " +"потрібен новий об’єкт повідомлення." msgid "" "If *policy* is specified use the rules it specifies to update the " @@ -120,17 +165,28 @@ msgid "" "more information on what else *policy* controls, see the :mod:`~email." "policy` documentation." msgstr "" +"Якщо вказано *policy*, використовуйте правила, які вона визначає, щоб " +"оновити представлення повідомлення. Якщо *policy* не налаштовано, " +"використовуйте політику :class:`compat32 `, яка " +"підтримує зворотну сумісність із версією пакета електронної пошти Python 3.2 " +"і надає :class:`~email.message.Message` як фабрику за замовчуванням. Усі " +"інші політики передбачають :class:`~email.message.EmailMessage` як " +"*_factory* за умовчанням. Щоб дізнатися більше про те, що ще контролює " +"*policy*, перегляньте документацію :mod:`~email.policy`." msgid "" "Note: **The policy keyword should always be specified**; The default will " "change to :data:`email.policy.default` in a future version of Python." msgstr "" +"Примітка: **Ключове слово політики слід завжди вказувати**; У наступній " +"версії Python значення за умовчанням зміниться на :data:`email.policy." +"default`." msgid "Added the *policy* keyword." -msgstr "" +msgstr "Додано ключове слово *політика*." msgid "*_factory* defaults to the policy ``message_factory``." -msgstr "" +msgstr "*_factory* за умовчанням використовує політику ``message_factory``." msgid "" "Feed the parser some more data. *data* should be a :term:`bytes-like " @@ -139,23 +195,32 @@ msgid "" "any of the three common line endings: carriage return, newline, or carriage " "return and newline (they can even be mixed)." msgstr "" +"Подайте аналізатору ще трохи даних. *data* має бути :term:`bytes-подібний " +"об'єкт`, що містить один або більше рядків. Рядки можуть бути частковими, і " +"синтаксичний аналізатор правильно з’єднає такі часткові рядки. Рядки можуть " +"мати будь-яке з трьох загальних закінчень рядків: повернення каретки, новий " +"рядок або повернення каретки та новий рядок (вони навіть можуть бути " +"змішаними)." msgid "" "Complete the parsing of all previously fed data and return the root message " "object. It is undefined what happens if :meth:`~feed` is called after this " "method has been called." msgstr "" +"Завершіть розбір усіх попередньо поданих даних і поверніть кореневий об’єкт " +"повідомлення. Не визначено, що відбувається, якщо :meth:`~feed` викликається " +"після виклику цього методу." 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 "" msgid "Parser API" -msgstr "" +msgstr "API парсера" msgid "" "The :class:`BytesParser` class, imported from the :mod:`email.parser` " @@ -169,34 +234,49 @@ msgid "" "do not attempt to parse the message body, instead setting the payload to the " "raw body." msgstr "" +"Клас :class:`BytesParser`, імпортований з модуля :mod:`email.parser`, надає " +"API, який можна використовувати для аналізу повідомлення, коли повний вміст " +"повідомлення доступний у :term:`bytes-подібний об'єкт` або файл. Модуль :mod:" +"`email.parser` також містить :class:`Parser` для аналізу рядків і " +"аналізатори лише заголовків, :class:`BytesHeaderParser` і :class:" +"`HeaderParser`, які можна використовувати, якщо ви цікавляться лише " +"заголовками повідомлень. :class:`BytesHeaderParser` і :class:`HeaderParser` " +"можуть бути набагато швидшими в цих ситуаціях, оскільки вони не намагаються " +"проаналізувати тіло повідомлення, натомість встановлюючи корисне " +"навантаження на необроблене тіло." msgid "" "Create a :class:`BytesParser` instance. The *_class* and *policy* arguments " "have the same meaning and semantics as the *_factory* and *policy* arguments " "of :class:`BytesFeedParser`." msgstr "" +"Створіть екземпляр :class:`BytesParser`. Аргументи *_class* і *policy* мають " +"те саме значення й семантику, що й аргументи *_factory* і *policy* :class:" +"`BytesFeedParser`." msgid "" "Removed the *strict* argument that was deprecated in 2.4. Added the " "*policy* keyword." msgstr "" +"Видалено аргумент *strict*, який був застарілим у версії 2.4. Додано ключове " +"слово *політика*." msgid "*_class* defaults to the policy ``message_factory``." -msgstr "" +msgstr "*_class* за умовчанням використовує політику ``message_factory``." 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.TextIOBase.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 "" @@ -205,6 +285,9 @@ msgid "" "reading the headers or not. The default is ``False``, meaning it parses the " "entire contents of the file." msgstr "" +"Необов’язковий параметр *headersonly* — це позначка, яка вказує, чи зупиняти " +"аналіз після читання заголовків. Типовим значенням є ``False``, що означає, " +"що аналізується весь вміст файлу." msgid "" "Similar to the :meth:`parse` method, except it takes a :term:`bytes-like " @@ -212,21 +295,29 @@ msgid "" "`bytes-like object` is equivalent to wrapping *bytes* in a :class:`~io." "BytesIO` instance first and calling :meth:`parse`." msgstr "" +"Подібний до методу :meth:`parse`, за винятком того, що він приймає :term:" +"`bytes-подібний об'єкт` замість файлоподібного об’єкта. Виклик цього методу " +"для :term:`bytes-подібний об'єкт` еквівалентний обгортанню *bytes* в " +"екземплярі :class:`~io.BytesIO` і виклику :meth:`parse`." msgid "Optional *headersonly* is as with the :meth:`parse` method." msgstr "" +"Необов’язковий *headersonly* такий же, як у випадку з методом :meth:`parse`." msgid "" "Exactly like :class:`BytesParser`, except that *headersonly* defaults to " "``True``." msgstr "" +"Точно так само, як :class:`BytesParser`, за винятком того, що *headersonly* " +"за умовчанням має значення ``True``." msgid "" "This class is parallel to :class:`BytesParser`, but handles string input." msgstr "" +"Цей клас є паралельним до :class:`BytesParser`, але обробляє введення рядків." msgid "Removed the *strict* argument. Added the *policy* keyword." -msgstr "" +msgstr "Видалено *суворий* аргумент. Додано ключове слово *політика*." msgid "" "Read all the data from the text-mode file-like object *fp*, parse the " @@ -234,11 +325,17 @@ msgid "" "the :meth:`~io.TextIOBase.readline` and the :meth:`~io.TextIOBase.read` " "methods on file-like objects." msgstr "" +"Прочитати всі дані з файлоподібного об’єкта текстового режиму *fp*, " +"проаналізувати отриманий текст і повернути кореневий об’єкт повідомлення. " +"*fp* має підтримувати як методи :meth:`~io.TextIOBase.readline`, так і :meth:" +"`~io.TextIOBase.read` для файлоподібних об’єктів." msgid "" "Other than the text mode requirement, this method operates like :meth:" "`BytesParser.parse`." msgstr "" +"За винятком вимог текстового режиму, цей метод працює як :meth:`BytesParser." +"parse`." msgid "" "Similar to the :meth:`parse` method, except it takes a string object instead " @@ -246,16 +343,25 @@ msgid "" "wrapping *text* in a :class:`~io.StringIO` instance first and calling :meth:" "`parse`." msgstr "" +"Подібний до методу :meth:`parse`, за винятком того, що він приймає рядковий " +"об’єкт замість файлоподібного об’єкта. Виклик цього методу для рядка " +"еквівалентний обгортанню *тексту* в екземплярі :class:`~io.StringIO` і " +"виклику :meth:`parse`." msgid "" "Exactly like :class:`Parser`, except that *headersonly* defaults to ``True``." msgstr "" +"Точно так само, як :class:`Parser`, за винятком того, що *headersonly* за " +"замовчуванням має значення ``True``." msgid "" "Since creating a message object structure from a string or a file object is " "such a common task, four functions are provided as a convenience. They are " "available in the top-level :mod:`email` package namespace." msgstr "" +"Оскільки створення структури об’єкта повідомлення з рядка або файлового " +"об’єкта є таким поширеним завданням, для зручності передбачено чотири " +"функції. Вони доступні в просторі імен пакета :mod:`email` верхнього рівня." msgid "" "Return a message object structure from a :term:`bytes-like object`. This is " @@ -263,6 +369,10 @@ msgid "" "*policy* are interpreted as with the :class:`~email.parser.BytesParser` " "class constructor." msgstr "" +"Повертає структуру об’єкта повідомлення з :term:`bytes-подібний об'єкт`. Це " +"еквівалентно ``BytesParser().parsebytes(s)``. Необов’язкові *_class* і " +"*policy* інтерпретуються як конструктор класу :class:`~email.parser." +"BytesParser`." msgid "" "Return a message object structure tree from an open binary :term:`file " @@ -270,36 +380,46 @@ msgid "" "*policy* are interpreted as with the :class:`~email.parser.BytesParser` " "class constructor." msgstr "" +"Повертає дерево структури об’єкта повідомлення з відкритого двійкового " +"файлу :term:`file object`. Це еквівалентно ``BytesParser().parse(fp)``. " +"*_class* і *policy* інтерпретуються як конструктор класу :class:`~email." +"parser.BytesParser`." msgid "" "Return a message object structure from a string. This is equivalent to " "``Parser().parsestr(s)``. *_class* and *policy* are interpreted as with " "the :class:`~email.parser.Parser` class constructor." msgstr "" +"Повертає структуру об’єкта повідомлення з рядка. Це еквівалентно ``Parser()." +"parsestr(s)``. *_class* і *policy* інтерпретуються як конструктор класу :" +"class:`~email.parser.Parser`." msgid "" "Return a message object structure tree from an open :term:`file object`. " "This is equivalent to ``Parser().parse(fp)``. *_class* and *policy* are " "interpreted as with the :class:`~email.parser.Parser` class constructor." msgstr "" +"Повертає дерево структури об’єкта повідомлення з відкритого :term:`file " +"object`. Це еквівалентно ``Parser().parse(fp)``. *_class* і *policy* " +"інтерпретуються як конструктор класу :class:`~email.parser.Parser`." msgid "" "Here's an example of how you might use :func:`message_from_bytes` at an " "interactive Python prompt::" msgstr "" +"Ось приклад того, як можна використовувати :func:`message_from_bytes` в " +"інтерактивному запиті Python::" 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 "" +msgstr "Додаткові нотатки" msgid "Here are some notes on the parsing semantics:" -msgstr "" +msgstr "Ось деякі зауваження щодо семантики аналізу:" msgid "" "Most non-\\ :mimetype:`multipart` type messages are parsed as a single " @@ -307,6 +427,10 @@ msgid "" "for :meth:`~email.message.EmailMessage.is_multipart`, and :meth:`~email." "message.EmailMessage.iter_parts` will yield an empty list." msgstr "" +"Більшість повідомлень не типу \\ :mimetype:`multipart` аналізуються як один " +"об’єкт повідомлення з корисним навантаженням рядка. Ці об’єкти повернуть " +"``False`` для :meth:`~email.message.EmailMessage.is_multipart`, а :meth:" +"`~email.message.EmailMessage.iter_parts` дасть порожній список." msgid "" "All :mimetype:`multipart` type messages will be parsed as a container " @@ -315,6 +439,11 @@ msgid "" "EmailMessage.is_multipart`, and :meth:`~email.message.EmailMessage." "iter_parts` will yield a list of subparts." msgstr "" +"Усі повідомлення типу :mimetype:`multipart` аналізуватимуться як " +"контейнерний об’єкт повідомлення зі списком об’єктів підповідомлення для їх " +"корисного навантаження. Повідомлення зовнішнього контейнера поверне ``True`` " +"для :meth:`~email.message.EmailMessage.is_multipart`, а :meth:`~email." +"message.EmailMessage.iter_parts` дасть список підчастин." msgid "" "Most messages with a content type of :mimetype:`message/\\*` (such as :" @@ -324,6 +453,12 @@ msgid "" "The single element yielded by :meth:`~email.message.EmailMessage.iter_parts` " "will be a sub-message object." msgstr "" +"Більшість повідомлень із типом вмісту :mimetype:`message/\\*` (наприклад, :" +"mimetype:`message/delivery-status` і :mimetype:`message/rfc822`) також " +"аналізуватимуться як об’єкт-контейнер, що містить корисне навантаження " +"списку довжиною 1. Їхній метод :meth:`~email.message.EmailMessage." +"is_multipart` поверне значення ``True``. Єдиний елемент, отриманий :meth:" +"`~email.message.EmailMessage.iter_parts`, буде об’єктом підповідомлення." msgid "" "Some non-standards-compliant messages may not be internally consistent about " @@ -335,3 +470,11 @@ msgid "" "MultipartInvariantViolationDefect` class in their *defects* attribute list. " "See :mod:`email.errors` for details." msgstr "" +"Деякі повідомлення, що не відповідають стандартам, можуть бути внутрішньо " +"неузгодженими щодо їх :mimetype:`multipart`\\ -edness. Такі повідомлення " +"можуть мати заголовок :mailheader:`Content-Type` типу :mimetype:`multipart`, " +"але їхній метод :meth:`~email.message.EmailMessage.is_multipart` може " +"повертати значення ``False``. Якщо такі повідомлення були проаналізовані за " +"допомогою :class:`~email.parser.FeedParser`, вони матимуть екземпляр класу :" +"class:`~email.errors.MultipartInvariantViolationDefect` у своєму списку " +"атрибутів *defects*. Перегляньте :mod:`email.errors` для деталей." diff --git a/library/email.po b/library/email.po index 840a868319..766e505745 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-2025, 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.13\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: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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` --- An email and MIME handling package" +msgid ":mod:`!email` --- An email and MIME handling package" msgstr "" msgid "**Source code:** :source:`Lib/email/__init__.py`" @@ -33,10 +33,10 @@ msgid "" "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 "" @@ -159,17 +159,11 @@ msgid "POP (Post Office Protocol) client" msgstr "" msgid "Module :mod:`imaplib`" -msgstr "" +msgstr "Модуль :mod:`imaplib`" 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 +171,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 e155763012..347944e267 100644 --- a/library/email.policy.po +++ b/library/email.policy.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-10 14:17+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/email.utils.po b/library/email.utils.po index e3ce0583a4..6c5b7cc95b 100644 --- a/library/email.utils.po +++ b/library/email.utils.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/ensurepip.po b/library/ensurepip.po index 531f99b1fa..737867d1c1 100644 --- a/library/ensurepip.po +++ b/library/ensurepip.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-02-21 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -72,6 +71,8 @@ msgid "" "This module is not supported on :ref:`mobile platforms ` or :ref:`WebAssembly platforms `." msgstr "" +"Этот модуль не поддерживается на :ref:`мобильных платформах ` или :ref:`платформах WebAssembly `." msgid "Command line interface" msgstr "Interfejs wiersza poleceń" diff --git a/library/enum.po b/library/enum.po index b7c6254acf..349d792d29 100644 --- a/library/enum.po +++ b/library/enum.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-25 15:00+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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,6 +33,8 @@ msgid "" "This page contains the API reference information. For tutorial information " "and discussion of more advanced topics, see" msgstr "" +"Ця сторінка містить довідкову інформацію про API. Інформацію про підручники " +"та обговорення більш складних тем див" msgid ":ref:`Basic Tutorial `" msgstr "" @@ -102,7 +103,7 @@ msgid "" msgstr "" msgid "Module Contents" -msgstr "" +msgstr "Modul-Modul" msgid ":class:`EnumType`" msgstr ":class:`EnumType`" @@ -281,7 +282,7 @@ msgid "The enum class being called." msgstr "" msgid "value" -msgstr "" +msgstr "nilai" msgid "The value to lookup." msgstr "" @@ -679,17 +680,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 "" diff --git a/library/exceptions.po b/library/exceptions.po index ca886a5e92..6036943405 100644 --- a/library/exceptions.po +++ b/library/exceptions.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -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,7 +239,7 @@ 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." +"without reading any data. (Note: the :meth:`!io.IOBase.read` and :meth:`io." "IOBase.readline` methods return an empty string when they hit EOF.)" msgstr "" @@ -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 "" @@ -591,7 +594,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 "" @@ -1021,7 +1024,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 ea7976a244..d08c9711c3 100644 --- a/library/faulthandler.po +++ b/library/faulthandler.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -92,12 +92,14 @@ msgid "Interactive source code debugger for Python programs." msgstr "" msgid "Module :mod:`traceback`" -msgstr "" +msgstr "Модуль :mod:`traceback`" msgid "" "Standard interface to extract, format and print stack traces of Python " "programs." msgstr "" +"Стандартный интерфейс для извлечения, форматирования и печати трассировок " +"стека программ Python." msgid "Dumping the traceback" msgstr "" diff --git a/library/fcntl.po b/library/fcntl.po index 445875c3d2..e8ae54fd13 100644 --- a/library/fcntl.po +++ b/library/fcntl.po @@ -4,7 +4,7 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" @@ -12,8 +12,8 @@ msgstr "" "Project-Id-Version: Python 3.13\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" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -103,7 +103,7 @@ msgid "" msgstr "" msgid "The module defines the following functions:" -msgstr "" +msgstr "Модуль визначає такі функції:" msgid "" "Perform the operation *cmd* on file descriptor *fd* (file objects providing " diff --git a/library/filesys.po b/library/filesys.po index 98bc728bfb..33cb78ec26 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-2025, 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.13\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-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-05-08 05:09+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 6d75b82838..8718c8385a 100644 --- a/library/fnmatch.po +++ b/library/fnmatch.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-17 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -150,7 +149,7 @@ msgid "module" msgstr "moduł" msgid "re" -msgstr "" +msgstr "re" msgid "* (asterisk)" msgstr "* (asterisk)" @@ -159,16 +158,16 @@ msgid "in glob-style wildcards" msgstr "" msgid "? (question mark)" -msgstr "" +msgstr "? (знак питання)" msgid "[] (square brackets)" -msgstr "" +msgstr "[] (квадратні дужки)" msgid "! (exclamation)" -msgstr "" +msgstr "! (знак оклику)" msgid "- (minus)" -msgstr "" +msgstr "- (мінус)" msgid "glob" msgstr "" diff --git a/library/fractions.po b/library/fractions.po index b402aec807..682388e830 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-2025, 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.13\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-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-05-08 05:09+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,13 +41,13 @@ 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 " +"with value ``numerator/denominator``. If *denominator* is ``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 " +"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 " @@ -55,6 +55,9 @@ msgid "" "instance. The usual form for this instance is::" msgstr "" +msgid "[sign] numerator ['/' denominator]" +msgstr "" + msgid "" "where the optional ``sign`` may be either '+' or '-' and ``numerator`` and " "``denominator`` (if present) are strings of decimal digits (underscores may " @@ -65,6 +68,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 +110,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 +124,21 @@ 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 "Numerator of the Fraction in lowest term." msgstr "" @@ -101,8 +146,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 "" @@ -153,6 +201,54 @@ 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 "" diff --git a/library/ftplib.po b/library/ftplib.po index 1f8f987f0b..db2bd5fdd4 100644 --- a/library/ftplib.po +++ b/library/ftplib.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -49,6 +48,8 @@ msgid "" "This module does not work or is not available on WebAssembly. See :ref:`wasm-" "availability` for more information." msgstr "" +"Этот модуль не работает или недоступен в WebAssembly. См. :ref:`wasm-" +"availability` для получения дополнительной информации." msgid "Here's a sample session using the :mod:`ftplib` module::" msgstr "" @@ -75,7 +76,7 @@ msgid "" msgstr "" msgid "Reference" -msgstr "" +msgstr "Referensi" msgid "FTP objects" msgstr "" @@ -422,9 +423,12 @@ msgid "" "The class now supports hostname check with :attr:`ssl.SSLContext." "check_hostname` and *Server Name Indication* (see :const:`ssl.HAS_SNI`)." msgstr "" +"Класс теперь поддерживает проверку имени хоста с помощью :attr:`ssl." +"SSLContext.check_hostname` и *Индикации имени сервера* (см. :const:`ssl." +"HAS_SNI`)." msgid "The deprecated *keyfile* and *certfile* parameters have been removed." -msgstr "" +msgstr "Устаревшие параметры *keyfile* и *certfile* были удалены." msgid "Here's a sample session using the :class:`FTP_TLS` class::" msgstr "" @@ -517,7 +521,7 @@ msgid "FTP" msgstr "" msgid "protocol" -msgstr "" +msgstr "протокол" msgid "ftplib (standard module)" msgstr "" diff --git a/library/functional.po b/library/functional.po index e075c6473c..75c7740896 100644 --- a/library/functional.po +++ b/library/functional.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Krzysztof Abramowicz, 2022\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/functions.po b/library/functions.po index 4a114d2036..72f0bf91c6 100644 --- a/library/functions.po +++ b/library/functions.po @@ -4,21 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Igor Zubrycki , 2021 -# haaritsubaki, 2023 -# Ciarbin , 2024 -# Wiktor Matuszewski , 2024 -# Stan Ulbrych, 2024 -# Maciej Olko , 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Maciej Olko , 2025\n" +"POT-Creation-Date: 2025-06-27 14:55+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/functools.po b/library/functools.po index 4de93e6f29..fe18da18cb 100644 --- a/library/functools.po +++ b/library/functools.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-25 15:00+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -249,13 +248,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 +349,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 "" @@ -433,7 +432,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." @@ -480,7 +479,7 @@ msgid "" msgstr "" msgid "Roughly equivalent to::" -msgstr "" +msgstr "Приблизно еквівалентно::" msgid "" "initial_missing = object()\n" @@ -522,7 +521,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::" @@ -602,7 +601,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 "" @@ -617,9 +617,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 "" @@ -713,12 +713,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 :data:`types.UnionType` and :" -"data:`typing.Union` as type annotations." +"The :func:`~singledispatch.register` attribute now supports :data:`types." +"UnionType` and :data:`typing.Union` as type annotations." msgstr "" msgid "" @@ -866,8 +868,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/getopt.po b/library/getopt.po index 655cf83721..0cf0487066 100644 --- a/library/getopt.po +++ b/library/getopt.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2025, 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.13\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-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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,28 +23,37 @@ 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:`getopt` --- C-style parser for command line options" +msgid ":mod:`!getopt` --- C-style parser for command line options" msgstr "" msgid "**Source code:** :source:`Lib/getopt.py`" msgstr "" msgid "" -"The :mod:`getopt` module is a parser for command line options whose API is " -"designed to be familiar to users of the C :c:func:`getopt` function. Users " -"who are unfamiliar with the C :c:func:`getopt` function or who would like to " -"write less code and get better help and error messages should consider using " -"the :mod:`argparse` module instead." +"This module is considered feature complete. A more declarative and " +"extensible alternative to this API is provided in the :mod:`optparse` " +"module. Further functional enhancements for command line parameter " +"processing are provided either as third party modules on PyPI, or else as " +"features in the :mod:`argparse` module." msgstr "" msgid "" "This module helps scripts to parse the command line arguments in ``sys." -"argv``. It supports the same conventions as the Unix :c:func:`getopt` " +"argv``. It supports the same conventions as the Unix :c:func:`!getopt` " "function (including the special meanings of arguments of the form '``-``' " "and '``--``'). Long options similar to those supported by GNU software may " "be used as well via an optional third argument." msgstr "" +msgid "" +"Users who are unfamiliar with the Unix :c:func:`!getopt` function should " +"consider using the :mod:`argparse` module instead. Users who are familiar " +"with the Unix :c:func:`!getopt` function, but would like to get equivalent " +"behavior while writing less code and getting better help and error messages " +"should consider using the :mod:`optparse` module. See :ref:`choosing-an-" +"argument-parser` for additional details." +msgstr "" + msgid "This module provides two functions and an exception:" msgstr "" @@ -54,11 +63,11 @@ msgid "" "Typically, this means ``sys.argv[1:]``. *shortopts* is the string of option " "letters that the script wants to recognize, with options that require an " "argument followed by a colon (``':'``; i.e., the same format that Unix :c:" -"func:`getopt` uses)." +"func:`!getopt` uses)." msgstr "" msgid "" -"Unlike GNU :c:func:`getopt`, after a non-option argument, all further " +"Unlike GNU :c:func:`!getopt`, after a non-option argument, all further " "arguments are considered also non-options. This is similar to the way non-" "GNU Unix systems work." msgstr "" @@ -97,7 +106,7 @@ msgstr "" msgid "" "If the first character of the option string is ``'+'``, or if the " -"environment variable :envvar:`POSIXLY_CORRECT` is set, then option " +"environment variable :envvar:`!POSIXLY_CORRECT` is set, then option " "processing stops as soon as a non-option argument is encountered." msgstr "" @@ -106,9 +115,9 @@ msgid "" "when an option requiring an argument is given none. The argument to the " "exception is a string indicating the cause of the error. For long options, " "an argument given to an option which does not require one will also cause " -"this exception to be raised. The attributes :attr:`msg` and :attr:`opt` " +"this exception to be raised. The attributes :attr:`!msg` and :attr:`!opt` " "give the error message and related option; if there is no specific option to " -"which the exception relates, :attr:`opt` is an empty string." +"which the exception relates, :attr:`!opt` is an empty string." msgstr "" msgid "Alias for :exc:`GetoptError`; for backward compatibility." @@ -117,20 +126,135 @@ msgstr "" msgid "An example using only Unix style options:" msgstr "" +msgid "" +">>> import getopt\n" +">>> args = '-a -b -cfoo -d bar a1 a2'.split()\n" +">>> args\n" +"['-a', '-b', '-cfoo', '-d', 'bar', 'a1', 'a2']\n" +">>> optlist, args = getopt.getopt(args, 'abc:d:')\n" +">>> optlist\n" +"[('-a', ''), ('-b', ''), ('-c', 'foo'), ('-d', 'bar')]\n" +">>> args\n" +"['a1', 'a2']" +msgstr "" + msgid "Using long option names is equally easy:" msgstr "" -msgid "In a script, typical usage is something like this::" +msgid "" +">>> s = '--condition=foo --testing --output-file abc.def -x a1 a2'\n" +">>> args = s.split()\n" +">>> args\n" +"['--condition=foo', '--testing', '--output-file', 'abc.def', '-x', 'a1', " +"'a2']\n" +">>> optlist, args = getopt.getopt(args, 'x', [\n" +"... 'condition=', 'output-file=', 'testing'])\n" +">>> optlist\n" +"[('--condition', 'foo'), ('--testing', ''), ('--output-file', 'abc.def'), ('-" +"x', '')]\n" +">>> args\n" +"['a1', 'a2']" +msgstr "" + +msgid "In a script, typical usage is something like this:" +msgstr "" + +msgid "" +"import getopt, sys\n" +"\n" +"def main():\n" +" try:\n" +" opts, args = getopt.getopt(sys.argv[1:], \"ho:v\", [\"help\", " +"\"output=\"])\n" +" except getopt.GetoptError as err:\n" +" # print help information and exit:\n" +" print(err) # will print something like \"option -a not " +"recognized\"\n" +" usage()\n" +" sys.exit(2)\n" +" output = None\n" +" verbose = False\n" +" for o, a in opts:\n" +" if o == \"-v\":\n" +" verbose = True\n" +" elif o in (\"-h\", \"--help\"):\n" +" usage()\n" +" sys.exit()\n" +" elif o in (\"-o\", \"--output\"):\n" +" output = a\n" +" else:\n" +" assert False, \"unhandled option\"\n" +" process(args, output=output, verbose=verbose)\n" +"\n" +"if __name__ == \"__main__\":\n" +" main()" msgstr "" msgid "" "Note that an equivalent command line interface could be produced with less " "code and more informative help and error messages by using the :mod:" -"`argparse` module::" +"`optparse` module:" +msgstr "" + +msgid "" +"import optparse\n" +"\n" +"if __name__ == '__main__':\n" +" parser = optparse.OptionParser()\n" +" parser.add_option('-o', '--output')\n" +" parser.add_option('-v', dest='verbose', action='store_true')\n" +" opts, args = parser.parse_args()\n" +" process(args, output=opts.output, verbose=opts.verbose)" +msgstr "" +"import optparse\n" +"\n" +"if __name__ == '__main__':\n" +" parser = optparse.OptionParser()\n" +" parser.add_option('-o', '--output')\n" +" parser.add_option('-v', dest='verbose', action='store_true')\n" +" opts, args = parser.parse_args()\n" +" process(args, output=opts.output, verbose=opts.verbose)" + +msgid "" +"A roughly equivalent command line interface for this case can also be " +"produced by using the :mod:`argparse` module:" +msgstr "" + +msgid "" +"import argparse\n" +"\n" +"if __name__ == '__main__':\n" +" parser = argparse.ArgumentParser()\n" +" parser.add_argument('-o', '--output')\n" +" parser.add_argument('-v', dest='verbose', action='store_true')\n" +" parser.add_argument('rest', nargs='*')\n" +" args = parser.parse_args()\n" +" process(args.rest, output=args.output, verbose=args.verbose)" +msgstr "" +"import argparse\n" +"\n" +"if __name__ == '__main__':\n" +" parser = argparse.ArgumentParser()\n" +" parser.add_argument('-o', '--output')\n" +" parser.add_argument('-v', dest='verbose', action='store_true')\n" +" parser.add_argument('rest', nargs='*')\n" +" args = parser.parse_args()\n" +" process(args.rest, output=args.output, verbose=args.verbose)" + +msgid "" +"See :ref:`choosing-an-argument-parser` for details on how the ``argparse`` " +"version of this code differs in behaviour from the ``optparse`` (and " +"``getopt``) version." +msgstr "" + +msgid "Module :mod:`optparse`" +msgstr "" + +msgid "Declarative command line option parsing." msgstr "" msgid "Module :mod:`argparse`" msgstr "" -msgid "Alternative command line option and argument parsing library." +msgid "More opinionated command line option and argument parsing library." msgstr "" diff --git a/library/getpass.po b/library/getpass.po index fb38bb0737..ead51040f0 100644 --- a/library/getpass.po +++ b/library/getpass.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -36,6 +36,8 @@ msgid "" "This module does not work or is not available on WebAssembly. See :ref:`wasm-" "availability` for more information." msgstr "" +"Этот модуль не работает или недоступен в WebAssembly. См. :ref:`wasm-" +"availability` для получения дополнительной информации." msgid "The :mod:`getpass` module provides two functions:" msgstr "" diff --git a/library/gettext.po b/library/gettext.po index 07ec6f6a75..de8c84205d 100644 --- a/library/gettext.po +++ b/library/gettext.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/glob.po b/library/glob.po index c78bb67b55..a7378a6d7e 100644 --- a/library/glob.po +++ b/library/glob.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stefan Ocetkiewicz , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -77,6 +75,8 @@ msgid "" "This function can support :ref:`paths relative to directory descriptors " "` with the *dir_fd* parameter." msgstr "" +"Ця функція може підтримувати :ref:`шляхи відносно дескрипторів каталогу " +"` з параметром *dir_fd*." msgid "" "If *recursive* is true, the pattern \"``**``\" will match any files and zero " @@ -229,19 +229,19 @@ msgid "in glob-style wildcards" msgstr "" msgid "? (question mark)" -msgstr "" +msgstr "? (знак питання)" msgid "[] (square brackets)" -msgstr "" +msgstr "[] (квадратні дужки)" msgid "! (exclamation)" -msgstr "" +msgstr "! (знак оклику)" msgid "- (minus)" -msgstr "" +msgstr "- (мінус)" msgid ". (dot)" -msgstr "" +msgstr ". (точка)" msgid "**" msgstr "**" diff --git a/library/graphlib.po b/library/graphlib.po index 3b1795eef2..991324684c 100644 --- a/library/graphlib.po +++ b/library/graphlib.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Igor Zubrycki , 2021 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Igor Zubrycki , 2021\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/grp.po b/library/grp.po index d4e576f8c4..0834de6e7d 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -43,7 +41,7 @@ msgid "" msgstr "" msgid "Index" -msgstr "" +msgstr "Indeks" msgid "Attribute" msgstr "atrybut" @@ -98,7 +96,7 @@ msgid "" msgstr "" msgid "It defines the following items:" -msgstr "" +msgstr "Він визначає такі пункти:" msgid "" "Return the group database entry for the given numeric group ID. :exc:" diff --git a/library/gzip.po b/library/gzip.po index a2dc9b9dcd..1b1de55304 100644 --- a/library/gzip.po +++ b/library/gzip.po @@ -4,7 +4,7 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Waldemar Stoczkowski, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" @@ -12,8 +12,8 @@ msgstr "" "Project-Id-Version: Python 3.13\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: Waldemar Stoczkowski, 2023\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -188,7 +188,7 @@ msgid "" msgstr "" msgid "``'rb'`` for reading and ``'wb'`` for writing." -msgstr "" +msgstr "``'rb'`` для чтения и ``'wb'`` для записи." msgid "In previous versions it was an integer ``1`` or ``2``." msgstr "" diff --git a/library/hashlib.po b/library/hashlib.po index 83d1ffebf9..3580d9fe7a 100644 --- a/library/hashlib.po +++ b/library/hashlib.po @@ -4,9 +4,7 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Michał Biliński , 2021 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" @@ -14,8 +12,8 @@ msgstr "" "Project-Id-Version: Python 3.13\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" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/heapq.po b/library/heapq.po index f1fcb59f48..209cef13c0 100644 --- a/library/heapq.po +++ b/library/heapq.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/hmac.po b/library/hmac.po index e9aeb55610..3ab96e7cf7 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-2025, 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.13\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-11 15:02+0000\n" +"PO-Revision-Date: 2025-05-08 05:09+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:`hmac` --- Keyed-Hashing for Message Authentication" +msgid ":mod:`!hmac` --- Keyed-Hashing for Message Authentication" msgstr "" msgid "**Source code:** :source:`Lib/hmac.py`" @@ -47,9 +47,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 +111,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 66ebf36f9a..b48d66af9d 100644 --- a/library/html.entities.po +++ b/library/html.entities.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/html.parser.po b/library/html.parser.po index aa0ec65cdd..9e1d98a6be 100644 --- a/library/html.parser.po +++ b/library/html.parser.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-08 03:57+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -70,7 +69,7 @@ msgstr "" msgid "" "As a basic example, below is a simple HTML parser that uses the :class:" "`HTMLParser` class to print out start tags, end tags, and data as they are " -"encountered::" +"encountered:" msgstr "" msgid "" @@ -264,7 +263,7 @@ msgstr "Przykłady" msgid "" "The following class implements a parser that will be used to illustrate more " -"examples::" +"examples:" msgstr "" msgid "" @@ -303,7 +302,7 @@ msgid "" "parser = MyHTMLParser()" msgstr "" -msgid "Parsing a doctype::" +msgid "Parsing a doctype:" msgstr "" msgid "" @@ -313,7 +312,7 @@ msgid "" "org/TR/html4/strict.dtd\"" msgstr "" -msgid "Parsing an element with a few attributes and a title::" +msgid "Parsing an element with a few attributes and a title:" msgstr "" msgid "" @@ -330,7 +329,7 @@ msgstr "" msgid "" "The content of ``script`` and ``style`` elements is returned as is, without " -"further parsing::" +"further parsing:" msgstr "" msgid "" @@ -349,50 +348,51 @@ msgid "" "End tag : script" msgstr "" -msgid "Parsing comments::" +msgid "Parsing comments:" msgstr "" msgid "" -">>> parser.feed(''\n" +">>> parser.feed(''\n" "... '')\n" -"Comment : a comment\n" +"Comment : a comment\n" "Comment : [if IE 9]>IE-specific content'``)::" +"correct char (note: these 3 references are all equivalent to ``'>'``):" msgstr "" msgid "" +">>> parser = MyHTMLParser()\n" ">>> parser.feed('>>>')\n" -"Named ent: >\n" -"Num ent : >\n" -"Num ent : >" -msgstr "" +"Data : >>>\n" +"\n" +">>> parser = MyHTMLParser(convert_charrefs=False)\n" ">>> parser.feed('>>>')\n" "Named ent: >\n" "Num ent : >\n" "Num ent : >" +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``)::" +"*convert_charrefs* is set to ``True``):" msgstr "" msgid "" -">>> for chunk in ['buff', 'ered ', 'text']:\n" +">>> for chunk in ['buff', 'ered', ' text']:\n" "... parser.feed(chunk)\n" "...\n" "Start tag: span\n" "Data : buff\n" "Data : ered\n" -"Data : text\n" +"Data : text\n" "End tag : span" msgstr "" -msgid "Parsing invalid HTML (e.g. unquoted attributes) also works::" +msgid "Parsing invalid HTML (e.g. unquoted attributes) also works:" msgstr "" msgid "" diff --git a/library/http.client.po b/library/http.client.po index e51675a78d..03872edd19 100644 --- a/library/http.client.po +++ b/library/http.client.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -53,6 +52,8 @@ msgid "" "This module does not work or is not available on WebAssembly. See :ref:`wasm-" "availability` for more information." msgstr "" +"Этот модуль не работает или недоступен в WebAssembly. См. :ref:`wasm-" +"availability` для получения дополнительной информации." msgid "The module provides the following classes:" msgstr "" @@ -83,7 +84,7 @@ msgid "" msgstr "" msgid "*source_address* was added." -msgstr "" +msgstr "*вихідна_адреса* була додана." msgid "" "The *strict* parameter was removed. HTTP 0.9-style \"Simple Responses\" are " @@ -212,7 +213,7 @@ msgid "Previously, :exc:`BadStatusLine`\\ ``('')`` was raised." msgstr "" msgid "The constants defined in this module are:" -msgstr "" +msgstr "Konstanta yang didefinisikan dalam modul ini antara lain:" msgid "The default port for the HTTP protocol (always ``80``)." msgstr "" @@ -660,7 +661,7 @@ msgid "HTTP" msgstr "" msgid "protocol" -msgstr "" +msgstr "протокол" msgid "http.client (standard module)" msgstr "" diff --git a/library/http.cookiejar.po b/library/http.cookiejar.po index 8ee16060e0..0410459d65 100644 --- a/library/http.cookiejar.po +++ b/library/http.cookiejar.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -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 "" diff --git a/library/http.cookies.po b/library/http.cookies.po index 431e281c65..d885ee0ab4 100644 --- a/library/http.cookies.po +++ b/library/http.cookies.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" diff --git a/library/http.po b/library/http.po index 54fa37bf87..2c69bcfd5f 100644 --- a/library/http.po +++ b/library/http.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -833,7 +832,7 @@ msgid "HTTP" msgstr "" msgid "protocol" -msgstr "" +msgstr "протокол" msgid "http (standard module)" msgstr "" diff --git a/library/http.server.po b/library/http.server.po index 5d66d9f835..a680c8b174 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-23 14:55+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -45,6 +44,8 @@ msgid "" "This module does not work or is not available on WebAssembly. See :ref:`wasm-" "availability` for more information." msgstr "" +"Этот модуль не работает или недоступен в WebAssembly. См. :ref:`wasm-" +"availability` для получения дополнительной информации." msgid "" "One class, :class:`HTTPServer`, is a :class:`socketserver.TCPServer` " @@ -419,8 +420,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 "" @@ -512,7 +512,7 @@ msgid "" msgstr "" msgid "Command-line interface" -msgstr "" +msgstr "Интерфейс командной строки" msgid "" ":mod:`http.server` can also be invoked directly using the :option:`-m` " @@ -524,7 +524,7 @@ msgid "python -m http.server [OPTIONS] [port]" msgstr "" msgid "The following options are accepted:" -msgstr "" +msgstr "Приймаються такі варіанти:" msgid "" "The server listens to port 8000 by default. The default can be overridden by " @@ -585,7 +585,7 @@ msgid "" msgstr "" msgid "Security considerations" -msgstr "" +msgstr "Міркування безпеки" msgid "" ":class:`SimpleHTTPRequestHandler` will follow symbolic links when handling " @@ -614,7 +614,7 @@ msgid "HTTP" msgstr "" msgid "protocol" -msgstr "" +msgstr "протокол" msgid "URL" msgstr "URL" diff --git a/library/idle.po b/library/idle.po index 3ffd7b95ff..1a4240c558 100644 --- a/library/idle.po +++ b/library/idle.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-02-28 14:17+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -1406,7 +1405,7 @@ msgid "Run script" msgstr "" msgid "debugger" -msgstr "" +msgstr "debugger" msgid "stack viewer" msgstr "" diff --git a/library/imaplib.po b/library/imaplib.po index d88309aa03..d9971e6969 100644 --- a/library/imaplib.po +++ b/library/imaplib.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -44,6 +44,8 @@ msgid "" "This module does not work or is not available on WebAssembly. See :ref:`wasm-" "availability` for more information." msgstr "" +"Этот модуль не работает или недоступен в WebAssembly. См. :ref:`wasm-" +"availability` для получения дополнительной информации." msgid "" "Three classes are provided by the :mod:`imaplib` module, :class:`IMAP4` is " @@ -128,9 +130,12 @@ msgid "" "The class now supports hostname check with :attr:`ssl.SSLContext." "check_hostname` and *Server Name Indication* (see :const:`ssl.HAS_SNI`)." msgstr "" +"Класс теперь поддерживает проверку имени хоста с помощью :attr:`ssl." +"SSLContext.check_hostname` и *Индикации имени сервера* (см. :const:`ssl." +"HAS_SNI`)." msgid "The deprecated *keyfile* and *certfile* parameters have been removed." -msgstr "" +msgstr "Устаревшие параметры *keyfile* и *certfile* были удалены." msgid "The second subclass allows for connections created by a child process:" msgstr "" @@ -180,6 +185,8 @@ msgid "" "At the end of the module, there is a test section that contains a more " "extensive example of usage." msgstr "" +"Наприкінці модуля є тестовий розділ, який містить докладніший приклад " +"використання." msgid "" "Documents describing the protocol, sources for servers implementing it, by " @@ -596,6 +603,8 @@ msgid "" "Here is a minimal example (without error checking) that opens a mailbox and " "retrieves and prints all messages::" msgstr "" +"Ось мінімальний приклад (без перевірки помилок), який відкриває поштову " +"скриньку, отримує та друкує всі повідомлення:" msgid "" "import getpass, imaplib\n" @@ -615,7 +624,7 @@ msgid "IMAP4" msgstr "" msgid "protocol" -msgstr "" +msgstr "протокол" msgid "IMAP4_SSL" msgstr "" diff --git a/library/importlib.metadata.po b/library/importlib.metadata.po index cd515f3728..d8ec13a5ff 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-03-28 14:18+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/library/importlib.po b/library/importlib.po index 156f554ebc..e5ad5bb41e 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-25 15:00+0000\n" +"PO-Revision-Date: 2025-07-18 19:21+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" @@ -306,6 +304,12 @@ msgid "" "class:`~importlib.machinery.ModuleSpec`." msgstr "" +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 ":mod:`importlib.abc` -- Abstract base classes related to import" msgstr "" diff --git a/library/importlib.resources.po b/library/importlib.resources.po index d811af5474..5da27436fa 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-2025, 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.13\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-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-05-08 05:09+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 3399ca932d..1695386382 100644 --- a/library/index.po +++ b/library/index.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/library/inspect.po b/library/inspect.po index c8ba7880b4..7f650534c4 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/library/internet.po b/library/internet.po index 33b7d5819b..b0f0911646 100644 --- a/library/internet.po +++ b/library/internet.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -48,4 +47,4 @@ msgid "module" msgstr "moduł" msgid "socket" -msgstr "" +msgstr "socket" diff --git a/library/intro.po b/library/intro.po index ddf8947aa5..5166d63aa3 100644 --- a/library/intro.po +++ b/library/intro.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Seweryn Piórkowski , 2021\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -27,7 +27,7 @@ msgid "Introduction" msgstr "Wprowadzenie" msgid "The \"Python library\" contains several different kinds of components." -msgstr "" +msgstr "\"Pustaka Python\" berisi beberapa jenis komponen." msgid "" "It contains data types that would normally be considered part of the " @@ -37,6 +37,12 @@ msgid "" "(On the other hand, the language core does define syntactic properties like " "the spelling and priorities of operators.)" msgstr "" +"Ini berisi tipe data yang biasanya dianggap bagian \"inti\" dari bahasa, " +"seperti angka dan daftar *list*. Untuk tipe ini, inti bahasa Python " +"mendefinisikan bentuk literal dan menempatkan beberapa batasan pada " +"semantiknya, tetapi tidak sepenuhnya mendefinisikan semantik. (Di sisi lain, " +"inti bahasa mendefinisikan properti sintaksis seperti ejaan dan prioritas " +"operator.)" msgid "" "The library also contains built-in functions and exceptions --- objects that " @@ -44,6 +50,10 @@ msgid "" "statement. Some of these are defined by the core language, but many are not " "essential for the core semantics and are only described here." msgstr "" +"Pustaka juga berisi fungsi dan pengecualian bawaan --- objek yang dapat " +"digunakan oleh semua kode Python tanpa memerlukan pernyataan :keyword:" +"`import`. Beberapa di antaranya didefinisikan oleh bahasa inti, tetapi " +"banyak yang tidak esensial untuk semantik inti dan hanya dijelaskan di sini." msgid "" "The bulk of the library, however, consists of a collection of modules. There " @@ -59,12 +69,27 @@ msgid "" "available only when a particular configuration option was chosen at the time " "when Python was compiled and installed." msgstr "" +"Namun, sebagian besar pustaka terdiri dari kumpulan modul. Ada banyak cara " +"untuk membedah koleksi ini. Beberapa modul ditulis dalam C dan dibangun ke " +"dalam interpreter Python; yang lain ditulis dengan Python dan diimpor dalam " +"bentuk sumber. Beberapa modul menyediakan antarmuka yang sangat spesifik " +"untuk Python, seperti mencetak tumpukan jejak *stack trace*; beberapa " +"menyediakan antarmuka yang khusus untuk sistem operasi tertentu, seperti " +"akses ke perangkat keras tertentu; yang lain menyediakan antarmuka yang " +"khusus untuk domain aplikasi tertentu, seperti *World Wide Web*. Beberapa " +"modul tersedia di semua versi dan port dari Python; yang lain hanya tersedia " +"ketika sistem yang mendasarinya mendukung atau membutuhkannya; yang lain " +"hanya tersedia ketika opsi konfigurasi tertentu dipilih pada saat Python " +"dikompilasi dan diinstal." msgid "" "This manual is organized \"from the inside out:\" it first describes the " "built-in functions, data types and exceptions, and finally the modules, " "grouped in chapters of related modules." msgstr "" +"Manual ini disusun \"dari dalam ke luar:\" pertama-tama menggambarkan fungsi " +"bawaan, tipe data dan pengecualian, dan akhirnya modul, dikelompokkan dalam " +"bab-bab modul terkait." msgid "" "This means that if you start reading this manual from the start, and skip to " @@ -79,23 +104,40 @@ msgid "" "chapter :ref:`built-in-funcs`, as the remainder of the manual assumes " "familiarity with this material." msgstr "" +"Ini berarti bahwa jika Anda mulai membaca manual ini dari awal, dan melompat " +"ke bab berikutnya ketika Anda bosan, Anda akan mendapatkan gambaran umum " +"yang masuk akal dari modul yang tersedia dan area aplikasi yang didukung " +"oleh pustaka Python. Tentu saja, Anda tidak *harus* membacanya seperti novel " +"--- Anda juga dapat menelusuri daftar isi (di depan manual), atau mencari " +"fungsi, modul, atau istilah tertentu dalam indeks (dalam bagian belakang). " +"Dan akhirnya, jika Anda menikmati belajar tentang subjek acak, Anda memilih " +"nomor halaman acak (lihat modul :mod:`random`) dan baca satu atau dua " +"bagian. Terlepas dari urutan di mana Anda membaca bagian-bagian dari manual " +"ini, ada baiknya untuk memulai dengan bab :ref:`built-in-funcs`, karena sisa " +"manual mengasumsikan terbiasa dengan materi ini." msgid "Let the show begin!" -msgstr "" +msgstr "Biarkan pertunjukan dimulai!" msgid "Notes on availability" -msgstr "" +msgstr "Catatan tentang ketersediaan" msgid "" "An \"Availability: Unix\" note means that this function is commonly found on " "Unix systems. It does not make any claims about its existence on a specific " "operating system." msgstr "" +"Catatan \"Ketersediaan: Unix\" berarti bahwa fungsi ini biasanya ditemukan " +"pada sistem Unix. Itu tidak membuat klaim tentang keberadaannya pada sistem " +"operasi tertentu." msgid "" "If not separately noted, all functions that claim \"Availability: Unix\" are " "supported on macOS, iOS and Android, all of which build on a Unix core." msgstr "" +"Если не указано отдельно, все функции с надписью «Доступность: Unix» " +"поддерживаются в macOS, iOS и Android, каждая из которых построена на ядре " +"Unix." msgid "" "If an availability note contains both a minimum Kernel version and a minimum " @@ -103,9 +145,13 @@ msgid "" "note *Availability: Linux >= 3.17 with glibc >= 2.27* requires both Linux " "3.17 or newer and glibc 2.27 or newer." msgstr "" +"Если примечание о доступности содержит как минимальную версию ядра, так и " +"минимальную версию libc, то оба условия должны соблюдаться. Например, " +"функция с примечанием *Доступность: Linux >= 3.17 с glibc >= 2.27* требует " +"как Linux 3.17 или новее, так и glibc 2.27 или новее." msgid "WebAssembly platforms" -msgstr "" +msgstr "Платформы веб-сборки" msgid "" "The `WebAssembly`_ platforms ``wasm32-emscripten`` (`Emscripten`_) and " @@ -119,6 +165,16 @@ msgid "" "Other blocking operations like :func:`~time.sleep` block the browser event " "loop." msgstr "" +"Платформы ``WebAssembly`_wasm32-emscripten`` (`Emscripten`_) и ``wasm32-" +"wasi`` (`WASI`_) предоставляют подмножество POSIX API. Среды выполнения и " +"браузеры WebAssembly изолированы и имеют ограниченный доступ к хосту и " +"внешним ресурсам. Любой модуль стандартной библиотеки Python, использующий " +"процессы, потоки, сети, сигналы или другие формы межпроцессного " +"взаимодействия (IPC), либо недоступен, либо может не работать, как в других " +"Unix-подобных системах. Файловый ввод-вывод, файловая система и функции, " +"связанные с разрешениями Unix, также ограничены. Emscripten не позволяет " +"блокировать ввод-вывод. Другие блокирующие операции, такие как :func:`~time." +"sleep`, блокируют цикл событий браузера." msgid "" "The properties and behavior of Python on WebAssembly platforms depend on the " @@ -127,6 +183,11 @@ msgid "" "are evolving standards; some features like networking may be supported in " "the future." msgstr "" +"Свойства и поведение Python на платформах WebAssembly зависят от версии " +"`Emscripten`_-SDK или `WASI`_-SDK, среды выполнения WASM (браузер, NodeJS, " +"`wasmtime`_) и флагов времени сборки Python. WebAssembly, Emscripten и WASI " +"— это развивающиеся стандарты; некоторые функции, такие как работа в сети, " +"могут поддерживаться в будущем." msgid "" "For Python in the browser, users should consider `Pyodide`_ or `PyScript`_. " @@ -135,6 +196,11 @@ msgid "" "as well as limited networking capabilities with JavaScript's " "``XMLHttpRequest`` and ``Fetch`` APIs." msgstr "" +"Для использования Python в браузере пользователям следует рассмотреть " +"Pyodide или PyScript. PyScript построен на основе Pyodide, который в свою " +"очередь построен на основе CPython и Emscripten. Pyodide обеспечивает доступ " +"к API-интерфейсам JavaScript и DOM браузеров, а также ограниченные сетевые " +"возможности с помощью API-интерфейсов XMLHttpRequest и Fetch JavaScript." msgid "" "Process-related APIs are not available or always fail with an error. That " @@ -143,6 +209,11 @@ msgid "" "kill`), or otherwise interact with processes. The :mod:`subprocess` is " "importable but does not work." msgstr "" +"API, связанные с процессом, недоступны или всегда завершаются с ошибкой. " +"Сюда входят API, которые создают новые процессы (:func:`~os.fork`, :func:" +"`~os.execve`), ждут процессы (:func:`~os.waitpid`), отправляют сигналы (:" +"func: `~os.kill`) или иным образом взаимодействовать с процессами. :mod:" +"`subprocess` можно импортировать, но он не работает." msgid "" "The :mod:`socket` module is available, but is limited and behaves " @@ -152,26 +223,41 @@ msgid "" "information. WASI snapshot preview 1 only permits sockets from an existing " "file descriptor." msgstr "" +"Модуль :mod:`socket` доступен, но его возможности ограничены и он ведет себя " +"иначе, чем на других платформах. В Emscripten сокеты всегда неблокируются и " +"требуют дополнительного кода JavaScript и помощников на сервере для " +"проксирования TCP через WebSockets; дополнительную информацию см. в " +"`Emscripten Networking`_. Предварительный просмотр снимка WASI 1 разрешает " +"использование сокетов только из существующего файлового дескриптора." msgid "" "Some functions are stubs that either don't do anything and always return " "hardcoded values." msgstr "" +"Некоторые функции являются заглушками, которые либо ничего не делают, либо " +"всегда возвращают жестко запрограммированные значения." msgid "" "Functions related to file descriptors, file permissions, file ownership, and " "links are limited and don't support some operations. For example, WASI does " "not permit symlinks with absolute file names." msgstr "" +"Функции, связанные с файловыми дескрипторами, правами доступа к файлам, " +"владением файлами и ссылками, ограничены и не поддерживают некоторые " +"операции. Например, WASI не разрешает символические ссылки с абсолютными " +"именами файлов." msgid "Mobile platforms" -msgstr "" +msgstr "Мобильные платформы" msgid "" "Android and iOS are, in most respects, POSIX operating systems. File I/O, " "socket handling, and threading all behave as they would on any POSIX " "operating system. However, there are several major differences:" msgstr "" +"Android и iOS во многом являются операционными системами POSIX. Файловый " +"ввод-вывод, обработка сокетов и многопоточность ведут себя так же, как и в " +"любой операционной системе POSIX. Однако есть несколько существенных отличий:" msgid "" "Mobile platforms can only use Python in \"embedded\" mode. There is no " @@ -180,9 +266,15 @@ msgid "" "use the :ref:`Python embedding API `. For more details, see :ref:" "`using-android` and :ref:`using-ios`." msgstr "" +"Мобильные платформы могут использовать Python только во «встроенном» режиме. " +"Не существует Python REPL и нет возможности использовать отдельные " +"исполняемые файлы, такие как :program:`python` или :program:`pip`. Чтобы " +"добавить код Python в свое мобильное приложение, вы должны использовать :ref:" +"`API встраивания Python `. Более подробную информацию см. в " +"разделах :ref:`using-android` и :ref:`using-ios`." msgid "Subprocesses:" -msgstr "" +msgstr "Подпроцессы:" msgid "" "On Android, creating subprocesses is possible but `officially unsupported " @@ -190,6 +282,10 @@ msgid "" "particular, Android does not support any part of the System V IPC API, so :" "mod:`multiprocessing` is not available." msgstr "" +"В Android создание подпроцессов возможно, но `официально не поддерживается " +"`__. В частности, " +"Android не поддерживает какую-либо часть API IPC System V, поэтому :mod:" +"`многопроцессорность` недоступна." msgid "" "An iOS app cannot use any form of subprocessing, multiprocessing, or inter-" @@ -199,15 +295,25 @@ msgid "" "communicate with other running applications, outside of the iOS-specific " "APIs that exist for this purpose." msgstr "" +"Приложение iOS не может использовать какую-либо форму подобработки, " +"многопроцессорной обработки или межпроцессного взаимодействия. Если " +"приложение iOS попытается создать подпроцесс, процесс, создающий подпроцесс, " +"либо заблокируется, либо выйдет из строя. Приложение iOS не имеет видимости " +"других запущенных приложений и не имеет никакой возможности " +"взаимодействовать с другими запущенными приложениями, за исключением API-" +"интерфейсов iOS, которые существуют для этой цели." msgid "" "Mobile apps have limited access to modify system resources (such as the " "system clock). These resources will often be *readable*, but attempts to " "modify those resources will usually fail." msgstr "" +"Мобильные приложения имеют ограниченный доступ к изменению системных " +"ресурсов (например, системных часов). Эти ресурсы часто *читабельны*, но " +"попытки изменить эти ресурсы обычно заканчиваются неудачей." msgid "Console input and output:" -msgstr "" +msgstr "Консольный ввод и вывод:" msgid "" "On Android, the native ``stdout`` and ``stderr`` are not connected to " @@ -215,6 +321,10 @@ msgid "" "system log. These can be seen under the tags ``python.stdout`` and ``python." "stderr`` respectively." msgstr "" +"В Android встроенные stdout и stderr ни к чему не подключены, поэтому Python " +"устанавливает свои собственные потоки, которые перенаправляют сообщения в " +"системный журнал. Их можно увидеть под тегами ``python.stdout`` и ``python." +"stderr`` соответственно." msgid "" "iOS apps have a limited concept of console output. ``stdout`` and ``stderr`` " @@ -224,14 +334,26 @@ msgid "" "a diagnostic aid, they will not include any detail written to ``stdout`` or " "``stderr``." msgstr "" +"Приложения iOS имеют ограниченную концепцию вывода на консоль. ``stdout`` и " +"``stderr`` *существуют*, а содержимое, записанное в ``stdout`` и ``stderr``, " +"будет видно в журналах при запуске в Xcode, но это содержимое *не* будет " +"записано в системном журнале. Если пользователь, установивший ваше " +"приложение, предоставляет журналы своего приложения в качестве " +"диагностического средства, они не будут содержать никаких подробностей, " +"записанных в ``stdout`` или ``stderr``." msgid "" "Mobile apps have no usable ``stdin`` at all. While apps can display an on-" "screen keyboard, this is a software feature, not something that is attached " "to ``stdin``." msgstr "" +"В мобильных приложениях вообще нет полезного стандартного ввода. Хотя " +"приложения могут отображать экранную клавиатуру, это программная функция, а " +"не то, что привязано к stdin." msgid "" "As a result, Python modules that involve console manipulation (such as :mod:" "`curses` and :mod:`readline`) are not available on mobile platforms." msgstr "" +"В результате модули Python, включающие манипуляции с консолью (например, :" +"mod:`curses` и :mod:`readline`), недоступны на мобильных платформах." diff --git a/library/io.po b/library/io.po index 292855d279..365c36a891 100644 --- a/library/io.po +++ b/library/io.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-05-23 14:55+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -186,7 +184,7 @@ msgid ":pep:`686`" msgstr ":pep:`686`" msgid "Python 3.15 will make :ref:`utf8-mode` default." -msgstr "" +msgstr "Python 3.15 сделает :ref:`utf8-режим` по умолчанию." msgid "Opt-in EncodingWarning" msgstr "" @@ -649,15 +647,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 "" @@ -695,34 +692,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 "" @@ -736,6 +736,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." @@ -917,20 +922,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." +"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 "" -"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." +"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 "" @@ -977,8 +980,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 "" @@ -1048,9 +1052,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 "" @@ -1124,7 +1128,8 @@ msgstr "" msgid "" "*encoding* gives the name of the encoding that the stream will be decoded or " -"encoded with. It defaults to :func:`locale.getencoding`. " +"encoded with. In :ref:`UTF-8 Mode `, this defaults to UTF-8. " +"Otherwise, it defaults to :func:`locale.getencoding`. " "``encoding=\"locale\"`` can be used to specify the current locale's encoding " "explicitly. See :ref:`io-text-encoding` for more information." msgstr "" diff --git a/library/ipaddress.po b/library/ipaddress.po index c4e825e516..0ba4cb1a80 100644 --- a/library/ipaddress.po +++ b/library/ipaddress.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-25 15:00+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -263,7 +263,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 "" diff --git a/library/itertools.po b/library/itertools.po index 8f6cd6e0c1..199241010b 100644 --- a/library/itertools.po +++ b/library/itertools.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\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: 2025-07-25 15:00+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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,7 +121,7 @@ msgstr "" msgid "(p0, p1, ..., p_n-1), ..." msgstr "" -msgid "``batched('ABCDEFG', n=3) → ABC DEF G``" +msgid "``batched('ABCDEFG', n=2) → AB CD EF G``" msgstr "" msgid ":func:`chain`" @@ -339,7 +338,7 @@ msgid "" msgstr "" msgid "Roughly equivalent to::" -msgstr "" +msgstr "Приблизно еквівалентно::" msgid "" "def accumulate(iterable, function=operator.add, *, initial=None):\n" @@ -420,7 +419,7 @@ msgstr "" msgid "" "def batched(iterable, n, *, strict=False):\n" -" # batched('ABCDEFG', 3) → ABC DEF G\n" +" # batched('ABCDEFG', 2) → AB CD EF G\n" " if n < 1:\n" " raise ValueError('n must be at least one')\n" " iterator = iter(iterable)\n" diff --git a/library/json.po b/library/json.po index fea63b357d..d85073045c 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-23 14:55+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -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 "" @@ -315,7 +317,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 +325,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* " @@ -351,7 +353,7 @@ msgid "" msgstr "" msgid "Raises" -msgstr "" +msgstr "Поднимает" msgid "When the data being deserialized is not a valid JSON document." msgstr "" @@ -415,7 +417,7 @@ msgid "dict" msgstr "" msgid "array" -msgstr "" +msgstr "array" msgid "list" msgstr "lista" @@ -439,16 +441,16 @@ msgid "float" msgstr "typ (float) zmiennoprzecinkowy pojedynczej precyzji" msgid "true" -msgstr "" +msgstr "true" msgid "True" -msgstr "" +msgstr "True" msgid "false" -msgstr "" +msgstr "salah" msgid "False" -msgstr "" +msgstr "False" msgid "null" msgstr "" @@ -668,7 +670,7 @@ msgid "Subclass of :exc:`ValueError` with the following additional attributes:" msgstr "" msgid "The unformatted error message." -msgstr "" +msgstr "Неформатне повідомлення про помилку." msgid "The JSON document being parsed." msgstr "" diff --git a/library/linecache.po b/library/linecache.po index af49ed3d6a..3a661a879e 100644 --- a/library/linecache.po +++ b/library/linecache.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/library/locale.po b/library/locale.po index 1ae96f70a2..f5a709ddb7 100644 --- a/library/locale.po +++ b/library/locale.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -25,10 +24,10 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!locale` --- Internationalization services" -msgstr "" +msgstr ":mod:`!locale` --- Службы интернационализации" 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 " @@ -36,19 +35,26 @@ msgid "" "certain cultural issues in an application, without requiring the programmer " "to know all the specifics of each country where the software is executed." msgstr "" +"Модуль :mod:`locale` відкриває доступ до бази даних і функцій POSIX locale. " +"Механізм локалізації POSIX дозволяє програмістам мати справу з певними " +"культурними проблемами в додатку, не вимагаючи від програміста знання всіх " +"особливостей кожної країни, де виконується програмне забезпечення." msgid "" "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 "" +"Модуль :mod:`locale` реализован поверх модуля :mod:`!_locale`, который, в " +"свою очередь, использует реализацию локали ANSI C, если она доступна." msgid "The :mod:`locale` module defines the following exception and functions:" -msgstr "" +msgstr "Модуль :mod:`locale` визначає такі винятки та функції:" msgid "" "Exception raised when the locale passed to :func:`setlocale` is not " "recognized." msgstr "" +"Виняток виникає, коли локаль, передана :func:`setlocale`, не розпізнається." msgid "" "If *locale* is given and not ``None``, :func:`setlocale` modifies the locale " @@ -60,21 +66,34 @@ msgid "" "exception :exc:`Error` is raised. If successful, the new locale setting is " "returned." msgstr "" +"Якщо вказано *locale*, а не ``None``, :func:`setlocale` змінює налаштування " +"мови для *категорії*. Доступні категорії перераховані в описі даних нижче. " +"*locale* може бути рядком або ітерацією двох рядків (код мови та кодування). " +"Якщо це ітерація, вона перетворюється на назву локалі за допомогою механізму " +"псевдонімів локалі. Порожній рядок визначає параметри користувача за " +"замовчуванням. Якщо зміна локалі не вдається, виникає виняток :exc:`Error`. " +"У разі успіху повертається нове налаштування мови." msgid "" "If *locale* is omitted or ``None``, the current setting for *category* is " "returned." msgstr "" +"Якщо *locale* пропущено або ``None``, повертається поточне налаштування для " +"*category*." msgid "" ":func:`setlocale` is not thread-safe on most systems. Applications typically " "start with a call of ::" msgstr "" +":func:`setlocale` не є потокобезпечним у більшості систем. Програми зазвичай " +"починаються з виклику ::" msgid "" "import locale\n" "locale.setlocale(locale.LC_ALL, '')" msgstr "" +"import locale\n" +"locale.setlocale(locale.LC_ALL, '')" msgid "" "This sets the locale for all categories to the user's default setting " @@ -82,17 +101,23 @@ msgid "" "locale is not changed thereafter, using multithreading should not cause " "problems." msgstr "" +"Це встановлює локаль для всіх категорій на налаштування користувача за " +"замовчуванням (зазвичай вказується у змінній середовища :envvar:`LANG`). " +"Якщо після цього локаль не буде змінено, використання багатопоточності не " +"повинно викликати проблем." msgid "" "Returns the database of the local conventions as a dictionary. This " "dictionary has the following strings as keys:" msgstr "" +"Повертає базу даних локальних угод як словник. Цей словник має такі рядки як " +"ключі:" msgid "Category" -msgstr "" +msgstr "Категорія" msgid "Key" -msgstr "" +msgstr "*Key*" msgid "Meaning" msgstr "Znaczenie" @@ -104,10 +129,10 @@ msgid "``'decimal_point'``" msgstr "``'decimal_point'``" msgid "Decimal point character." -msgstr "" +msgstr "Символ десяткової точки." msgid "``'grouping'``" -msgstr "" +msgstr "``'групування''``" msgid "" "Sequence of numbers specifying which relative positions the " @@ -115,56 +140,64 @@ msgid "" "`CHAR_MAX`, no further grouping is performed. If the sequence terminates " "with a ``0``, the last group size is repeatedly used." msgstr "" +"Послідовність чисел, що вказує, які відносні позиції очікується " +"``'thousands_sep``. Якщо послідовність закінчується :const:`CHAR_MAX`, " +"подальше групування не виконується. Якщо послідовність завершується ``0``, " +"останній розмір групи використовується повторно." msgid "``'thousands_sep'``" msgstr "``'thousands_sep'``" msgid "Character used between groups." -msgstr "" +msgstr "Символ, що використовується між групами." msgid ":const:`LC_MONETARY`" msgstr ":const:`LC_MONETARY`" msgid "``'int_curr_symbol'``" -msgstr "" +msgstr "``'int_curr_symbol'``" msgid "International currency symbol." -msgstr "" +msgstr "Міжнародний символ валюти." msgid "``'currency_symbol'``" -msgstr "" +msgstr "``'currency_symbol'``" msgid "Local currency symbol." -msgstr "" +msgstr "Символ місцевої валюти." msgid "``'p_cs_precedes/n_cs_precedes'``" -msgstr "" +msgstr "``'p_cs_precedes/n_cs_precedes'``" msgid "" "Whether the currency symbol precedes the value (for positive resp. negative " "values)." -msgstr "" +msgstr "Чи передує символ валюти значенню (для додатних чи від’ємних значень)." msgid "``'p_sep_by_space/n_sep_by_space'``" -msgstr "" +msgstr "``'p_sep_by_space/n_sep_by_space'``" msgid "" "Whether the currency symbol is separated from the value by a space (for " "positive resp. negative values)." msgstr "" +"Чи відокремлено символ грошової одиниці від значення пробілом (для додатних " +"чи від’ємних значень)." msgid "``'mon_decimal_point'``" -msgstr "" +msgstr "``'mon_decimal_point'``" msgid "Decimal point used for monetary values." -msgstr "" +msgstr "Десяткова кома використовується для грошових значень." msgid "``'frac_digits'``" -msgstr "" +msgstr "``'frac_digits'``" msgid "" "Number of fractional digits used in local formatting of monetary values." msgstr "" +"Кількість дробових цифр, які використовуються в локальному форматуванні " +"грошових значень." msgid "``'int_frac_digits'``" msgstr "``'int_frac_digits'``" @@ -173,47 +206,55 @@ msgid "" "Number of fractional digits used in international formatting of monetary " "values." msgstr "" +"Кількість дробових цифр, які використовуються в міжнародному форматуванні " +"грошових значень." msgid "``'mon_thousands_sep'``" -msgstr "" +msgstr "``'mon_thousands_sep''``" msgid "Group separator used for monetary values." -msgstr "" +msgstr "Роздільник груп, який використовується для грошових значень." msgid "``'mon_grouping'``" -msgstr "" +msgstr "``'mon_grouping'``" msgid "Equivalent to ``'grouping'``, used for monetary values." msgstr "" +"Еквівалент ``'групування''``, що використовується для грошових значень." msgid "``'positive_sign'``" msgstr "``'positive_sign'``" msgid "Symbol used to annotate a positive monetary value." msgstr "" +"Символ, який використовується для позначення додатної грошової вартості." msgid "``'negative_sign'``" -msgstr "" +msgstr "``'негативний_знак'``" msgid "Symbol used to annotate a negative monetary value." msgstr "" +"Символ, який використовується для позначення від’ємної грошової вартості." msgid "``'p_sign_posn/n_sign_posn'``" -msgstr "" +msgstr "``'p_sign_posn/n_sign_posn''``" msgid "" "The position of the sign (for positive resp. negative values), see below." -msgstr "" +msgstr "Розташування знака (для додатних чи від’ємних значень) див. нижче." msgid "" "All numeric values can be set to :const:`CHAR_MAX` to indicate that there is " "no value specified in this locale." msgstr "" +"Для всіх числових значень можна встановити значення :const:`CHAR_MAX`, щоб " +"вказати, що в цій локалі не вказано значення." msgid "" "The possible values for ``'p_sign_posn'`` and ``'n_sign_posn'`` are given " "below." msgstr "" +"Нижче наведено можливі значення для ``'p_sign_posn'`` і ``'n_sign_posn'``." msgid "Value" msgstr "Wartość" @@ -225,48 +266,53 @@ msgid "``0``" msgstr "``0``" msgid "Currency and value are surrounded by parentheses." -msgstr "" +msgstr "Валюта та значення взяті в дужки." msgid "``1``" msgstr "``1``" msgid "The sign should precede the value and currency symbol." -msgstr "" +msgstr "Знак має передувати символу вартості та валюти." msgid "``2``" msgstr "``2``" msgid "The sign should follow the value and currency symbol." -msgstr "" +msgstr "Знак повинен слідувати за символом вартості та валюти." msgid "``3``" msgstr "``3``" msgid "The sign should immediately precede the value." -msgstr "" +msgstr "Знак повинен стояти безпосередньо перед значенням." msgid "``4``" msgstr "``4``" msgid "The sign should immediately follow the value." -msgstr "" +msgstr "Знак повинен слідувати безпосередньо за значенням." msgid "``CHAR_MAX``" msgstr "``CHAR_MAX``" msgid "Nothing is specified in this locale." -msgstr "" +msgstr "У цій локалі нічого не вказано." msgid "" "The function temporarily sets the ``LC_CTYPE`` locale to the ``LC_NUMERIC`` " "locale or the ``LC_MONETARY`` locale if locales are different and numeric or " "monetary strings are non-ASCII. This temporary change affects other threads." msgstr "" +"Функция временно устанавливает для локали ``LC_CTYPE`` локаль ``LC_NUMERIC`` " +"или локаль ``LC_MONETARY``, если локали различаются, а числовые или денежные " +"строки не являются ASCII. Это временное изменение влияет на другие потоки." msgid "" "The function now temporarily sets the ``LC_CTYPE`` locale to the " "``LC_NUMERIC`` locale in some cases." msgstr "" +"В некоторых случаях функция теперь временно устанавливает локаль LC_CTYPE на " +"локаль LC_NUMERIC." msgid "" "Return some locale-specific information as a string. This function is not " @@ -274,87 +320,118 @@ msgid "" "across platforms. The possible argument values are numbers, for which " "symbolic constants are available in the locale module." msgstr "" +"Повертає деяку інформацію про локаль у вигляді рядка. Ця функція доступна не " +"в усіх системах, і набір можливих параметрів також може відрізнятися на " +"різних платформах. Можливими значеннями аргументів є числа, для яких у " +"модулі локалі доступні символьні константи." msgid "" "The :func:`nl_langinfo` function accepts one of the following keys. Most " "descriptions are taken from the corresponding description in the GNU C " "library." msgstr "" +"Функція :func:`nl_langinfo` приймає один із наведених нижче ключів. " +"Більшість описів взято з відповідного опису в бібліотеці GNU C." msgid "" "Get a string with the name of the character encoding used in the selected " "locale." msgstr "" +"Отримайте рядок із назвою кодування символів, що використовується у вибраній " +"локалі." msgid "" "Get a string that can be used as a format string for :func:`time.strftime` " "to represent date and time in a locale-specific way." msgstr "" +"Отримайте рядок, який можна використовувати як рядок формату для :func:`time." +"strftime` для представлення дати й часу у спосіб, що залежить від локалі." msgid "" "Get a string that can be used as a format string for :func:`time.strftime` " "to represent a date in a locale-specific way." msgstr "" +"Отримайте рядок, який можна використовувати як рядок формату для :func:`time." +"strftime` для представлення дати у спосіб, що залежить від локалі." msgid "" "Get a string that can be used as a format string for :func:`time.strftime` " "to represent a time in a locale-specific way." msgstr "" +"Отримайте рядок, який можна використовувати як рядок формату для :func:`time." +"strftime` для представлення часу у спосіб, що залежить від локалі." msgid "" "Get a format string for :func:`time.strftime` to represent time in the am/pm " "format." msgstr "" +"Отримайте рядок формату для :func:`time.strftime` для представлення часу у " +"форматі am/pm." msgid "Get the name of the n-th day of the week." -msgstr "" +msgstr "Отримайте назву n-го дня тижня." msgid "" "This follows the US convention of :const:`DAY_1` being Sunday, not the " "international convention (ISO 8601) that Monday is the first day of the week." msgstr "" +"Це відповідає конвенції США про те, що :const:`DAY_1` є неділею, а не " +"міжнародній конвенції (ISO 8601), що понеділок є першим днем тижня." msgid "Get the abbreviated name of the n-th day of the week." -msgstr "" +msgstr "Отримайте скорочену назву n-го дня тижня." msgid "Get the name of the n-th month." -msgstr "" +msgstr "Отримайте назву n-го місяця." msgid "Get the abbreviated name of the n-th month." -msgstr "" +msgstr "Отримайте скорочену назву n-го місяця." msgid "Get the radix character (decimal dot, decimal comma, etc.)." -msgstr "" +msgstr "Отримайте символ основи (десяткову крапку, десяткову кому тощо)." msgid "Get the separator character for thousands (groups of three digits)." -msgstr "" +msgstr "Отримайте роздільник тисяч (групи з трьох цифр)." msgid "" "Get a regular expression that can be used with the regex function to " "recognize a positive response to a yes/no question." msgstr "" +"Отримайте регулярний вираз, який можна використовувати з функцією " +"регулярного виразу, щоб розпізнати позитивну відповідь на запитання \"так/" +"ні\"." msgid "" "Get a regular expression that can be used with the ``regex(3)`` function to " "recognize a negative response to a yes/no question." msgstr "" +"Получите регулярное выражение, которое можно использовать с функцией " +"``regex(3)`` для распознавания отрицательного ответа на вопрос да/нет." msgid "" "The regular expressions for :const:`YESEXPR` and :const:`NOEXPR` use syntax " "suitable for the ``regex`` function from the C library, which might differ " "from the syntax used in :mod:`re`." msgstr "" +"Регулярные выражения для :const:`YESEXPR` и :const:`NOEXPR` используют " +"синтаксис, подходящий для функции ``regex`` из библиотеки C, который может " +"отличаться от синтаксиса, используемого в :mod:`re`." msgid "" "Get the currency symbol, preceded by \"-\" if the symbol should appear " "before the value, \"+\" if the symbol should appear after the value, or \"." "\" if the symbol should replace the radix character." msgstr "" +"Отримайте символ грошової одиниці, якому передує \"-\", якщо символ має " +"стояти перед значенням, \"+\", якщо символ має стояти після значення, або \"." +"\" якщо символ повинен замінити символ основи." msgid "" "Get a string which describes how years are counted and displayed for each " "era in a locale." msgstr "" +"Получите строку, описывающую, как подсчитываются и отображаются годы для " +"каждой эпохи в языковом стандарте." msgid "" "Most locales do not define this value. An example of a locale which does " @@ -362,6 +439,9 @@ msgid "" "representation of dates includes the name of the era corresponding to the " "then-emperor's reign." msgstr "" +"Більшість локалей не визначають це значення. Прикладом локалі, яка визначає " +"це значення, є японська. У Японії традиційне представлення дат включає назву " +"епохи, яка відповідає правлінню тодішнього імператора." msgid "" "Normally it should not be necessary to use this value directly. Specifying " @@ -371,32 +451,49 @@ msgid "" "`7.3.5.2 LC_TIME C-Language Access `_." msgstr "" +"Обычно нет необходимости использовать это значение напрямую. Указание " +"модификатора ``E`` в строках формата заставляет функцию :func:`time." +"strftime` использовать эту информацию. Формат возвращаемой строки указан в " +"*Базовых спецификациях открытой группы, выпуск 8*, параграф `7.3.5.2 LC_TIME " +"Доступ к языку C `_." msgid "" "Get a format string for :func:`time.strftime` to represent date and time in " "a locale-specific era-based way." msgstr "" +"Отримайте рядок формату для :func:`time.strftime`, щоб представити дату й " +"час у спосіб, що залежить від місцевості й епохи." msgid "" "Get a format string for :func:`time.strftime` to represent a date in a " "locale-specific era-based way." msgstr "" +"Отримайте рядок формату для :func:`time.strftime`, щоб представити дату " +"залежно від локалі на основі епохи." msgid "" "Get a format string for :func:`time.strftime` to represent a time in a " "locale-specific era-based way." msgstr "" +"Отримайте рядок формату для :func:`time.strftime`, щоб представити час " +"залежно від локалі на основі епохи." msgid "" "Get a string consisting of up to 100 semicolon-separated symbols used to " "represent the values 0 to 99 in a locale-specific way. In most locales this " "is an empty string." msgstr "" +"Получите строку, содержащую до 100 символов, разделенных точкой с запятой, " +"которые используются для представления значений от 0 до 99 в зависимости от " +"языкового стандарта. В большинстве локалей это пустая строка." msgid "" "Tries to determine the default locale settings and returns them as a tuple " "of the form ``(language code, encoding)``." msgstr "" +"Намагається визначити параметри мови за замовчуванням і повертає їх як " +"кортеж у формі ``(код мови, кодування)``." msgid "" "According to POSIX, a program which has not called ``setlocale(LC_ALL, '')`` " @@ -405,6 +502,12 @@ msgid "" "Since we do not want to interfere with the current locale setting we thus " "emulate the behavior in the way described above." msgstr "" +"Відповідно до POSIX, програма, яка не викликала ``setlocale(LC_ALL, '')``, " +"працює з використанням портативної локалі ``'C''``. Виклик " +"``setlocale(LC_ALL, '')`` дозволяє використовувати локаль за замовчуванням, " +"як визначено змінною :envvar:`LANG`. Оскільки ми не хочемо втручатися в " +"поточні налаштування локалі, ми таким чином емулюємо поведінку, як описано " +"вище." msgid "" "To maintain compatibility with other platforms, not only the :envvar:`LANG` " @@ -414,18 +517,31 @@ msgid "" "``'LANG'``. The GNU gettext search path contains ``'LC_ALL'``, " "``'LC_CTYPE'``, ``'LANG'`` and ``'LANGUAGE'``, in that order." msgstr "" +"Щоб підтримувати сумісність з іншими платформами, перевіряється не лише " +"змінна :envvar:`LANG`, але й список змінних, наданий як параметр envvars. " +"Використовуватиметься перший знайдений. *envvars* за умовчанням використовує " +"шлях пошуку, який використовується в GNU gettext; він завжди повинен містити " +"назву змінної ``'LANG'``. Шлях пошуку GNU gettext містить ``'LC_ALL'``, " +"``'LC_CTYPE'``, ``'LANG'`` і ``'LANGUAGE'``, у такому порядку." 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." msgstr "" +"За винятком коду ``'C``, код мови відповідає :rfc:`1766`. *код мови* і " +"*кодування* можуть мати значення ``None``, якщо їх значення неможливо " +"визначити." 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`." msgstr "" +"Возвращает текущие настройки для данной категории локали в виде " +"последовательности, содержащей *код языка*, *кодировку*. *category* может " +"быть одним из значений :const:`!LC_\\*`, кроме :const:`LC_ALL`. По умолчанию " +"используется :const:`LC_CTYPE`." msgid "" "Return the :term:`locale encoding` used for text data, according to user " @@ -433,60 +549,86 @@ msgid "" "systems, and might not be available programmatically on some systems, so " "this function only returns a guess." msgstr "" +"Повертає :term:`locale encoding`, що використовується для текстових даних, " +"відповідно до вподобань користувача. Налаштування користувача виражаються по-" +"різному в різних системах і можуть бути недоступні програмно в деяких " +"системах, тому ця функція повертає лише припущення." msgid "" "On some systems, it is necessary to invoke :func:`setlocale` to obtain the " "user preferences, so this function is not thread-safe. If invoking setlocale " "is not necessary or desired, *do_setlocale* should be set to ``False``." msgstr "" +"У деяких системах необхідно викликати :func:`setlocale`, щоб отримати " +"параметри користувача, тому ця функція небезпечна для потоків. Якщо виклик " +"setlocale не є необхідним або бажаним, *do_setlocale* має бути встановлено " +"на ``False``." msgid "" "On Android or if the :ref:`Python UTF-8 Mode ` is enabled, always " "return ``'utf-8'``, the :term:`locale encoding` and the *do_setlocale* " "argument are ignored." msgstr "" +"На Android или если включен режим Python UTF-8 , всегда " +"возвращайте ``'utf-8'``, кодировка :term:`locale` и аргумент *do_setlocale* " +"имеют значение игнорируется." msgid "" "The :ref:`Python preinitialization ` configures the LC_CTYPE " "locale. See also the :term:`filesystem encoding and error handler`." msgstr "" +":ref:`Попередня ініціалізація Python ` налаштовує локаль " +"LC_CTYPE. Дивіться також :term:`filesystem encoding and error handler`." msgid "" "The function now always returns ``\"utf-8\"`` on Android or if the :ref:" "`Python UTF-8 Mode ` is enabled." msgstr "" +"Функция теперь всегда возвращает ``\"utf-8\"`` на Android или если включен " +"режим Python UTF-8 `." msgid "Get the current :term:`locale encoding`:" -msgstr "" +msgstr "Получите текущую :term:`кодировку локали`:" msgid "On Android and VxWorks, return ``\"utf-8\"``." -msgstr "" +msgstr "В Android и VxWorks верните ``\"utf-8\"``." msgid "" "On Unix, return the encoding of the current :data:`LC_CTYPE` locale. Return " "``\"utf-8\"`` if ``nl_langinfo(CODESET)`` returns an empty string: for " "example, if the current LC_CTYPE locale is not supported." msgstr "" +"В Unix верните кодировку текущей локали :data:`LC_CTYPE`. Верните " +"``\"utf-8\"``, если ``nl_langinfo(CODESET)`` возвращает пустую строку: " +"например, если текущая локаль LC_CTYPE не поддерживается." msgid "On Windows, return the ANSI code page." -msgstr "" +msgstr "В Windows верните кодовую страницу ANSI." msgid "" "This function is similar to :func:`getpreferredencoding(False) " "` except this function ignores the :ref:`Python UTF-8 " "Mode `." msgstr "" +"Эта функция аналогична :func:`getpreferredencoding(False) " +"` за исключением того, что эта функция игнорирует :ref:" +"`Python UTF-8 Mode `." msgid "" "Returns a normalized locale code for the given locale name. The returned " "locale code is formatted for use with :func:`setlocale`. If normalization " "fails, the original name is returned unchanged." msgstr "" +"Повертає нормалізований код мови для заданої назви мови. Повернений код мови " +"відформатовано для використання з :func:`setlocale`. Якщо нормалізація не " +"вдається, вихідне ім'я повертається без змін." msgid "" "If the given encoding is not known, the function defaults to the default " "encoding for the locale code just like :func:`setlocale`." msgstr "" +"Якщо задане кодування невідоме, функція за замовчуванням використовує " +"кодування за замовчуванням для коду мови, як :func:`setlocale`." msgid "" "Compares two strings according to the current :const:`LC_COLLATE` setting. " @@ -494,6 +636,10 @@ msgid "" "``0``, depending on whether *string1* collates before or after *string2* or " "is equal to it." msgstr "" +"Порівнює два рядки відповідно до поточного параметра :const:`LC_COLLATE`. Як " +"і будь-яка інша функція порівняння, повертає від’ємне або додатне значення, " +"або ``0``, залежно від того, чи *рядок1* порівнює до чи після *рядок2* або " +"дорівнює йому." msgid "" "Transforms a string to one that can be used in locale-aware comparisons. " @@ -501,6 +647,11 @@ msgid "" "s2) < 0``. This function can be used when the same string is compared " "repeatedly, e.g. when collating a sequence of strings." msgstr "" +"Перетворює рядок на такий, який можна використовувати для порівняння з " +"урахуванням локалі. Наприклад, ``strxfrm(s1) < strxfrm(s2)`` еквівалентно " +"``strcoll(s1, s2) < 0``. Цю функцію можна використовувати, коли той самий " +"рядок порівнюється багаторазово, наприклад. під час зіставлення " +"послідовності рядків." msgid "" "Formats a number *val* according to the current :const:`LC_NUMERIC` setting. " @@ -508,24 +659,33 @@ msgid "" "point values, the decimal point is modified if appropriate. If *grouping* " "is ``True``, also takes the grouping into account." msgstr "" +"Форматирует число *val* в соответствии с текущей настройкой :const:" +"`LC_NUMERIC`. Формат соответствует соглашениям оператора ``%``. Для значений " +"с плавающей запятой десятичная точка изменяется, если это необходимо. Если " +"*grouping* имеет значение True, группировка также учитывается." msgid "" "If *monetary* is true, the conversion uses monetary thousands separator and " "grouping strings." msgstr "" +"Якщо *monetary* має значення true, для перетворення використовуються грошові " +"розділювачі тисяч і рядки групування." msgid "" "Processes formatting specifiers as in ``format % val``, but takes the " "current locale settings into account." msgstr "" +"Обробляє специфікатори форматування як у ``format % val``, але враховує " +"поточні налаштування мови." msgid "The *monetary* keyword parameter was added." -msgstr "" +msgstr "Додано параметр ключового слова *monetary*." msgid "" "Formats a number *val* according to the current :const:`LC_MONETARY` " "settings." msgstr "" +"Форматує число *val* відповідно до поточних налаштувань :const:`LC_MONETARY`." msgid "" "The returned string includes the currency symbol if *symbol* is true, which " @@ -533,36 +693,51 @@ msgid "" "grouping is done with the value. If *international* is ``True`` (which is " "not the default), the international currency symbol is used." msgstr "" +"Возвращаемая строка включает символ валюты, если *symbol* имеет значение " +"true (это значение по умолчанию). Если *grouping* имеет значение True (что " +"не является значением по умолчанию), группировка выполняется по значению. " +"Если *international* имеет значение True (что не является значением по " +"умолчанию), используется символ международной валюты." msgid "" "This function will not work with the 'C' locale, so you have to set a locale " "via :func:`setlocale` first." msgstr "" +"Эта функция не будет работать с локалью «C», поэтому сначала вам необходимо " +"установить локаль с помощью :func:`setlocale`." msgid "" "Formats a floating-point number using the same format as the built-in " "function ``str(float)``, but takes the decimal point into account." msgstr "" +"Форматирует число с плавающей запятой, используя тот же формат, что и " +"встроенная функция str(float), но учитывает десятичную точку." msgid "" "Converts a string into a normalized number string, following the :const:" "`LC_NUMERIC` settings." msgstr "" +"Перетворює рядок у нормалізований числовий рядок відповідно до параметрів :" +"const:`LC_NUMERIC`." msgid "" "Converts a normalized number string into a formatted string following the :" "const:`LC_NUMERIC` settings." msgstr "" +"Перетворює нормалізований числовий рядок у відформатований рядок відповідно " +"до параметрів :const:`LC_NUMERIC`." msgid "" "Converts a string to a number, following the :const:`LC_NUMERIC` settings, " "by calling *func* on the result of calling :func:`delocalize` on *string*." msgstr "" +"Перетворює рядок на число відповідно до налаштувань :const:`LC_NUMERIC`, " +"викликаючи *func* в результаті виклику :func:`delocalize` для *string*." msgid "" "Converts a string to an integer, following the :const:`LC_NUMERIC` " "conventions." -msgstr "" +msgstr "Перетворює рядок на ціле число, дотримуючись угод :const:`LC_NUMERIC`." msgid "" "Locale category for the character type functions. Most importantly, this " @@ -572,27 +747,43 @@ msgid "" "invalid settings in containers or incompatible settings passed over remote " "SSH connections." msgstr "" +"Категория локали для функций типа символов. Самое главное, эта категория " +"определяет кодировку текста, то есть то, как байты интерпретируются как " +"кодовые точки Unicode. См. :pep:`538` и :pep:`540`, чтобы узнать, как эта " +"переменная может быть автоматически приведена к ``C.UTF-8``, чтобы избежать " +"проблем, создаваемых недопустимыми настройками в контейнерах или " +"несовместимыми настройками, передаваемыми через удаленные соединения SSH." 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`." msgstr "" +"Python не использует внутри себя функции преобразования символов, зависящие " +"от локали, из ``ctype.h``. Вместо этого внутренний ``pyctype.h`` " +"предоставляет независимые от локали эквиваленты, такие как :c:macro:`!" +"Py_TOLOWER`." msgid "" "Locale category for sorting strings. The functions :func:`strcoll` and :" "func:`strxfrm` of the :mod:`locale` module are affected." msgstr "" +"Локальна категорія для сортування рядків. Це впливає на функції :func:" +"`strcoll` і :func:`strxfrm` модуля :mod:`locale`." msgid "" "Locale category for the formatting of time. The function :func:`time." "strftime` follows these conventions." msgstr "" +"Локальна категорія для форматування часу. Функція :func:`time.strftime` " +"відповідає цим умовам." msgid "" "Locale category for formatting of monetary values. The available options " "are available from the :func:`localeconv` function." msgstr "" +"Локальна категорія для форматування грошових значень. Доступні параметри " +"доступні з функції :func:`localeconv`." msgid "" "Locale category for message display. Python currently does not support " @@ -600,11 +791,17 @@ msgid "" "operating system, like those returned by :func:`os.strerror` might be " "affected by this category." msgstr "" +"Категорія мови для відображення повідомлень. Python наразі не підтримує " +"повідомлень із залежністю від мови програми. Ця категорія може вплинути на " +"повідомлення, які відображає операційна система, наприклад ті, що повертає :" +"func:`os.strerror`." msgid "" "This value may not be available on operating systems not conforming to the " "POSIX standard, most notably Windows." msgstr "" +"Это значение может быть недоступно в операционных системах, не " +"соответствующих стандарту POSIX, особенно в Windows." msgid "" "Locale category for formatting numbers. The functions :func:" @@ -612,6 +809,9 @@ msgid "" "`locale` module are affected by that category. All other numeric formatting " "operations are not affected." msgstr "" +"Категория локали для форматирования чисел. Эта категория влияет на функции :" +"func:`format_string`, :func:`atoi`, :func:`atof` и :func:`.str` модуля :mod:" +"`locale`. Все остальные операции числового форматирования не затрагиваются." msgid "" "Combination of all locale settings. If this flag is used when the locale is " @@ -621,11 +821,19 @@ msgid "" "categories is returned. This string can be later used to restore the " "settings." msgstr "" +"Комбінація всіх налаштувань мови. Якщо цей прапорець використовується під " +"час зміни локалі, намагається встановити локаль для всіх категорій. Якщо це " +"не вдається для будь-якої категорії, жодна категорія не змінюється взагалі. " +"Коли локаль отримується за допомогою цього прапорця, повертається рядок, що " +"вказує на налаштування для всіх категорій. Цей рядок пізніше можна " +"використати для відновлення налаштувань." msgid "" "This is a symbolic constant used for different values returned by :func:" "`localeconv`." msgstr "" +"Це символічна константа, яка використовується для різних значень, які " +"повертає :func:`localeconv`." msgid "Example::" msgstr "Przykład::" @@ -641,9 +849,18 @@ msgid "" ">>> locale.setlocale(locale.LC_ALL, 'C') # use default (C) locale\n" ">>> locale.setlocale(locale.LC_ALL, loc) # restore saved locale" msgstr "" +">>> 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" msgid "Background, details, hints, tips and caveats" -msgstr "" +msgstr "Передумови, деталі, підказки, поради та застереження" msgid "" "The C standard defines the locale as a program-wide property that may be " @@ -651,6 +868,10 @@ msgid "" "broken in such a way that frequent locale changes may cause core dumps. " "This makes the locale somewhat painful to use correctly." msgstr "" +"Стандарт C визначає локаль як загальнопрограмну властивість, зміна якої може " +"бути відносно дорогою. Крім того, деякі реалізації порушені таким чином, що " +"часті зміни локалі можуть спричинити дамп ядра. Це робить локаль дещо " +"болючим для правильного використання." msgid "" "Initially, when a program is started, the locale is the ``C`` locale, no " @@ -660,6 +881,12 @@ msgid "" "explicitly say that it wants the user's preferred locale settings for other " "categories by calling ``setlocale(LC_ALL, '')``." msgstr "" +"Спочатку, коли програма запускається, локаль ``C`` локаль, незалежно від " +"того, яку локаль вибирає користувач. Є один виняток: категорія :data:" +"`LC_CTYPE` змінюється під час запуску, щоб встановити поточне кодування мови " +"на бажане кодування мови користувача. Програма має чітко вказати, що їй " +"потрібні бажані налаштування локалі користувача для інших категорій, " +"викликавши ``setlocale(LC_ALL, '')``." msgid "" "It is generally a bad idea to call :func:`setlocale` in some library " @@ -667,6 +894,10 @@ msgid "" "restoring it is almost as bad: it is expensive and affects other threads " "that happen to run before the settings have been restored." msgstr "" +"Викликати :func:`setlocale` у певній бібліотечній процедурі, як правило, " +"погана ідея, оскільки як побічний ефект це впливає на всю програму. " +"Зберігати та відновлювати його майже так само погано: це дорого та впливає " +"на інші потоки, які запускаються до відновлення налаштувань." msgid "" "If, when coding a module for general use, you need a locale independent " @@ -677,12 +908,22 @@ msgid "" "you document that your module is not compatible with non-\\ ``C`` locale " "settings." msgstr "" +"Якщо під час кодування модуля для загального використання вам потрібна " +"незалежна від локалі версія операції, на яку впливає локаль (наприклад, " +"певні формати, що використовуються з :func:`time.strftime`), вам доведеться " +"знайти спосіб зробити це без використання стандартної бібліотечної " +"процедури. Ще краще — переконати себе, що використання налаштувань мови — це " +"нормально. Лише в крайньому випадку ви повинні задокументувати, що ваш " +"модуль несумісний з налаштуваннями локалі, відмінними від \\ ``C``." msgid "" "The only way to perform numeric operations according to the locale is to use " "the special functions defined by this module: :func:`atof`, :func:`atoi`, :" "func:`format_string`, :func:`.str`." msgstr "" +"Единственный способ выполнять числовые операции в соответствии с локалью — " +"использовать специальные функции, определенные в этом модуле: :func:`atof`, :" +"func:`atoi`, :func:`format_string`, :func:`.str` ." msgid "" "There is no way to perform case conversions and character classifications " @@ -693,9 +934,16 @@ msgid "" "converted or considered part of a character class such as letter or " "whitespace." msgstr "" +"Немає способу виконати перетворення регістру та класифікацію символів " +"відповідно до локалі. Для текстових рядків (Unicode) вони виконуються лише " +"відповідно до значення символу, тоді як для рядків байтів перетворення та " +"класифікація виконуються відповідно до значення ASCII байта та байтів, для " +"яких встановлено старший біт (тобто байти, що не належать до ASCII ) ніколи " +"не перетворюються та не вважаються частиною класу символів, такого як літера " +"чи пробіл." msgid "For extension writers and programs that embed Python" -msgstr "" +msgstr "Для авторів розширень і програм, які вбудовують Python" msgid "" "Extension modules should never call :func:`setlocale`, except to find out " @@ -703,6 +951,11 @@ msgid "" "portably to restore it, that is not very useful (except perhaps to find out " "whether or not the locale is ``C``)." msgstr "" +"Модулі розширення ніколи не повинні викликати :func:`setlocale`, за винятком " +"того, щоб дізнатися, яка поточна локаль. Але оскільки значення, що " +"повертається, можна використати лише портативно, щоб відновити його, це не " +"дуже корисно (за винятком, можливо, для того, щоб дізнатися, чи є локаль " +"``C``)." msgid "" "When Python code uses the :mod:`locale` module to change the locale, this " @@ -712,9 +965,15 @@ msgid "" "file:`config.c` file, and make sure that the :mod:`!_locale` module is not " "accessible as a shared library." msgstr "" +"Когда код Python использует модуль :mod:`locale` для изменения языкового " +"стандарта, это также влияет на приложение для внедрения. Если приложение для " +"внедрения не хочет, чтобы это произошло, оно должно удалить модуль " +"расширения :mod:`!_locale` (который выполняет всю работу) из таблицы " +"встроенных модулей в :file:`config.c` файл и убедитесь, что модуль :mod:`!" +"_locale` недоступен как общая библиотека." msgid "Access to message catalogs" -msgstr "" +msgstr "Доступ до каталогів повідомлень" msgid "" "The locale module exposes the C library's gettext interface on systems that " @@ -725,6 +984,13 @@ msgid "" "format for message catalogs, and the C library's search algorithms for " "locating message catalogs." msgstr "" +"Модуль локали предоставляет интерфейс gettext библиотеки C в системах, " +"которые предоставляют этот интерфейс. Он состоит из функций :func:" +"`gettext`, :func:`dgettext`, :func:`dcgettext`, :func:`textdomain`, :func:" +"`bindtextdomain` и :func:`bind_textdomain_codeset`. Они аналогичны тем же " +"функциям в модуле :mod:`gettext`, но используют двоичный формат библиотеки C " +"для каталогов сообщений и алгоритмы поиска библиотеки C для поиска каталогов " +"сообщений." msgid "" "Python applications should normally find no need to invoke these functions, " @@ -734,9 +1000,16 @@ msgid "" "necessary to bind the text domain, so that the libraries can properly locate " "their message catalogs." msgstr "" +"Приложения Python обычно не должны испытывать необходимости вызывать эти " +"функции и вместо этого должны использовать :mod:`gettext`. Известным " +"исключением из этого правила являются приложения, которые компонуются с " +"дополнительными библиотеками C, которые внутренне вызывают функции C " +"``gettext`` или ``dcgettext``. Для этих приложений может потребоваться " +"привязка текстового домена, чтобы библиотеки могли правильно найти свои " +"каталоги сообщений." msgid "module" msgstr "moduł" msgid "_locale" -msgstr "" +msgstr "_locale" diff --git a/library/logging.config.po b/library/logging.config.po index d65f9c8796..23226beebd 100644 --- a/library/logging.config.po +++ b/library/logging.config.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-06-20 14:58+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -25,29 +24,29 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!logging.config` --- Logging configuration" -msgstr "" +msgstr ":mod:`!logging.config` --- Конфигурация журналирования" 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" -msgstr "" +msgstr "Ця сторінка містить лише довідкову інформацію. Навчальні посібники див" msgid ":ref:`Basic Tutorial `" -msgstr "" +msgstr ":ref:`Basic Tutorial `" msgid ":ref:`Advanced Tutorial `" -msgstr "" +msgstr ":ref:`Advanced Tutorial `" msgid ":ref:`Logging Cookbook `" -msgstr "" +msgstr ":ref:`Logging Cookbook `" msgid "This section describes the API for configuring the logging module." -msgstr "" +msgstr "У цьому розділі описано API для налаштування модуля журналювання." msgid "Configuration functions" -msgstr "" +msgstr "Функції конфігурації" msgid "" "The following functions configure the logging module. They are located in " @@ -56,11 +55,18 @@ msgid "" "main API (defined in :mod:`logging` itself) and defining handlers which are " "declared either in :mod:`logging` or :mod:`logging.handlers`." msgstr "" +"Наступні функції налаштовують модуль журналювання. Вони знаходяться в " +"модулі :mod:`logging.config`. Їхнє використання необов’язкове --- ви можете " +"налаштувати модуль журналювання за допомогою цих функцій або викликом " +"основного API (визначеного в самому :mod:`logging`) і визначення обробників, " +"які оголошуються або в :mod:`logging`, або :mod:`logging.handlers`." msgid "" "Takes the logging configuration from a dictionary. The contents of this " "dictionary are described in :ref:`logging-config-dictschema` below." msgstr "" +"Бере конфігурацію журналювання зі словника. Вміст цього словника описано в :" +"ref:`logging-config-dictschema` нижче." msgid "" "If an error is encountered during configuration, this function will raise a :" @@ -68,26 +74,33 @@ msgid "" "`ImportError` with a suitably descriptive message. The following is a " "(possibly incomplete) list of conditions which will raise an error:" msgstr "" +"Якщо під час налаштування буде виявлено помилку, ця функція викличе :exc:" +"`ValueError`, :exc:`TypeError`, :exc:`AttributeError` або :exc:`ImportError` " +"із відповідним описовим повідомленням. Нижче наведено (можливо, неповний) " +"список умов, які викличуть помилку:" msgid "" "A ``level`` which is not a string or which is a string not corresponding to " "an actual logging level." msgstr "" +"``Рівень``, який не є рядком або є рядком, що не відповідає фактичному рівню " +"реєстрації." msgid "A ``propagate`` value which is not a boolean." -msgstr "" +msgstr "Значення ``розповсюдження``, яке не є логічним." msgid "An id which does not have a corresponding destination." -msgstr "" +msgstr "Ідентифікатор, який не має відповідного адресата." msgid "A non-existent handler id found during an incremental call." msgstr "" +"Під час інкрементного виклику виявлено ідентифікатор неіснуючого обробника." msgid "An invalid logger name." -msgstr "" +msgstr "Недійсне ім'я реєстратора." msgid "Inability to resolve to an internal or external object." -msgstr "" +msgstr "Нездатність вирішити внутрішній або зовнішній об'єкт." msgid "" "Parsing is performed by the :class:`DictConfigurator` class, whose " @@ -97,17 +110,28 @@ msgid "" "`DictConfigurator`. You can replace the value of :attr:`dictConfigClass` " "with a suitable implementation of your own." msgstr "" +"Розбір виконується класом :class:`DictConfigurator`, конструктор якого " +"передає словник, який використовується для налаштування, і має метод :meth:" +"`configure`. Модуль :mod:`logging.config` має викликаний атрибут :attr:" +"`dictConfigClass`, який початково встановлено на :class:`DictConfigurator`. " +"Ви можете замінити значення :attr:`dictConfigClass` відповідною власною " +"реалізацією." msgid "" ":func:`dictConfig` calls :attr:`dictConfigClass` passing the specified " "dictionary, and then calls the :meth:`configure` method on the returned " "object to put the configuration into effect::" msgstr "" +":func:`dictConfig` викликає :attr:`dictConfigClass`, передаючи вказаний " +"словник, а потім викликає метод :meth:`configure` для повернутого об’єкта, " +"щоб застосувати конфігурацію:" msgid "" "def dictConfig(config):\n" " dictConfigClass(config).configure()" msgstr "" +"def dictConfig(config):\n" +" dictConfigClass(config).configure()" msgid "" "For example, a subclass of :class:`DictConfigurator` could call " @@ -117,6 +141,12 @@ msgid "" "func:`dictConfig` could be called exactly as in the default, uncustomized " "state." msgstr "" +"Например, подкласс :class:`DictConfigurator` может вызывать " +"``DictConfigurator.__init__()`` в своем собственном :meth:`__init__`, а " +"затем устанавливать собственные префиксы, которые можно будет использовать в " +"последующих :meth:`configure. ` позвони. :attr:`dictConfigClass` будет " +"привязан к этому новому подклассу, а затем :func:`dictConfig` может быть " +"вызван точно так же, как в ненастроенном состоянии по умолчанию." msgid "" "Reads the logging configuration from a :mod:`configparser`\\-format file. " @@ -126,11 +156,19 @@ msgid "" "the developer provides a mechanism to present the choices and load the " "chosen configuration)." msgstr "" +"Читає конфігурацію журналювання з файлу у форматі :mod:`configparser`\\. " +"Формат файлу має бути таким, як описано в :ref:`logging-config-fileformat`. " +"Цю функцію можна викликати кілька разів із програми, дозволяючи кінцевому " +"користувачеві вибирати з різних попередньо готових конфігурацій (якщо " +"розробник надає механізм для представлення варіантів і завантаження вибраної " +"конфігурації)." msgid "" "It will raise :exc:`FileNotFoundError` if the file doesn't exist and :exc:" "`RuntimeError` if the file is invalid or empty." msgstr "" +"Он выдаст :exc:`FileNotFoundError`, если файл не существует, и :exc:" +"`RuntimeError`, если файл недействителен или пуст." msgid "Parameters" msgstr "parametry" @@ -145,11 +183,22 @@ msgid "" "ConfigParser.read_file`; otherwise, it is assumed to be a filename and " "passed to :meth:`~configparser.ConfigParser.read`." msgstr "" +"Имя файла, файлоподобный объект или экземпляр, производный от :class:" +"`~configparser.RawConfigParser`. Если передается экземпляр, производный от :" +"class:`!RawConfigParser`, он используется как есть. В противном случае " +"создается экземпляр :class:`~configparser.ConfigParser`, и конфигурация " +"считывается им из объекта, переданного в ``fname``. Если у него есть метод :" +"meth:`readline`, предполагается, что он представляет собой файлоподобный " +"объект и читается с помощью :meth:`~configparser.ConfigParser.read_file`; в " +"противном случае предполагается, что это имя файла и передается в :meth:" +"`~configparser.ConfigParser.read`." msgid "" "Defaults to be passed to the :class:`!ConfigParser` can be specified in this " "argument." msgstr "" +"В этом аргументе можно указать значения по умолчанию, которые будут переданы " +"в :class:`!ConfigParser`." msgid "" "If specified as ``False``, loggers which exist when this call is made are " @@ -158,33 +207,50 @@ msgid "" "root loggers unless they or their ancestors are explicitly named in the " "logging configuration." msgstr "" +"Если указано значение «False», средства ведения журнала, существующие на " +"момент выполнения этого вызова, остаются включенными. По умолчанию " +"установлено значение True, поскольку это позволяет использовать старое " +"поведение с обратной совместимостью. Такое поведение предназначено для " +"отключения всех существующих средств ведения журнала без полномочий root, " +"если они или их предки явно не указаны в конфигурации ведения журнала." msgid "The encoding used to open file when *fname* is filename." msgstr "" +"Кодування, яке використовується для відкриття файлу, коли *fname* є назвою " +"файлу." msgid "" "An instance of a subclass of :class:`~configparser.RawConfigParser` is now " "accepted as a value for ``fname``. This facilitates:" msgstr "" +"Екземпляр підкласу :class:`~configparser.RawConfigParser` тепер приймається " +"як значення для ``fname``. Це полегшує:" msgid "" "Use of a configuration file where logging configuration is just part of the " "overall application configuration." msgstr "" +"Використання файлу конфігурації, де конфігурація журналювання є лише " +"частиною загальної конфігурації програми." msgid "" "Use of a configuration read from a file, and then modified by the using " "application (e.g. based on command-line parameters or other aspects of the " "runtime environment) before being passed to ``fileConfig``." msgstr "" +"Використання конфігурації, зчитаної з файлу, а потім зміненої програмою-" +"користувачем (наприклад, на основі параметрів командного рядка або інших " +"аспектів середовища виконання) перед передачею в ``fileConfig``." msgid "Added the *encoding* parameter." -msgstr "" +msgstr "Добавлен параметр *encoding*." msgid "" "An exception will be thrown if the provided file doesn't exist or is invalid " "or empty." msgstr "" +"Исключение будет выдано, если предоставленный файл не существует, является " +"недействительным или пустым." msgid "" "Starts up a socket server on the specified port, and listens for new " @@ -196,6 +262,14 @@ msgid "" "meth:`~threading.Thread.join` when appropriate. To stop the server, call :" "func:`stopListening`." msgstr "" +"Запускає сервер сокетів на вказаному порту та очікує нових конфігурацій. " +"Якщо порт не вказано, використовується модуль за замовчуванням :const:" +"`DEFAULT_LOGGING_CONFIG_PORT`. Конфігурації журналу будуть надіслані як " +"файл, придатний для обробки за допомогою :func:`dictConfig` або :func:" +"`fileConfig`. Повертає екземпляр :class:`~threading.Thread`, на якому ви " +"можете викликати :meth:`~threading.Thread.start`, щоб запустити сервер, і до " +"якого ви можете :meth:`~threading.Thread.join`, коли потрібно . Щоб зупинити " +"сервер, викличте :func:`stopListening`." msgid "" "The ``verify`` argument, if specified, should be a callable which should " @@ -209,12 +283,26 @@ msgid "" "when only verification is done), or they could be completely different " "(perhaps if decryption were performed)." msgstr "" +"Аргумент ``verify``, якщо вказано, має бути викликом, який повинен " +"перевіряти, чи байти, отримані через сокет, є дійсними та чи їх потрібно " +"обробити. Це можна зробити, зашифрувавши та/або підписавши те, що " +"надсилається через сокет, щоб виклик ``verify`` міг виконувати перевірку " +"підпису та/або дешифрування. Викликається ``verify`` викликається з єдиним " +"аргументом - байтами, отриманими через сокет - і має повертати байти для " +"обробки, або ``None``, щоб вказати, що байти слід відкинути. Повернуті байти " +"можуть бути такими самими, як передані в байтах (наприклад, коли виконується " +"лише перевірка), або вони можуть бути зовсім іншими (можливо, якщо було " +"виконано дешифрування)." msgid "" "To send a configuration to the socket, read in the configuration file and " "send it to the socket as a sequence of bytes preceded by a four-byte length " "string packed in binary using ``struct.pack('>L', n)``." msgstr "" +"Щоб надіслати конфігурацію до сокета, прочитайте файл конфігурації та " +"надішліть його до сокета як послідовність байтів, яким передує " +"чотирибайтовий рядок, упакований у двійковому вигляді за допомогою ``struct." +"pack('>L', n)``." msgid "" "Because portions of the configuration are passed through :func:`eval`, use " @@ -232,9 +320,23 @@ msgid "" "``verify`` argument to :func:`listen` to prevent unrecognised configurations " "from being applied." msgstr "" +"Оскільки частини конфігурації передаються через :func:`eval`, використання " +"цієї функції може піддати користувачам ризик безпеки. Хоча функція " +"прив’язується лише до сокета на ``localhost`` і тому не приймає з’єднання з " +"віддалених машин, існують сценарії, коли ненадійний код може запускатися під " +"обліковим записом процесу, який викликає :func:`listen`. Зокрема, якщо " +"процес, який викликає :func:`listen`, виконується на багатокористувацькій " +"машині, де користувачі не можуть довіряти один одному, тоді зловмисник може " +"організувати запуск практично довільного коду в процесі користувача-жертви, " +"просто підключившись до жертви :func:`listen` сокет і надсилання " +"конфігурації, яка запускає будь-який код, який зловмисник хоче виконати в " +"процесі жертви. Це особливо легко зробити, якщо використовується стандартний " +"порт, але не важко, навіть якщо використовується інший порт. Щоб уникнути " +"цього ризику, використовуйте аргумент ``verify`` для :func:`listen`, щоб " +"запобігти застосуванню нерозпізнаних конфігурацій." msgid "The ``verify`` argument was added." -msgstr "" +msgstr "Додано аргумент ``перевірити``." msgid "" "If you want to send configurations to the listener which don't disable " @@ -243,15 +345,23 @@ msgid "" "to specify ``disable_existing_loggers`` as ``False`` in the configuration " "you send." msgstr "" +"Якщо ви хочете надіслати конфігурації прослухувачу, які не вимикають існуючі " +"реєстратори, вам потрібно буде використовувати формат JSON для конфігурації, " +"яка використовуватиме :func:`dictConfig` для конфігурації. Цей метод " +"дозволяє вказати ``disable_existing_loggers`` як ``False`` у конфігурації, " +"яку ви надсилаєте." msgid "" "Stops the listening server which was created with a call to :func:`listen`. " "This is typically called before calling :meth:`join` on the return value " "from :func:`listen`." msgstr "" +"Зупиняє сервер прослуховування, створений за допомогою виклику :func:" +"`listen`. Це зазвичай викликається перед викликом :meth:`join` для значення, " +"яке повертає :func:`listen`." msgid "Security considerations" -msgstr "" +msgstr "Міркування безпеки" msgid "" "The logging configuration functionality tries to offer convenience, and in " @@ -264,9 +374,19 @@ msgid "" "untrusted sources with *extreme caution* and satisfy yourself that nothing " "bad can happen if you load them, before actually loading them." msgstr "" +"Функціональність конфігурації журналювання намагається запропонувати " +"зручність, і частково це робиться, пропонуючи можливість перетворювати текст " +"у конфігураційних файлах на об’єкти Python, які використовуються в " +"конфігурації журналювання - наприклад, як описано в :ref:`logging-config-" +"dict-userdef`. Однак ці самі механізми (імпорт викликів із визначених " +"користувачем модулів і виклик їх із параметрами з конфігурації) можна " +"використовувати для виклику будь-якого коду, який вам подобається, і з цієї " +"причини ви повинні поводитися з конфігураційними файлами з ненадійних джерел " +"з *надзвичайною обережністю* і переконайтеся, що нічого поганого не " +"станеться, якщо ви їх завантажите, перш ніж завантажувати їх." msgid "Configuration dictionary schema" -msgstr "" +msgstr "Схема словника конфігурації" msgid "" "Describing a logging configuration requires listing the various objects to " @@ -279,19 +399,31 @@ msgid "" "these objects and connections is defined in :ref:`logging-config-dict-" "connections` below." msgstr "" +"Опис конфігурації журналювання вимагає переліку різних об’єктів для " +"створення та зв’язків між ними; наприклад, ви можете створити обробник під " +"назвою \"console\", а потім сказати, що реєстратор під назвою \"startup\" " +"надсилатиме свої повідомлення до обробника \"console\". Ці об’єкти не " +"обмежуються об’єктами, наданими модулем :mod:`logging`, оскільки ви можете " +"написати власний формататор або клас обробника. Параметри цих класів можуть " +"також потребувати включення зовнішніх об’єктів, таких як ``sys.stderr``. " +"Синтаксис для опису цих об’єктів і з’єднань визначено в :ref:`logging-config-" +"dict-connections` нижче." msgid "Dictionary Schema Details" -msgstr "" +msgstr "Подробиці схеми словника" msgid "" "The dictionary passed to :func:`dictConfig` must contain the following keys:" -msgstr "" +msgstr "Словник, переданий до :func:`dictConfig`, повинен містити такі ключі:" msgid "" "*version* - to be set to an integer value representing the schema version. " "The only valid value at present is 1, but having this key allows the schema " "to evolve while still preserving backwards compatibility." msgstr "" +"*version* - має бути встановлено ціле значення, що представляє версію схеми. " +"Єдиним дійсним значенням наразі є 1, але наявність цього ключа дозволяє " +"схемі розвиватися, зберігаючи зворотну сумісність." msgid "" "All other keys are optional, but if present they will be interpreted as " @@ -301,18 +433,31 @@ msgid "" "`logging-config-dict-userdef` below is used to create an instance; " "otherwise, the context is used to determine what to instantiate." msgstr "" +"Усі інші ключі необов’язкові, але якщо вони присутні, вони " +"інтерпретуватимуться, як описано нижче. У всіх випадках, наведених нижче, де " +"згадується \"налаштування dict\", буде перевірено наявність спеціального " +"ключа ``'()''``, щоб побачити, чи потрібен власний екземпляр. Якщо так, " +"механізм, описаний у :ref:`logging-config-dict-userdef` нижче, " +"використовується для створення екземпляра; інакше контекст використовується " +"для визначення того, що створити екземпляр." msgid "" "*formatters* - the corresponding value will be a dict in which each key is a " "formatter id and each value is a dict describing how to configure the " "corresponding :class:`~logging.Formatter` instance." msgstr "" +"*formatters* - відповідне значення буде dict, у якому кожен ключ є " +"ідентифікатором formatter, а кожне значення є dict, що описує, як " +"налаштувати відповідний екземпляр :class:`~logging.Formatter`." msgid "" "The configuring dict is searched for the following optional keys which " "correspond to the arguments passed to create a :class:`~logging.Formatter` " "object:" msgstr "" +"У диктофоні налаштування шукаються наступні додаткові ключі, які " +"відповідають аргументам, переданим для створення об’єкта :class:`~logging." +"Formatter`:" msgid "``format``" msgstr "``format``" @@ -324,10 +469,10 @@ msgid "``style``" msgstr "``style``" msgid "``validate`` (since version >=3.8)" -msgstr "" +msgstr "``validate`` (починаючи з версії >=3.8)" msgid "``defaults`` (since version >=3.12)" -msgstr "" +msgstr "``defaults`` (since version >=3.12)" msgid "" "An optional ``class`` key indicates the name of the formatter's class (as a " @@ -338,49 +483,72 @@ msgid "" "condensed format. If your formatter requires different or extra " "configuration keys, you should use :ref:`logging-config-dict-userdef`." msgstr "" +"Необов'язковий ключ ``class`` вказує на ім'я класу форматера (у вигляді " +"модуля та імені класу з крапками). Аргументи створення екземпляра такі ж, як " +"і для :class:`~logging.Formatter`, тому цей ключ найбільш корисний для " +"створення екземпляра налаштованого підкласу :class:`~logging.Formatter`. " +"Наприклад, альтернативний клас може представляти трасування винятків у " +"розгорнутому або скороченому форматі. Якщо ваш форматувальник вимагає інших " +"або додаткових ключів конфігурації, ви повинні використовувати :ref:`logging-" +"config-dict-userdef`." msgid "" "*filters* - the corresponding value will be a dict in which each key is a " "filter id and each value is a dict describing how to configure the " "corresponding Filter instance." msgstr "" +"*filters* — відповідне значення буде диктовим словом, у якому кожен ключ є " +"ідентифікатором фільтра, а кожне значення — диктовим кодом, що описує, як " +"налаштувати відповідний екземпляр фільтра." msgid "" "The configuring dict is searched for the key ``name`` (defaulting to the " "empty string) and this is used to construct a :class:`logging.Filter` " "instance." msgstr "" +"Dict конфігурації шукається за ключем ``name`` (за замовчуванням порожній " +"рядок), і це використовується для створення екземпляра :class:`logging." +"Filter`." msgid "" "*handlers* - the corresponding value will be a dict in which each key is a " "handler id and each value is a dict describing how to configure the " "corresponding Handler instance." msgstr "" +"*обробники* – відповідним значенням буде dict, у якому кожен ключ є " +"ідентифікатором обробника, а кожне значення є dict, що описує, як " +"налаштувати відповідний екземпляр Handler." msgid "The configuring dict is searched for the following keys:" -msgstr "" +msgstr "У диктофоні налаштування виконується пошук таких ключів:" msgid "" "``class`` (mandatory). This is the fully qualified name of the handler " "class." -msgstr "" +msgstr "``клас`` (обов'язковий). Це повна назва класу обробника." msgid "``level`` (optional). The level of the handler." -msgstr "" +msgstr "``рівень`` (необов'язково). Рівень обробника." msgid "``formatter`` (optional). The id of the formatter for this handler." msgstr "" +"``форматувальник`` (необов'язковий). Ідентифікатор форматера для цього " +"обробника." msgid "``filters`` (optional). A list of ids of the filters for this handler." msgstr "" +"``фільтри`` (необов'язково). Список ідентифікаторів фільтрів для цього " +"обробника." msgid "``filters`` can take filter instances in addition to ids." -msgstr "" +msgstr "``filters`` can take filter instances in addition to ids." msgid "" "All *other* keys are passed through as keyword arguments to the handler's " "constructor. For example, given the snippet:" msgstr "" +"Усі *інші* ключі передаються як аргументи ключового слова до конструктора " +"обробника. Наприклад, враховуючи фрагмент:" msgid "" "handlers:\n" @@ -397,6 +565,19 @@ msgid "" " maxBytes: 1024\n" " backupCount: 3" msgstr "" +"handlers:\n" +" console:\n" +" class : logging.StreamHandler\n" +" formatter: brief\n" +" level : INFO\n" +" filters: [allow_foo]\n" +" stream : ext://sys.stdout\n" +" file:\n" +" class : logging.handlers.RotatingFileHandler\n" +" formatter: precise\n" +" filename: logconfig.log\n" +" maxBytes: 1024\n" +" backupCount: 3" msgid "" "the handler with id ``console`` is instantiated as a :class:`logging." @@ -405,36 +586,54 @@ msgid "" "RotatingFileHandler` with the keyword arguments ``filename='logconfig.log', " "maxBytes=1024, backupCount=3``." msgstr "" +"обробник з ідентифікатором ``console`` створюється як :class:`logging." +"StreamHandler`, використовуючи ``sys.stdout`` як базовий потік. Обробник з " +"ідентифікатором ``file`` створюється як :class:`logging.handlers." +"RotatingFileHandler` з ключовими аргументами ``filename='logconfig.log', " +"maxBytes=1024, backupCount=3``." msgid "" "*loggers* - the corresponding value will be a dict in which each key is a " "logger name and each value is a dict describing how to configure the " "corresponding Logger instance." msgstr "" +"*loggers* - відповідне значення буде dict, у якому кожен ключ є іменем " +"logger, а кожне значення є dict, що описує, як налаштувати відповідний " +"екземпляр Logger." msgid "``level`` (optional). The level of the logger." -msgstr "" +msgstr "``рівень`` (необов'язково). Рівень лісоруба." msgid "``propagate`` (optional). The propagation setting of the logger." msgstr "" +"``propagate`` (необов'язковий). Налаштування розповсюдження реєстратора." msgid "``filters`` (optional). A list of ids of the filters for this logger." msgstr "" +"``фільтри`` (необов'язково). Список ідентифікаторів фільтрів для цього " +"реєстратора." msgid "" "``handlers`` (optional). A list of ids of the handlers for this logger." msgstr "" +"``обробники`` (необов'язково). Список ідентифікаторів обробників для цього " +"реєстратора." msgid "" "The specified loggers will be configured according to the level, " "propagation, filters and handlers specified." msgstr "" +"Зазначені реєстратори буде налаштовано відповідно до вказаного рівня, " +"розповсюдження, фільтрів і обробників." msgid "" "*root* - this will be the configuration for the root logger. Processing of " "the configuration will be as for any logger, except that the ``propagate`` " "setting will not be applicable." msgstr "" +"*root* - це буде конфігурація для root logger. Обробка конфігурації " +"відбуватиметься так само, як і для будь-якого реєстратора, за винятком того, " +"що параметр ``propagate`` не застосовуватиметься." msgid "" "*incremental* - whether the configuration is to be interpreted as " @@ -443,11 +642,17 @@ msgid "" "existing configuration with the same semantics as used by the existing :func:" "`fileConfig` API." msgstr "" +"*incremental* – чи конфігурація має інтерпретуватися як додаткова до " +"існуючої конфігурації. За замовчуванням це значення має значення ``False``, " +"що означає, що вказана конфігурація замінює існуючу конфігурацію з тією " +"самою семантикою, яку використовує існуючий API :func:`fileConfig`." msgid "" "If the specified value is ``True``, the configuration is processed as " "described in the section on :ref:`logging-config-dict-incremental`." msgstr "" +"Якщо вказане значення ``True``, конфігурація обробляється, як описано в " +"розділі про :ref:`logging-config-dict-incremental`." msgid "" "*disable_existing_loggers* - whether any existing non-root loggers are to be " @@ -455,9 +660,14 @@ msgid "" "`fileConfig`. If absent, this parameter defaults to ``True``. This value is " "ignored if *incremental* is ``True``." msgstr "" +"*disable_existing_loggers* - чи потрібно вимкнути існуючі некореневі " +"реєстратори. Цей параметр відображає однойменний параметр у :func:" +"`fileConfig`. Якщо цей параметр відсутній, цей параметр за замовчуванням має " +"значення ``True``. Це значення ігнорується, якщо *incremental* має значення " +"``True``." msgid "Incremental Configuration" -msgstr "" +msgstr "Інкрементна конфігурація" msgid "" "It is difficult to provide complete flexibility for incremental " @@ -465,6 +675,10 @@ msgid "" "are anonymous, once a configuration is set up, it is not possible to refer " "to such anonymous objects when augmenting a configuration." msgstr "" +"Важко забезпечити повну гнучкість для поступової конфігурації. Наприклад, " +"оскільки такі об’єкти, як фільтри та засоби форматування, є анонімними, " +"після налаштування конфігурації неможливо посилатися на такі анонімні " +"об’єкти під час розширення конфігурації." msgid "" "Furthermore, there is not a compelling case for arbitrarily altering the " @@ -475,6 +689,13 @@ msgid "" "in a multi-threaded environment; while not impossible, the benefits are not " "worth the complexity it adds to the implementation." msgstr "" +"Крім того, немає переконливих аргументів для довільної зміни графа об’єктів " +"реєстраторів, обробників, фільтрів, форматувальників під час виконання, коли " +"конфігурацію встановлено; докладністю реєстраторів і обробників можна " +"керувати, просто встановлюючи рівні (і, у випадку реєстраторів, позначки " +"поширення). Довільна зміна графа об’єктів у безпечний спосіб проблематична в " +"багатопоточному середовищі; Хоча це не неможливо, переваги не варті " +"складності, яку це додає до впровадження." msgid "" "Thus, when the ``incremental`` key of a configuration dict is present and is " @@ -483,6 +704,11 @@ msgid "" "``handlers`` entries, and the ``level`` and ``propagate`` settings in the " "``loggers`` and ``root`` entries." msgstr "" +"Таким чином, коли ``incremental`` ключ конфігураційного dict присутній і " +"``True``, система повністю ігноруватиме будь-які ``formatters`` і " +"``filters`` записи, і оброблятиме лише параметри ``level`` в записах " +"``handlers``, а ``level`` і ``propagate`` параметри в ``loggers`` і ``root`` " +"записи." msgid "" "Using a value in the configuration dict lets configurations to be sent over " @@ -490,9 +716,13 @@ msgid "" "of a long-running application can be altered over time with no need to stop " "and restart the application." msgstr "" +"Використання значення в конфігураційному диктофоні дозволяє надсилати " +"конфігурації по дроту як маріновані диктофони до слухача сокета. Таким " +"чином, докладність журналу тривалої програми може бути змінена з часом без " +"необхідності зупиняти та перезапускати програму." msgid "Object connections" -msgstr "" +msgstr "Об'єктні зв'язки" msgid "" "The schema describes a set of logging objects - loggers, handlers, " @@ -508,9 +738,20 @@ msgid "" "object's configuration to indicate that a connection exists between the " "source and the destination object with that id." msgstr "" +"Схема описує набір об’єктів журналювання – реєстратори, обробники, засоби " +"форматування, фільтри – які з’єднані один з одним у графі об’єктів. Таким " +"чином, схема повинна представляти зв'язки між об'єктами. Наприклад, скажіть, " +"що після налаштування певний реєстратор приєднав до нього певний обробник. " +"Для цілей цього обговорення ми можемо сказати, що реєстратор представляє " +"джерело, а обробник — призначення з’єднання між ними. Звичайно, у " +"налаштованих об’єктах це представлено реєстратором, що містить посилання на " +"обробник. У dict конфігурації це робиться шляхом надання кожному об’єкту " +"призначення ідентифікатора, який однозначно ідентифікує його, а потім " +"використання ідентифікатора в конфігурації об’єкта джерела, щоб вказати, що " +"між джерелом і об’єктом призначення існує зв’язок із цим ідентифікатором." msgid "So, for example, consider the following YAML snippet:" -msgstr "" +msgstr "Отже, наприклад, розглянемо наступний фрагмент коду YAML:" msgid "" "formatters:\n" @@ -530,11 +771,29 @@ msgid "" " # other configuration for logger 'foo.bar.baz'\n" " handlers: [h1, h2]" msgstr "" +"formatters:\n" +" brief:\n" +" # configuration for formatter with id 'brief' goes here\n" +" precise:\n" +" # configuration for formatter with id 'precise' goes here\n" +"handlers:\n" +" h1: #This is an id\n" +" # configuration of handler with id 'h1' goes here\n" +" formatter: brief\n" +" h2: #This is another id\n" +" # configuration of handler with id 'h2' goes here\n" +" formatter: precise\n" +"loggers:\n" +" foo.bar.baz:\n" +" # other configuration for logger 'foo.bar.baz'\n" +" handlers: [h1, h2]" msgid "" "(Note: YAML used here because it's a little more readable than the " "equivalent Python source form for the dictionary.)" msgstr "" +"(Примітка: тут використовується YAML, оскільки він трохи легший для читання, " +"ніж еквівалентна вихідна форма Python для словника.)" msgid "" "The ids for loggers are the logger names which would be used " @@ -545,6 +804,13 @@ msgid "" "connections between objects, and are not persisted anywhere when the " "configuration call is complete." msgstr "" +"Ідентифікатори для реєстраторів — це імена реєстраторів, які " +"використовуватимуться програмно для отримання посилання на ці реєстратори, " +"наприклад. ``foo.bar.baz``. Ідентифікатори для Formatters і Filters можуть " +"бути будь-якими рядковими значеннями (наприклад, ``brief``, ``precise`` " +"вище), і вони тимчасові, оскільки вони мають значення лише для обробки " +"словника конфігурації та використовуються для визначення зв’язків між " +"об’єктами , і ніде не зберігаються після завершення виклику налаштування." msgid "" "The above snippet indicates that logger named ``foo.bar.baz`` should have " @@ -552,9 +818,14 @@ msgid "" "and ``h2``. The formatter for ``h1`` is that described by id ``brief``, and " "the formatter for ``h2`` is that described by id ``precise``." msgstr "" +"Наведений вище фрагмент вказує, що реєстратор під назвою ``foo.bar.baz`` " +"повинен мати два прикріплених до нього обробника, які описуються " +"ідентифікаторами обробника ``h1`` і ``h2``. Форматування для ``h1`` описано " +"ідентифікатором ``brief``, а засіб форматування для ``h2`` описано " +"ідентифікатором ``precise``." msgid "User-defined objects" -msgstr "" +msgstr "Визначені користувачем об'єкти" msgid "" "The schema supports user-defined objects for handlers, filters and " @@ -562,6 +833,10 @@ msgid "" "instances, so there is no support in this configuration schema for user-" "defined logger classes.)" msgstr "" +"Схема підтримує визначені користувачем об’єкти для обробників, фільтрів і " +"форматувальників. (Логерам не обов’язково мати різні типи для різних " +"екземплярів, тому в цій схемі конфігурації немає підтримки для визначених " +"користувачем класів журналів.)" msgid "" "Objects to be configured are described by dictionaries which detail their " @@ -574,6 +849,15 @@ msgid "" "object. This is signalled by an absolute import path to the factory being " "made available under the special key ``'()'``. Here's a concrete example:" msgstr "" +"Об'єкти, які потрібно конфігурувати, описуються словниками, які детально " +"описують їх конфігурацію. У деяких місцях система журналювання зможе зробити " +"висновок із контексту, як об’єкт має бути створений, але коли потрібно " +"створити екземпляр об’єкта, визначеного користувачем, система не знатиме, як " +"це зробити. Для того, щоб забезпечити повну гнучкість створення екземплярів " +"визначеного користувачем об’єкта, користувачеві необхідно надати \"фабрику\" " +"— виклик, який викликається зі словником конфігурації та повертає створений " +"об’єкт. Про це свідчить абсолютний шлях імпорту до фабрики, доступний за " +"допомогою спеціального ключа ``'()'``. Ось конкретний приклад:" msgid "" "formatters:\n" @@ -588,6 +872,17 @@ msgid "" " spam: 99.9\n" " answer: 42" msgstr "" +"formatters:\n" +" brief:\n" +" format: '%(message)s'\n" +" default:\n" +" format: '%(asctime)s %(levelname)-8s %(name)-15s %(message)s'\n" +" datefmt: '%Y-%m-%d %H:%M:%S'\n" +" custom:\n" +" (): my.package.customFormatterFactory\n" +" bar: baz\n" +" spam: 99.9\n" +" answer: 42" msgid "" "The above YAML snippet defines three formatters. The first, with id " @@ -598,6 +893,13 @@ msgid "" "in Python source form, the ``brief`` and ``default`` formatters have " "configuration sub-dictionaries::" msgstr "" +"Наведений вище фрагмент YAML визначає три засоби форматування. Перший, з " +"ідентифікатором ``brief``, є стандартним екземпляром :class:`logging." +"Formatter` із вказаним рядком формату. Другий, з ідентифікатором " +"``default``, має довший формат і також явно визначає формат часу, і призведе " +"до :class:`logging.Formatter`, ініціалізованого цими двома рядками формату. " +"Показано у вихідній формі Python, засоби форматування ``brief`` і " +"``default`` мають підсловники конфігурації::" msgid "" "{\n" @@ -609,7 +911,7 @@ msgstr "" "}" msgid "and::" -msgstr "" +msgstr "dan::" msgid "" "{\n" @@ -617,6 +919,10 @@ msgid "" " 'datefmt' : '%Y-%m-%d %H:%M:%S'\n" "}" msgstr "" +"{\n" +" 'format' : '%(asctime)s %(levelname)-8s %(name)-15s %(message)s',\n" +" 'datefmt' : '%Y-%m-%d %H:%M:%S'\n" +"}" msgid "" "respectively, and as these dictionaries do not contain the special key " @@ -625,6 +931,10 @@ msgid "" "configuration sub-dictionary for the third formatter, with id ``custom``, " "is::" msgstr "" +"відповідно, і оскільки ці словники не містять спеціального ключа ``'()'``, " +"примірник виводиться з контексту: у результаті створюються стандартні " +"екземпляри :class:`logging.Formatter`. Підсловник конфігурації для третього " +"засобу форматування з ідентифікатором ``custom``:" msgid "" "{\n" @@ -634,6 +944,12 @@ msgid "" " 'answer' : 42\n" "}" msgstr "" +"{\n" +" '()' : 'my.package.customFormatterFactory',\n" +" 'bar' : 'baz',\n" +" 'spam' : 99.9,\n" +" 'answer' : 42\n" +"}" msgid "" "and this contains the special key ``'()'``, which means that user-defined " @@ -645,9 +961,17 @@ msgid "" "arguments. In the above example, the formatter with id ``custom`` will be " "assumed to be returned by the call::" msgstr "" +"і це містить спеціальний ключ ``'()'``, що означає, що потрібне створення, " +"визначене користувачем. У цьому випадку буде використано вказаний фабричний " +"виклик. Якщо це фактичний виклик, він використовуватиметься безпосередньо - " +"інакше, якщо ви вкажете рядок (як у прикладі), фактичний виклик буде " +"знайдено за допомогою звичайних механізмів імпорту. Об’єкт виклику буде " +"викликано з **рештою** елементів у підсловнику конфігурації як ключових " +"аргументів. У наведеному вище прикладі буде припущено, що програма " +"форматування з ідентифікатором ``custom`` повертається викликом::" msgid "my.package.customFormatterFactory(bar='baz', spam=99.9, answer=42)" -msgstr "" +msgstr "my.package.customFormatterFactory(bar='baz', spam=99.9, answer=42)" msgid "" "The values for keys such as ``bar``, ``spam`` and ``answer`` in the above " @@ -655,6 +979,10 @@ msgid "" "``cfg://foo`` or ``ext://bar``, because they will not be processed by the " "configuration machinery, but passed to the callable as-is." msgstr "" +"Значения таких ключей, как ``bar``, ``spam`` и ``ответ`` в приведенном выше " +"примере не должны быть словарями конфигурации или ссылками, такими как " +"``cfg://foo`` или ``ext: //bar``, потому что они не будут обрабатываться " +"механизмом настройки, а будут переданы вызываемому объекту как есть." msgid "" "The key ``'()'`` has been used as the special key because it is not a valid " @@ -662,18 +990,26 @@ msgid "" "arguments used in the call. The ``'()'`` also serves as a mnemonic that the " "corresponding value is a callable." msgstr "" +"Ключ ``'()'`` використовувався як спеціальний ключ, оскільки він не є " +"дійсним ім'ям параметра ключового слова, і тому не буде конфліктувати з " +"назвами аргументів ключового слова, які використовуються у виклику. ``'()'`` " +"також служить мнемонічною ознакою того, що відповідне значення є викликом." msgid "" "The ``filters`` member of ``handlers`` and ``loggers`` can take filter " "instances in addition to ids." msgstr "" +"Член ``filters`` в ``handlers`` и ``loggers`` может принимать экземпляры " +"фильтров в дополнение к идентификаторам." 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 "" "{\n" @@ -687,11 +1023,23 @@ msgid "" " }\n" "}" msgstr "" +"{\n" +" '()' : 'my.package.customFormatterFactory',\n" +" 'bar' : 'baz',\n" +" 'spam' : 99.9,\n" +" 'answer' : 42,\n" +" '.' {\n" +" 'foo': 'bar',\n" +" 'baz': 'bozz'\n" +" }\n" +"}" msgid "" "the returned formatter will have attribute ``foo`` set to ``'bar'`` and " "attribute ``baz`` set to ``'bozz'``." msgstr "" +"возвращаемый форматтер будет иметь атрибут ``foo``, установленный в " +"``'bar'``, а атрибут ``baz`` установлен в ``'bozz'``." msgid "" "The values for attributes such as ``foo`` and ``baz`` in the above example " @@ -699,9 +1047,13 @@ msgid "" "or ``ext://bar``, because they will not be processed by the configuration " "machinery, but set as attribute values as-is." msgstr "" +"Значения таких атрибутов, как ``foo`` и ``baz`` в приведенном выше примере, " +"не должны быть словарями конфигурации или ссылками, такими как ``cfg://foo`` " +"или ``ext://bar``, поскольку они не будут обрабатываться механизмом " +"настройки, а будут установлены как значения атрибутов как есть." msgid "Handler configuration order" -msgstr "" +msgstr "Порядок настройки обработчика" msgid "" "Handlers are configured in alphabetical order of their keys, and a " @@ -712,7 +1064,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`` " @@ -722,9 +1074,21 @@ msgid "" "foo`` would resolve to configured handler ``foo``, and not its configuration " "dictionary." msgstr "" +"处理器按其键的字母顺序进行配置,而已配置的处理器将替换配置方案内部 " +"``handlers`` 字典(的一个工作副本)中的配置字典。 如果你使用 ``cfg://" +"handlers.foo`` 这样的构造,那么在初始状态下 ``handlers['foo']`` 会指向具名为 " +"``foo`` 的处理器的配置字典,随后(一旦配置了该处理器)它将指向已配置的处理器" +"实例。 因此,``cfg://handlers.foo`` 可以解析为一个字典或处理器实例。 通常来" +"说,对于带依赖的处理器采用在它们所依赖的任何处理器完成配置 *之后* 再进行配置" +"的方式来命名处理器是一种明智的做法;这将允许使用 ``cfg://handlers.foo`` 这样" +"的构造来配置依赖于处理器 ``foo`` 的处理器。 如果这个带依赖的处理器被具名为 " +"``bar``,则会导致问题,因为 ``bar`` 的配置将在 ``foo`` 的配置之前被尝试使用," +"而 ``foo`` 将尚未配置完成。 但是,如果带依赖的处理器被具名为 ``foobar``,则它" +"将在 ``foo`` 之后被配置,结果就是 ``cfg://handlers.foo`` 将被解析为已配置的处" +"理器 ``foo``,而不是其配置字典。" msgid "Access to external objects" -msgstr "" +msgstr "Доступ до зовнішніх об'єктів" msgid "" "There are times where a configuration needs to refer to objects external to " @@ -739,6 +1103,16 @@ msgid "" "will be stripped off and the remainder of the value processed using normal " "import mechanisms." msgstr "" +"Бувають випадки, коли конфігурація потребує посилання на об’єкти, зовнішні " +"щодо конфігурації, наприклад ``sys.stderr``. Якщо dict конфігурації створено " +"за допомогою коду Python, це просто, але проблема виникає, коли конфігурація " +"надається через текстовий файл (наприклад, JSON, YAML). У текстовому файлі " +"немає стандартного способу відрізнити ``sys.stderr`` від літерального рядка " +"``'sys.stderr'``. Щоб полегшити це розрізнення, система конфігурації шукає " +"певні спеціальні префікси в рядкових значеннях і обробляє їх спеціальним " +"чином. Наприклад, якщо літеральний рядок ``'ext://sys.stderr'`` надається як " +"значення в конфігурації, тоді ``ext://`` буде видалено, а залишок значення " +"оброблено за допомогою звичайних механізмів імпорту." msgid "" "The handling of such prefixes is done in a way analogous to protocol " @@ -748,9 +1122,15 @@ msgid "" "manner and the result of the processing replaces the string value. If the " "prefix is not recognised, then the string value will be left as-is." msgstr "" +"Обробка таких префіксів виконується аналогічно до обробки протоколів: існує " +"загальний механізм пошуку префіксів, які відповідають регулярному виразу " +"``^(?P [a-z]+)://(?P .* )$``, таким чином, якщо " +"``префікс`` розпізнається, ``суфікс`` обробляється залежно від префікса, і " +"результат обробки замінює значення рядка. Якщо префікс не розпізнається, " +"значення рядка залишиться без змін." msgid "Access to internal objects" -msgstr "" +msgstr "Доступ до внутрішніх об'єктів" msgid "" "As well as external objects, there is sometimes also a need to refer to " @@ -761,6 +1141,12 @@ msgid "" "``handlers``, ``filters`` and ``formatter`` entries will take an object id " "and resolve to the appropriate destination object." msgstr "" +"Окрім зовнішніх об’єктів, інколи виникає потреба звертатися до об’єктів у " +"конфігурації. Це буде зроблено неявно системою конфігурації для речей, про " +"які вона знає. Наприклад, рядкове значення ``'DEBUG`` для ``level`` у " +"реєстраторі або обробнику буде автоматично перетворено на значення ``logging." +"DEBUG``, а ``обробники``, ``Записи filters`` і ``formatter`` прийматимуть " +"ідентифікатор об’єкта та вирішуватимуть відповідний об’єкт призначення." msgid "" "However, a more generic mechanism is needed for user-defined objects which " @@ -774,6 +1160,16 @@ msgid "" "that the ``alternate`` referred to a handler. To cater for this, a generic " "resolution system allows the user to specify:" msgstr "" +"Однак для визначених користувачем об’єктів, які не відомі модулю :mod:" +"`logging`, потрібен більш загальний механізм. Наприклад, розглянемо :class:" +"`logging.handlers.MemoryHandler`, який приймає аргумент ``target``, який є " +"іншим обробником для делегування. Оскільки системі вже відомо про цей клас, " +"то в конфігурації даний ``target`` має бути просто ідентифікатором об’єкта " +"відповідного цільового обробника, і система вирішить обробник з " +"ідентифікатора. Проте, якщо користувач визначає ``my.package.MyHandler``, " +"який має ``альтернативний`` обробник, система конфігурації не знатиме, що " +"``альтернативний`` посилається на обробник. Для цього загальна система " +"роздільної здатності дозволяє користувачеві вказати:" msgid "" "handlers:\n" @@ -784,6 +1180,13 @@ msgid "" " (): my.package.MyHandler\n" " alternate: cfg://handlers.file" msgstr "" +"handlers:\n" +" file:\n" +" # configuration of file handler goes here\n" +"\n" +" custom:\n" +" (): my.package.MyHandler\n" +" alternate: cfg://handlers.file" msgid "" "The literal string ``'cfg://handlers.file'`` will be resolved in an " @@ -792,6 +1195,11 @@ msgid "" "access by dot or by index, in a similar way to that provided by ``str." "format``. Thus, given the following snippet:" msgstr "" +"Літеральний рядок ``'cfg://handlers.file`` буде розв’язано аналогічно до " +"рядків із префіксом ``ext://``, але в самій конфігурації, а не в просторі " +"імен імпорту. Механізм дозволяє доступ за крапкою або за індексом, подібно " +"до того, що надається ``str.format``. Таким чином, враховуючи наступний " +"фрагмент:" msgid "" "handlers:\n" @@ -804,6 +1212,15 @@ msgid "" " - dev_team@domain.tld\n" " subject: Houston, we have a problem." msgstr "" +"handlers:\n" +" email:\n" +" class: logging.handlers.SMTPHandler\n" +" mailhost: localhost\n" +" fromaddr: my_app@domain.tld\n" +" toaddrs:\n" +" - support_team@domain.tld\n" +" - dev_team@domain.tld\n" +" subject: Houston, we have a problem." msgid "" "in the configuration, the string ``'cfg://handlers'`` would resolve to the " @@ -820,6 +1237,20 @@ msgid "" "access will be attempted using the corresponding integer value, falling back " "to the string value if needed." msgstr "" +"в конфигурации строка ``'cfg://handlers'`` будет разрешаться в словарь с " +"ключом ``handlers``, строка ``'cfg://handlers.email`` будет разрешаться в " +"словарь с ключом ``handlers``. ключ ``email`` в ``handlers`` и так далее. " +"Строка ``'cfg://handlers.email.toaddrs[1]`` будет преобразована в " +"``'dev_team@domain.tld'``, а строка ``'cfg://handlers.email.toaddrs[0 ]'`` " +"будет преобразовано в значение ``'support_team@domain.tld'``. Доступ к " +"значению ``subject`` можно получить, используя ``'cfg://handlers.email." +"subject'`` или, что то же самое, ``'cfg://handlers.email[subject]'``. " +"Последнюю форму необходимо использовать только в том случае, если ключ " +"содержит пробелы или небуквенно-цифровые символы. Обратите внимание, что " +"символы ``[`` и ``]`` в ключах не допускаются. Если значение индекса состоит " +"только из десятичных цифр, будет предпринята попытка доступа с " +"использованием соответствующего целочисленного значения, при необходимости " +"возвращаясь к строковому значению." msgid "" "Given a string ``cfg://handlers.myhandler.mykey.123``, this will resolve to " @@ -829,9 +1260,15 @@ msgid "" "['mykey'][123]``, and fall back to ``config_dict['handlers']['myhandler']" "['mykey']['123']`` if that fails." msgstr "" +"Якщо вказати рядок ``cfg://handlers.myhandler.mykey.123``, це буде виведено " +"в ``config_dict['handlers']['myhandler']['mykey']['123']``. Якщо рядок " +"указано як ``cfg://handlers.myhandler.mykey[123]``, система спробує отримати " +"значення з ``config_dict['handlers']['myhandler']['mykey'] [123]`` і " +"повернутися до ``config_dict['handlers']['myhandler']['mykey']['123']``, " +"якщо це не вдасться." msgid "Import resolution and custom importers" -msgstr "" +msgstr "Роздільна здатність імпорту та спеціальні імпортери" msgid "" "Import resolution, by default, uses the builtin :func:`__import__` function " @@ -843,6 +1280,15 @@ msgid "" "do your imports, and you want to define it at class level rather than " "instance level, you need to wrap it with :func:`staticmethod`. For example::" msgstr "" +"Роздільна здатність імпорту за замовчуванням використовує вбудовану функцію :" +"func:`__import__` для здійснення імпорту. Ви можете замінити це власним " +"механізмом імпорту: якщо так, ви можете замінити атрибут :attr:`importer` :" +"class:`DictConfigurator` або його суперкласу, класу :class:" +"`BaseConfigurator`. Однак вам потрібно бути обережним через спосіб доступу " +"до функцій із класів через дескриптори. Якщо ви використовуєте виклик Python " +"для виконання імпорту, і ви хочете визначити його на рівні класу, а не на " +"рівні екземпляра, вам потрібно обернути його за допомогою :func:" +"`staticmethod`. Наприклад::" msgid "" "from importlib import import_module\n" @@ -850,14 +1296,20 @@ msgid "" "\n" "BaseConfigurator.importer = staticmethod(import_module)" msgstr "" +"from importlib import import_module\n" +"from logging.config import BaseConfigurator\n" +"\n" +"BaseConfigurator.importer = staticmethod(import_module)" msgid "" "You don't need to wrap with :func:`staticmethod` if you're setting the " "import callable on a configurator *instance*." msgstr "" +"Вам не потрібно використовувати :func:`staticmethod`, якщо ви встановлюєте " +"виклик імпорту в *примірнику* конфігуратора." msgid "Configuring QueueHandler and QueueListener" -msgstr "" +msgstr "Настройка QueueHandler и QueueListener" msgid "" "If you want to configure a :class:`~logging.handlers.QueueHandler`, noting " @@ -870,6 +1322,14 @@ msgid "" "configuration. The dictionary schema for configuring the pair is shown in " "the example YAML snippet below." msgstr "" +"Если вы хотите настроить :class:`~logging.handlers.QueueHandler`, учитывая, " +"что он обычно используется вместе с :class:`~logging.handlers." +"QueueListener`, вы можете настроить оба вместе. После настройки экземпляр " +"QueueListener будет доступен как атрибут :attr:`~logging.handlers." +"QueueHandler.listener` созданного обработчика, а он, в свою очередь, будет " +"доступен вам с помощью :func:`~ logging.getHandlerByName` и передав имя, " +"которое вы использовали для QueueHandler`` в вашей конфигурации. Схема " +"словаря для настройки пары показана в примере фрагмента YAML ниже." msgid "" "handlers:\n" @@ -882,14 +1342,25 @@ msgid "" " - hand_name_2\n" " ..." msgstr "" +"handlers:\n" +" qhand:\n" +" class: logging.handlers.QueueHandler\n" +" queue: my.module.queue_factory\n" +" listener: my.package.CustomListener\n" +" handlers:\n" +" - hand_name_1\n" +" - hand_name_2\n" +" ..." msgid "The ``queue`` and ``listener`` keys are optional." -msgstr "" +msgstr "Ключи ``queue`` и ``listener`` являются необязательными." msgid "" "If the ``queue`` key is present, the corresponding value can be one of the " "following:" msgstr "" +"Если присутствует ключ очереди, соответствующее значение может быть одним из " +"следующих:" msgid "" "An object implementing the :meth:`Queue.put_nowait ` " @@ -897,11 +1368,17 @@ msgid "" "be an actual instance of :class:`queue.Queue` or a subclass thereof, or a " "proxy obtained by :meth:`multiprocessing.managers.SyncManager.Queue`." msgstr "" +"Объект, реализующий общедоступный API :meth:`Queue.put_nowait ` и :meth:`Queue.get `. Например, это может быть " +"реальный экземпляр :class:`queue.Queue` или его подкласса, или прокси, " +"полученный :meth:`multiprocessing.managers.SyncManager.Queue`." msgid "" "This is of course only possible if you are constructing or modifying the " "configuration dictionary in code." msgstr "" +"Конечно, это возможно только в том случае, если вы создаете или изменяете " +"словарь конфигурации в коде." msgid "" "A string that resolves to a callable which, when called with no arguments, " @@ -909,33 +1386,50 @@ msgid "" "Queue` subclass or a function which returns a suitable queue instance, such " "as ``my.module.queue_factory()``." msgstr "" +"Строка, которая преобразуется в вызываемый объект, который при вызове без " +"аргументов возвращает экземпляр очереди для использования. Этот вызываемый " +"объект может быть подклассом :class:`queue.Queue` или функцией, которая " +"возвращает подходящий экземпляр очереди, например ``my.module." +"queue_factory()``." msgid "" "A dict with a ``'()'`` key which is constructed in the usual way as " "discussed in :ref:`logging-config-dict-userdef`. The result of this " "construction should be a :class:`queue.Queue` instance." msgstr "" +"Дикт с ключом ``'()'``, который создается обычным способом, как описано в :" +"ref:`logging-config-dict-userdef`. Результатом этой конструкции должен быть " +"экземпляр :class:`queue.Queue`." msgid "" "If the ``queue`` key is absent, a standard unbounded :class:`queue.Queue` " "instance is created and used." msgstr "" +"Если ключ ``queue`` отсутствует, создается и используется стандартный " +"неограниченный экземпляр :class:`queue.Queue`." msgid "" "If the ``listener`` key is present, the corresponding value can be one of " "the following:" msgstr "" +"Если присутствует ключ ``listener``, соответствующее значение может быть " +"одним из следующих:" msgid "" "A subclass of :class:`logging.handlers.QueueListener`. This is of course " "only possible if you are constructing or modifying the configuration " "dictionary in code." msgstr "" +"Подкласс :class:`logging.handlers.QueueListener`. Конечно, это возможно " +"только в том случае, если вы создаете или изменяете словарь конфигурации в " +"коде." msgid "" "A string which resolves to a class which is a subclass of ``QueueListener``, " "such as ``'my.package.CustomListener'``." msgstr "" +"Строка, которая разрешается в класс, который является подклассом " +"QueueListener, например my.package.CustomListener." msgid "" "A dict with a ``'()'`` key which is constructed in the usual way as " @@ -943,26 +1437,37 @@ msgid "" "construction should be a callable with the same signature as the " "``QueueListener`` initializer." msgstr "" +"Дикт с ключом ``'()'``, который создается обычным способом, как описано в :" +"ref:`logging-config-dict-userdef`. Результатом этой конструкции должен быть " +"вызываемый объект с той же сигнатурой, что и инициализатор QueueListener." msgid "" "If the ``listener`` key is absent, :class:`logging.handlers.QueueListener` " "is used." msgstr "" +"Если ключ ``listener`` отсутствует, используется :class:`logging.handlers." +"QueueListener`." msgid "" "The values under the ``handlers`` key are the names of other handlers in the " "configuration (not shown in the above snippet) which will be passed to the " "queue listener." msgstr "" +"Значения под ключом handlers — это имена других обработчиков в конфигурации " +"(не показаны в приведенном выше фрагменте), которые будут переданы " +"прослушивателю очереди." msgid "" "Any custom queue handler and listener classes will need to be defined with " "the same initialization signatures as :class:`~logging.handlers." "QueueHandler` and :class:`~logging.handlers.QueueListener`." msgstr "" +"Любые пользовательские классы обработчиков и прослушивателей очереди должны " +"быть определены с теми же сигнатурами инициализации, что и :class:`~logging." +"handlers.QueueHandler` и :class:`~logging.handlers.QueueListener`." msgid "Configuration file format" -msgstr "" +msgstr "Формат файлу конфігурації" msgid "" "The configuration file format understood by :func:`fileConfig` is based on :" @@ -979,6 +1484,18 @@ msgid "" "called ``[formatter_form01]``. The root logger configuration must be " "specified in a section called ``[logger_root]``." msgstr "" +"Формат файлу конфігурації, який розуміє :func:`fileConfig`, базується на " +"функціях :mod:`configparser`. Файл має містити розділи під назвою " +"``[реєстратори]``, ``[обробники]`` і ``[formatters]``, які ідентифікують за " +"назвою сутності кожного типу, визначені у файлі. Для кожної такої сутності " +"існує окремий розділ, який визначає, як цю сутність налаштовано. Таким " +"чином, для реєстратора з назвою ``log01`` у розділі ``[loggers]`` відповідні " +"деталі конфігурації зберігаються в розділі ``[logger_log01]``. Подібним " +"чином конфігурація обробника під назвою ``hand01`` у розділі ``[handlers]`` " +"зберігатиметься в розділі ``[handler_hand01]``, а програма форматування під " +"назвою ``form01`` у ``Конфігурація розділу [formatters]`` буде вказана в " +"розділі під назвою ``[formatter_form01]``. Конфігурацію кореневого " +"реєстратора необхідно вказати в розділі під назвою ``[logger_root]``." msgid "" "The :func:`fileConfig` API is older than the :func:`dictConfig` API and does " @@ -991,9 +1508,18 @@ msgid "" "func:`dictConfig`, so it's worth considering transitioning to this newer API " "when it's convenient to do so." msgstr "" +"API :func:`fileConfig` старіший за API :func:`dictConfig` і не надає " +"функціональних можливостей для охоплення певних аспектів журналювання. " +"Наприклад, ви не можете налаштувати об’єкти :class:`~logging.Filter`, які " +"забезпечують фільтрацію повідомлень за межами простих цілих рівнів, за " +"допомогою :func:`fileConfig`. Якщо вам потрібно мати екземпляри :class:" +"`~logging.Filter` у конфігурації журналювання, вам потрібно буде " +"використовувати :func:`dictConfig`. Зауважте, що майбутні вдосконалення " +"функціональності конфігурації буде додано до :func:`dictConfig`, тому варто " +"подумати про перехід на цей новий API, коли це буде зручно." msgid "Examples of these sections in the file are given below." -msgstr "" +msgstr "Приклади цих розділів у файлі наведені нижче." msgid "" "[loggers]\n" @@ -1005,17 +1531,30 @@ msgid "" "[formatters]\n" "keys=form01,form02,form03,form04,form05,form06,form07,form08,form09" msgstr "" +"[loggers]\n" +"keys=root,log02,log03,log04,log05,log06,log07\n" +"\n" +"[handlers]\n" +"keys=hand01,hand02,hand03,hand04,hand05,hand06,hand07,hand08,hand09\n" +"\n" +"[formatters]\n" +"keys=form01,form02,form03,form04,form05,form06,form07,form08,form09" msgid "" "The root logger must specify a level and a list of handlers. An example of a " "root logger section is given below." msgstr "" +"Кореневий реєстратор повинен вказати рівень і список обробників. Нижче " +"наведено приклад розділу кореневого реєстратора." msgid "" "[logger_root]\n" "level=NOTSET\n" "handlers=hand01" msgstr "" +"[logger_root]\n" +"level=NOTSET\n" +"handlers=hand01" msgid "" "The ``level`` entry can be one of ``DEBUG, INFO, WARNING, ERROR, CRITICAL`` " @@ -1023,6 +1562,10 @@ msgid "" "will be logged. Level values are :ref:`evaluated ` in the context " "of the ``logging`` package's namespace." msgstr "" +"Запись ``level`` может быть одной из ``DEBUG, INFO, WARNING, ERROR, " +"CRITICAL`` или ``NOTSET``. Только для корневого регистратора ``NOTSET`` " +"означает, что все сообщения будут регистрироваться. Значения уровня :ref:" +"`оцениваются ` в контексте пространства имен пакета ``logging``." msgid "" "The ``handlers`` entry is a comma-separated list of handler names, which " @@ -1030,11 +1573,16 @@ msgid "" "``[handlers]`` section and have corresponding sections in the configuration " "file." msgstr "" +"Запис ``обробники`` — це список імен обробників, розділених комами, які " +"повинні з’являтися в розділі ``[обробники]``. Ці назви мають відображатися в " +"розділі ``[обробники]`` і мати відповідні розділи у файлі конфігурації." msgid "" "For loggers other than the root logger, some additional information is " "required. This is illustrated by the following example." msgstr "" +"Для реєстраторів, відмінних від кореневого реєстратора, потрібна додаткова " +"інформація. Це ілюструється наступним прикладом." msgid "" "[logger_parser]\n" @@ -1043,6 +1591,11 @@ msgid "" "propagate=1\n" "qualname=compiler.parser" msgstr "" +"[logger_parser]\n" +"level=DEBUG\n" +"handlers=hand01\n" +"propagate=1\n" +"qualname=compiler.parser" msgid "" "The ``level`` and ``handlers`` entries are interpreted as for the root " @@ -1055,11 +1608,20 @@ msgid "" "hierarchical channel name of the logger, that is to say the name used by the " "application to get the logger." msgstr "" +"Записи ``level`` і ``handlers`` інтерпретуються як для кореневого " +"реєстратора, за винятком того, що якщо рівень некореневого реєстратора " +"вказано як ``NOTSET``, система консультується з реєстраторами вищого рівня в " +"ієрархії, щоб визначити ефективний рівень логера. Запис ``пропагувати`` має " +"значення 1, щоб вказати, що повідомлення повинні поширюватися до обробників, " +"які знаходяться вище в ієрархії реєстратора, або 0, щоб вказати, що " +"повідомлення **не** поширюються до обробників, які знаходяться вище в " +"ієрархії. Запис ``qualname`` — це ієрархічна назва каналу реєстратора, тобто " +"ім’я, яке використовується програмою для отримання реєстратора." msgid "" "Sections which specify handler configuration are exemplified by the " "following." -msgstr "" +msgstr "Розділи, які визначають конфігурацію обробника, представлені нижче." msgid "" "[handler_hand01]\n" @@ -1068,12 +1630,20 @@ msgid "" "formatter=form01\n" "args=(sys.stdout,)" msgstr "" +"[handler_hand01]\n" +"class=StreamHandler\n" +"level=NOTSET\n" +"formatter=form01\n" +"args=(sys.stdout,)" msgid "" "The ``class`` entry indicates the handler's class (as determined by :func:" "`eval` in the ``logging`` package's namespace). The ``level`` is interpreted " "as for loggers, and ``NOTSET`` is taken to mean 'log everything'." msgstr "" +"Запис ``class`` вказує на клас обробника (як визначено :func:`eval` у " +"просторі імен пакета ``logging``). ``level`` інтерпретується як для " +"реєстраторів, а ``NOTSET`` означає 'зареєструвати все'." msgid "" "The ``formatter`` entry indicates the key name of the formatter for this " @@ -1081,6 +1651,10 @@ msgid "" "used. If a name is specified, it must appear in the ``[formatters]`` section " "and have a corresponding section in the configuration file." msgstr "" +"Запис ``formatter`` вказує назву ключа форматера для цього обробника. Якщо " +"пусте, використовується форматування за замовчуванням (``logging." +"_defaultFormatter``). Якщо вказано ім’я, воно повинно відображатися в " +"розділі ``[formatters]`` і мати відповідний розділ у файлі конфігурації." msgid "" "The ``args`` entry, when :ref:`evaluated ` in the context of the " @@ -1089,6 +1663,11 @@ msgid "" "or to the examples below, to see how typical entries are constructed. If not " "provided, it defaults to ``()``." msgstr "" +"Запись ``args``, когда :ref:`оценивается ` в контексте " +"пространства имен пакета ``logging``, представляет собой список аргументов " +"конструктора для класса-обработчика. Обратитесь к конструкторам " +"соответствующих обработчиков или к примерам ниже, чтобы увидеть, как " +"создаются типичные записи. Если не указано, по умолчанию используется ``()``." msgid "" "The optional ``kwargs`` entry, when :ref:`evaluated ` in the " @@ -1096,6 +1675,11 @@ msgid "" "to the constructor for the handler class. If not provided, it defaults to " "``{}``." msgstr "" +"Запись ``args``, когда :ref:`оценивается ` в контексте " +"пространства имен пакета ``logging``, представляет собой список аргументов " +"конструктора для класса-обработчика. Обратитесь к конструкторам " +"соответствующих обработчиков или к примерам ниже, чтобы увидеть, как " +"создаются типичные записи. Если не указано, по умолчанию используется ``()``." msgid "" "[handler_hand02]\n" @@ -1151,10 +1735,63 @@ msgid "" "args=('localhost:9022', '/log', 'GET')\n" "kwargs={'secure': True}" msgstr "" +"[handler_hand02]\n" +"class=FileHandler\n" +"level=DEBUG\n" +"formatter=form02\n" +"args=('python.log', 'w')\n" +"\n" +"[handler_hand03]\n" +"class=handlers.SocketHandler\n" +"level=INFO\n" +"formatter=form03\n" +"args=('localhost', handlers.DEFAULT_TCP_LOGGING_PORT)\n" +"\n" +"[handler_hand04]\n" +"class=handlers.DatagramHandler\n" +"level=WARN\n" +"formatter=form04\n" +"args=('localhost', handlers.DEFAULT_UDP_LOGGING_PORT)\n" +"\n" +"[handler_hand05]\n" +"class=handlers.SysLogHandler\n" +"level=ERROR\n" +"formatter=form05\n" +"args=(('localhost', handlers.SYSLOG_UDP_PORT), handlers.SysLogHandler." +"LOG_USER)\n" +"\n" +"[handler_hand06]\n" +"class=handlers.NTEventLogHandler\n" +"level=CRITICAL\n" +"formatter=form06\n" +"args=('Python Application', '', 'Application')\n" +"\n" +"[handler_hand07]\n" +"class=handlers.SMTPHandler\n" +"level=WARN\n" +"formatter=form07\n" +"args=('localhost', 'from@abc', ['user1@abc', 'user2@xyz'], 'Logger " +"Subject')\n" +"kwargs={'timeout': 10.0}\n" +"\n" +"[handler_hand08]\n" +"class=handlers.MemoryHandler\n" +"level=NOTSET\n" +"formatter=form08\n" +"target=\n" +"args=(10, ERROR)\n" +"\n" +"[handler_hand09]\n" +"class=handlers.HTTPHandler\n" +"level=NOTSET\n" +"formatter=form09\n" +"args=('localhost:9022', '/log', 'GET')\n" +"kwargs={'secure': True}" msgid "" "Sections which specify formatter configuration are typified by the following." msgstr "" +"Розділи, які визначають конфігурацію форматера, представлені наступним чином." msgid "" "[formatter_form01]\n" @@ -1165,18 +1802,31 @@ msgid "" "defaults={'customfield': 'defaultvalue'}\n" "class=logging.Formatter" msgstr "" +"[formatter_form01]\n" +"format=F1 %(asctime)s %(levelname)s %(message)s %(customfield)s\n" +"datefmt=\n" +"style=%\n" +"validate=True\n" +"defaults={'customfield': 'defaultvalue'}\n" +"class=logging.Formatter" msgid "" "The arguments for the formatter configuration are the same as the keys in " "the dictionary schema :ref:`formatters section `." msgstr "" +"Аргументи конфігурації форматера такі ж, як і ключі в схемі словника :ref:" +"`розділ formatters `." msgid "" "The ``defaults`` entry, when :ref:`evaluated ` in the context of " "the ``logging`` package's namespace, is a dictionary of default values for " "custom formatting fields. If not provided, it defaults to ``None``." msgstr "" +"Запись ``defaults``, когда :ref:`оценивается ` в контексте " +"пространства имен пакета ``logging``, представляет собой словарь значений по " +"умолчанию для пользовательских полей форматирования. Если он не указан, по " +"умолчанию используется значение «Нет»." msgid "" "Due to the use of :func:`eval` as described above, there are potential " @@ -1185,15 +1835,20 @@ msgid "" "users with no mutual trust run code on the same machine; see the :func:" "`listen` documentation for more information." msgstr "" +"Через використання :func:`eval`, як описано вище, існують потенційні ризики " +"для безпеки, які є результатом використання :func:`listen` для надсилання та " +"отримання конфігурацій через сокети. Ризики обмежені тим, що кілька " +"користувачів, які не мають взаємної довіри, запускають код на одній машині; " +"дивіться документацію :func:`listen` для отримання додаткової інформації." msgid "Module :mod:`logging`" -msgstr "" +msgstr "Модуль :mod:`logging`" msgid "API reference for the logging module." -msgstr "" +msgstr "Довідник API для модуля журналювання." msgid "Module :mod:`logging.handlers`" -msgstr "" +msgstr "Модуль :mod:`logging.handlers`" msgid "Useful handlers included with the logging module." -msgstr "" +msgstr "Корисні обробники, включені в модуль журналювання." diff --git a/library/logging.handlers.po b/library/logging.handlers.po index 059d75fa24..dad6613438 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-06-27 14:55+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -25,23 +24,23 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!logging.handlers` --- Logging handlers" -msgstr "" +msgstr ":mod:`!logging.handlers` --- Обработчики журналирования" 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" -msgstr "" +msgstr "Ця сторінка містить лише довідкову інформацію. Навчальні посібники див" msgid ":ref:`Basic Tutorial `" -msgstr "" +msgstr ":ref:`Basic Tutorial `" msgid ":ref:`Advanced Tutorial `" -msgstr "" +msgstr ":ref:`Advanced Tutorial `" msgid ":ref:`Logging Cookbook `" -msgstr "" +msgstr ":ref:`Logging Cookbook `" msgid "" "The following useful handlers are provided in the package. Note that three " @@ -49,9 +48,13 @@ msgid "" "`NullHandler`) are actually defined in the :mod:`logging` module itself, but " "have been documented here along with the other handlers." msgstr "" +"Наступні корисні обробники надаються в пакеті. Зауважте, що три обробники (:" +"class:`StreamHandler`, :class:`FileHandler` і :class:`NullHandler`) " +"насправді визначені в самому модулі :mod:`logging`, але були задокументовані " +"тут разом із інші обробники." msgid "StreamHandler" -msgstr "" +msgstr "StreamHandler" msgid "" "The :class:`StreamHandler` class, located in the core :mod:`logging` " @@ -59,12 +62,19 @@ msgid "" "or any file-like object (or, more precisely, any object which supports :meth:" "`write` and :meth:`flush` methods)." msgstr "" +"Клас :class:`StreamHandler`, розташований у базовому пакеті :mod:`logging`, " +"надсилає вихідні дані журналу до таких потоків, як *sys.stdout*, *sys." +"stderr* або будь-якого файлоподібного об’єкта (або, точніше, , будь-який " +"об’єкт, який підтримує методи :meth:`write` і :meth:`flush`)." msgid "" "Returns a new instance of the :class:`StreamHandler` class. If *stream* is " "specified, the instance will use it for logging output; otherwise, *sys." "stderr* will be used." msgstr "" +"Повертає новий екземпляр класу :class:`StreamHandler`. Якщо вказано *потік*, " +"примірник використовуватиме його для журналювання виводу; інакше буде " +"використано *sys.stderr*." msgid "" "If a formatter is specified, it is used to format the record. The record is " @@ -72,51 +82,67 @@ msgid "" "information is present, it is formatted using :func:`traceback." "print_exception` and appended to the stream." msgstr "" +"Якщо вказано засіб форматування, він використовується для форматування " +"запису. Потім запис записується в потік, а потім :attr:`terminator`. Якщо " +"присутня інформація про винятки, вона форматується за допомогою :func:" +"`traceback.print_exception` і додається до потоку." msgid "" "Flushes the stream by calling its :meth:`flush` method. Note that the :meth:" "`close` method is inherited from :class:`~logging.Handler` and so does no " "output, so an explicit :meth:`flush` call may be needed at times." msgstr "" +"Очищає потік, викликаючи його метод :meth:`flush`. Зауважте, що метод :meth:" +"`close` успадковано від :class:`~logging.Handler` і тому не виводить, тому " +"іноді може знадобитися явний виклик :meth:`flush`." msgid "" "Sets the instance's stream to the specified value, if it is different. The " "old stream is flushed before the new stream is set." msgstr "" +"Встановлює для потоку екземпляра вказане значення, якщо воно відрізняється. " +"Старий потік очищається перед встановленням нового." msgid "Parameters" msgstr "parametry" msgid "The stream that the handler should use." -msgstr "" +msgstr "Потік, який повинен використовувати обробник." msgid "Returns" msgstr "Zwraca" msgid "the old stream, if the stream was changed, or ``None`` if it wasn't." -msgstr "" +msgstr "старый поток, если поток был изменен, или «Нет», если это не так." msgid "" "String used as the terminator when writing a formatted record to a stream. " "Default value is ``'\\n'``." msgstr "" +"Рядок, який використовується як термінатор під час запису форматованого " +"запису в потік. Значення за замовчуванням - ``'\\n'``." msgid "" "If you don't want a newline termination, you can set the handler instance's " "``terminator`` attribute to the empty string." msgstr "" +"Якщо ви не бажаєте закінчення нового рядка, ви можете встановити атрибут " +"``термінатор`` екземпляра обробника як порожній рядок." msgid "In earlier versions, the terminator was hardcoded as ``'\\n'``." -msgstr "" +msgstr "У попередніх версіях термінатор був жорстко закодований як ``'\\n'``." msgid "FileHandler" -msgstr "" +msgstr "FileHandler" msgid "" "The :class:`FileHandler` class, located in the core :mod:`logging` package, " "sends logging output to a disk file. It inherits the output functionality " "from :class:`StreamHandler`." msgstr "" +"Клас :class:`FileHandler`, розташований у базовому пакеті :mod:`logging`, " +"надсилає вихідні дані журналу у файл диска. Він успадковує функцію виведення " +"від :class:`StreamHandler`." msgid "" "Returns a new instance of the :class:`FileHandler` class. The specified file " @@ -127,53 +153,71 @@ msgid "" "*errors* is specified, it's used to determine how encoding errors are " "handled." msgstr "" +"Возвращает новый экземпляр класса :class:`FileHandler`. Указанный файл " +"открывается и используется в качестве потока для протоколирования. Если " +"*mode* не указан, используется ``'a'``. Если *кодировка* не равна «Нет», она " +"используется для открытия файла с этой кодировкой. Если *delay* имеет " +"значение true, то открытие файла откладывается до первого вызова :meth:" +"`emit`. По умолчанию файл растет бесконечно. Если указано *errors*, оно " +"используется для определения способа обработки ошибок кодирования." msgid "" "As well as string values, :class:`~pathlib.Path` objects are also accepted " "for the *filename* argument." msgstr "" +"Окрім рядкових значень, об’єкти :class:`~pathlib.Path` також приймаються для " +"аргументу *filename*." msgid "The *errors* parameter was added." -msgstr "" +msgstr "Додано параметр *errors*." msgid "Closes the file." -msgstr "" +msgstr "Menutup berkas." msgid "Outputs the record to the file." -msgstr "" +msgstr "Виводить запис у файл." msgid "" "Note that if the file was closed due to logging shutdown at exit and the " "file mode is 'w', the record will not be emitted (see :issue:`42378`)." msgstr "" +"Зауважте, що якщо файл було закрито через завершення журналювання під час " +"виходу та режим файлу \"w\", запис не буде видано (див. :issue:`42378`)." msgid "NullHandler" -msgstr "" +msgstr "NullHandler" msgid "" "The :class:`NullHandler` class, located in the core :mod:`logging` package, " "does not do any formatting or output. It is essentially a 'no-op' handler " "for use by library developers." msgstr "" +"Клас :class:`NullHandler`, розташований у базовому пакеті :mod:`logging`, не " +"виконує жодного форматування чи виведення. По суті, це обробник \"no-op\" " +"для використання розробниками бібліотек." msgid "Returns a new instance of the :class:`NullHandler` class." -msgstr "" +msgstr "Повертає новий екземпляр класу :class:`NullHandler`." msgid "This method does nothing." -msgstr "" +msgstr "Metode ini tidak melakukan apa pun." msgid "" "This method returns ``None`` for the lock, since there is no underlying I/O " "to which access needs to be serialized." msgstr "" +"Цей метод повертає ``None`` для блокування, оскільки немає основного вводу-" +"виводу, доступ до якого потрібно серіалізувати." msgid "" "See :ref:`library-config` for more information on how to use :class:" "`NullHandler`." msgstr "" +"Перегляньте :ref:`library-config`, щоб дізнатися більше про використання :" +"class:`NullHandler`." msgid "WatchedFileHandler" -msgstr "" +msgstr "WatchedFileHandler" msgid "" "The :class:`WatchedFileHandler` class, located in the :mod:`logging." @@ -181,6 +225,10 @@ msgid "" "logging to. If the file changes, it is closed and reopened using the file " "name." msgstr "" +"Клас :class:`WatchedFileHandler`, розташований у модулі :mod:`logging." +"handlers`, є :class:`FileHandler`, який стежить за файлом, до якого він " +"реєструється. Якщо файл змінюється, він закривається та знову відкривається " +"з використанням імені файлу." msgid "" "A file change can happen because of usage of programs such as *newsyslog* " @@ -190,6 +238,12 @@ msgid "" "changed.) If the file has changed, the old file stream is closed, and the " "file opened to get a new stream." msgstr "" +"Зміна файлу може статися через використання таких програм, як *newsyslog* і " +"*logrotate*, які виконують ротацію файлів журналу. Цей обробник, призначений " +"для використання в Unix/Linux, спостерігає за файлом, щоб побачити, чи він " +"змінився з часу останнього випуску. (Файл вважається зміненим, якщо його " +"пристрій або inode змінилися.) Якщо файл змінився, старий файловий потік " +"закривається, а файл відкривається, щоб отримати новий потік." msgid "" "This handler is not appropriate for use under Windows, because under Windows " @@ -198,6 +252,11 @@ msgid "" "*ST_INO* is not supported under Windows; :func:`~os.stat` always returns " "zero for this value." msgstr "" +"Цей обробник не підходить для використання під Windows, оскільки під Windows " +"відкриті файли журналу не можна переміщувати або перейменовувати - " +"журналювання відкриває файли з ексклюзивними блокуваннями - і тому немає " +"потреби в такому обробнику. Крім того, *ST_INO* не підтримується в Windows; :" +"func:`~os.stat` завжди повертає нуль для цього значення." msgid "" "Returns a new instance of the :class:`WatchedFileHandler` class. The " @@ -208,20 +267,32 @@ msgid "" "grows indefinitely. If *errors* is provided, it determines how encoding " "errors are handled." msgstr "" +"Возвращает новый экземпляр класса :class:`WatchedFileHandler`. Указанный " +"файл открывается и используется в качестве потока для протоколирования. Если " +"*mode* не указан, используется ``'a'``. Если *кодировка* не равна «Нет», она " +"используется для открытия файла с этой кодировкой. Если *delay* имеет " +"значение true, то открытие файла откладывается до первого вызова :meth:" +"`emit`. По умолчанию файл растет бесконечно. Если указано *errors*, оно " +"определяет, как обрабатываются ошибки кодирования." msgid "" "Checks to see if the file has changed. If it has, the existing stream is " "flushed and closed and the file opened again, typically as a precursor to " "outputting the record to the file." msgstr "" +"Перевіряє, чи не змінився файл. Якщо так, наявний потік очищається та " +"закривається, а файл відкривається знову, як правило, перед виведенням " +"запису у файл." msgid "" "Outputs the record to the file, but first calls :meth:`reopenIfNeeded` to " "reopen the file if it has changed." msgstr "" +"Виводить запис у файл, але спочатку викликає :meth:`reopenIfNeeded`, щоб " +"повторно відкрити файл, якщо він змінився." msgid "BaseRotatingHandler" -msgstr "" +msgstr "BaseRotatingHandler" msgid "" "The :class:`BaseRotatingHandler` class, located in the :mod:`logging." @@ -230,15 +301,23 @@ msgid "" "need to instantiate this class, but it has attributes and methods you may " "need to override." msgstr "" +"Клас :class:`BaseRotatingHandler`, розташований у модулі :mod:`logging." +"handlers`, є базовим класом для обертових обробників файлів, :class:" +"`RotatingFileHandler` і :class:`TimedRotatingFileHandler`. Вам не потрібно " +"створювати екземпляр цього класу, але він має атрибути та методи, які вам, " +"можливо, доведеться змінити." msgid "The parameters are as for :class:`FileHandler`. The attributes are:" -msgstr "" +msgstr "Параметри такі ж, як і для :class:`FileHandler`. Атрибути:" msgid "" "If this attribute is set to a callable, the :meth:`rotation_filename` method " "delegates to this callable. The parameters passed to the callable are those " "passed to :meth:`rotation_filename`." msgstr "" +"Якщо для цього атрибута встановлено значення callable, метод :meth:" +"`rotation_filename` делегує цей виклик. Параметри, що передаються " +"викликаному, є тими, що передаються до :meth:`rotation_filename`." msgid "" "The namer function is called quite a few times during rollover, so it should " @@ -246,6 +325,10 @@ msgid "" "every time for a given input, otherwise the rollover behaviour may not work " "as expected." msgstr "" +"Функція namer викликається досить багато разів під час переміщення, тому " +"вона має бути максимально простою та швидкою. Він також повинен повертати " +"той самий вихід кожного разу для даного введення, інакше поведінка " +"перекидання може працювати не так, як очікувалося." msgid "" "It's also worth noting that care should be taken when using a namer to " @@ -262,30 +345,48 @@ msgid "" "`~TimedRotatingFileHandler.getFilesToDelete` method to fit in with the " "custom naming scheme.)" msgstr "" +"Варто також зазначити, що під час використання іменника слід бути обережним, " +"щоб зберегти певні атрибути в імені файлу, які використовуються під час " +"ротації. Наприклад, :class:`RotatingFileHandler` очікує мати набір файлів " +"журналу, імена яких містять послідовні цілі числа, щоб ротація працювала " +"належним чином, а :class:`TimedRotatingFileHandler` видаляє старі файли " +"журналу (на основі ``backupCount`` параметр, переданий ініціалізатору " +"обробника), визначаючи найстаріші файли для видалення. Щоб це сталося, назви " +"файлів мають бути сортованими за датою/часом у назві файлу, і іменувальник " +"має поважати це. (Якщо потрібен іменник, який не відповідає цій схемі, його " +"потрібно буде використовувати в підкласі :class:`TimedRotatingFileHandler`, " +"який замінює метод :meth:`~TimedRotatingFileHandler.getFilesToDelete`, щоб " +"відповідати спеціальному іменуванню схема.)" msgid "" "If this attribute is set to a callable, the :meth:`rotate` method delegates " "to this callable. The parameters passed to the callable are those passed " "to :meth:`rotate`." msgstr "" +"Якщо цей атрибут встановлено на callable, метод :meth:`rotate` делегує цей " +"callable. Параметри, що передаються викликаному, є тими, що передаються в :" +"meth:`rotate`." msgid "Modify the filename of a log file when rotating." -msgstr "" +msgstr "Змінити назву файлу журналу під час ротації." msgid "This is provided so that a custom filename can be provided." -msgstr "" +msgstr "Це надається для того, щоб можна було надати власне ім’я файлу." msgid "" "The default implementation calls the 'namer' attribute of the handler, if " "it's callable, passing the default name to it. If the attribute isn't " "callable (the default is ``None``), the name is returned unchanged." msgstr "" +"Реалізація за замовчуванням викликає атрибут 'namer' обробника, якщо його " +"можна викликати, передаючи йому ім'я за замовчуванням. Якщо атрибут не можна " +"викликати (за замовчуванням ``None``), ім'я повертається без змін." msgid "The default name for the log file." -msgstr "" +msgstr "Назва за замовчуванням для файлу журналу." msgid "When rotating, rotate the current log." -msgstr "" +msgstr "Під час обертання обертати поточний журнал." msgid "" "The default implementation calls the 'rotator' attribute of the handler, if " @@ -293,15 +394,22 @@ msgid "" "isn't callable (the default is ``None``), the source is simply renamed to " "the destination." msgstr "" +"Реалізація за замовчуванням викликає атрибут 'rotator' обробника, якщо його " +"можна викликати, передаючи йому аргументи джерела та призначення. Якщо " +"атрибут не можна викликати (за замовчуванням ``None``), джерело просто " +"перейменовується на призначення." msgid "" "The source filename. This is normally the base filename, e.g. 'test.log'." msgstr "" +"Ім'я вихідного файлу. Зазвичай це базова назва файлу, напр. 'test.log'." msgid "" "The destination filename. This is normally what the source is rotated to, e." "g. 'test.log.1'." msgstr "" +"Ім'я цільового файлу. Зазвичай це те, до чого обертається джерело, напр. " +"'test.log.1'." msgid "" "The reason the attributes exist is to save you having to subclass - you can " @@ -311,22 +419,32 @@ msgid "" "exception during an :meth:`emit` call, i.e. via the :meth:`handleError` " "method of the handler." msgstr "" +"Причина, чому ці атрибути існують, полягає в тому, щоб позбавити вас " +"необхідності створювати підкласи – ви можете використовувати ті самі виклики " +"для екземплярів :class:`RotatingFileHandler` і :class:" +"`TimedRotatingFileHandler`. Якщо виклик іменника або ротатора викликає " +"виняток, це буде оброблено так само, як і будь-який інший виняток під час " +"виклику :meth:`emit`, тобто через метод :meth:`handleError` обробника." msgid "" "If you need to make more significant changes to rotation processing, you can " "override the methods." msgstr "" +"Якщо вам потрібно внести більш значні зміни в обробку обертання, ви можете " +"змінити методи." msgid "For an example, see :ref:`cookbook-rotator-namer`." -msgstr "" +msgstr "Для прикладу перегляньте :ref:`cookbook-rotator-namer`." msgid "RotatingFileHandler" -msgstr "" +msgstr "RotatingFileHandler" msgid "" "The :class:`RotatingFileHandler` class, located in the :mod:`logging." "handlers` module, supports rotation of disk log files." msgstr "" +"Клас :class:`RotatingFileHandler`, розташований у модулі :mod:`logging." +"handlers`, підтримує ротацію файлів журналу диска." msgid "" "Returns a new instance of the :class:`RotatingFileHandler` class. The " @@ -337,6 +455,13 @@ msgid "" "grows indefinitely. If *errors* is provided, it determines how encoding " "errors are handled." msgstr "" +"Повертає новий екземпляр класу :class:`RotatingFileHandler`. Зазначений файл " +"відкривається та використовується як потік для реєстрації. Якщо *mode* не " +"вказано, використовується ``'a'``. Якщо *кодування* не ``None``, воно " +"використовується для відкриття файлу з таким кодуванням. Якщо *delay* має " +"значення true, то відкриття файлу відкладено до першого виклику :meth:" +"`emit`. За замовчуванням файл збільшується необмежено довго. Якщо вказано " +"*errors*, це визначає спосіб обробки помилок кодування." msgid "" "You can use the *maxBytes* and *backupCount* values to allow the file to :" @@ -354,23 +479,46 @@ msgid "" "log.1`, and if files :file:`app.log.1`, :file:`app.log.2`, etc. exist, then " "they are renamed to :file:`app.log.2`, :file:`app.log.3` etc. respectively." msgstr "" +"Ви можете використовувати значення *maxBytes* і *backupCount*, щоб дозволити " +"файлу :dfn:`rollover` попередньо визначеного розміру. Коли розмір майже буде " +"перевищено, файл закривається, а новий файл мовчки відкривається для " +"виведення. Перехід відбувається щоразу, коли довжина поточного файлу журналу " +"становить майже *maxBytes*; але якщо будь-яке з *maxBytes* або *backupCount* " +"дорівнює нулю, перехід ніколи не відбувається, тому зазвичай потрібно " +"встановити *backupCount* принаймні на 1 і мати ненульовий *maxBytes*. Якщо " +"*backupCount* не дорівнює нулю, система збереже старі файли журналу, додавши " +"до назви файлу розширення \".1\", \".2\" тощо. Наприклад, з *backupCount* 5 " +"і базовою назвою файлу :file:`app.log`, ви отримаєте :file:`app.log`, :file:" +"`app.log.1`, :file:`app.log.2`, до :file:`app.log.5`. Файл, у який " +"записується, завжди :file:`app.log`. Коли цей файл заповнюється, він " +"закривається та перейменовується на :file:`app.log.1`, а якщо файли :file:" +"`app.log.1`, :file:`app.log.2` тощо. існують, тоді вони перейменовуються " +"відповідно на :file:`app.log.2`, :file:`app.log.3` тощо." msgid "Does a rollover, as described above." -msgstr "" +msgstr "Робить перекидання, як описано вище." msgid "" "Outputs the record to the file, catering for rollover as described " "previously." -msgstr "" +msgstr "Виводить запис у файл, обслуговуючи ролловер, як описано раніше." + +msgid "" +"See if the supplied record would cause the file to exceed the configured " +"size limit." +msgstr "确定所提供的记录是否会导致文件超出已配置的大小限制。" msgid "TimedRotatingFileHandler" -msgstr "" +msgstr "TimedRotatingFileHandler" msgid "" "The :class:`TimedRotatingFileHandler` class, located in the :mod:`logging." "handlers` module, supports rotation of disk log files at certain timed " "intervals." msgstr "" +"Клас :class:`TimedRotatingFileHandler`, розташований у модулі :mod:`logging." +"handlers`, підтримує ротацію файлів журналу диска через певні часові " +"інтервали." msgid "" "Returns a new instance of the :class:`TimedRotatingFileHandler` class. The " @@ -378,68 +526,77 @@ msgid "" "also sets the filename suffix. Rotating happens based on the product of " "*when* and *interval*." msgstr "" +"Повертає новий екземпляр класу :class:`TimedRotatingFileHandler`. Зазначений " +"файл відкривається та використовується як потік для реєстрації. При " +"обертанні він також встановлює суфікс імені файлу. Обертання відбувається на " +"основі добутку *when* та *інтервалу*." msgid "" "You can use the *when* to specify the type of *interval*. The list of " "possible values is below. Note that they are not case sensitive." msgstr "" +"Ви можете використовувати *when*, щоб вказати тип *інтервалу*. Нижче " +"наведено список можливих значень. Зауважте, що вони не чутливі до регістру." msgid "Value" msgstr "Wartość" msgid "Type of interval" -msgstr "" +msgstr "Тип інтервалу" msgid "If/how *atTime* is used" -msgstr "" +msgstr "Якщо/як використовується *atTime*" msgid "``'S'``" msgstr "``'S'``" msgid "Seconds" -msgstr "" +msgstr "Detik" msgid "Ignored" -msgstr "" +msgstr "Ігнорується" msgid "``'M'``" msgstr "``'M'``" msgid "Minutes" -msgstr "" +msgstr "Menit" msgid "``'H'``" msgstr "``'H'``" msgid "Hours" -msgstr "" +msgstr "Jam" msgid "``'D'``" msgstr "``'D'``" msgid "Days" -msgstr "" +msgstr "Hari" msgid "``'W0'-'W6'``" msgstr "``'W0'-'W6'``" msgid "Weekday (0=Monday)" -msgstr "" +msgstr "День тижня (0=понеділок)" msgid "Used to compute initial rollover time" -msgstr "" +msgstr "Використовується для обчислення початкового часу перекидання" msgid "``'midnight'``" -msgstr "" +msgstr "``'midnight'``" msgid "Roll over at midnight, if *atTime* not specified, else at time *atTime*" -msgstr "" +msgstr "Перехід опівночі, якщо *atTime* не вказано, інакше в час *atTime*" msgid "" "When using weekday-based rotation, specify 'W0' for Monday, 'W1' for " "Tuesday, and so on up to 'W6' for Sunday. In this case, the value passed for " "*interval* isn't used." msgstr "" +"У разі використання ротації на основі днів тижня вкажіть \"W0\" для " +"понеділка, \"W1\" для вівторка і так далі до \"W6\" для неділі. У цьому " +"випадку значення, передане для *інтервалу*, не використовується." msgid "" "The system will save old log files by appending extensions to the filename. " @@ -447,17 +604,25 @@ msgid "" "%d_%H-%M-%S`` or a leading portion thereof, depending on the rollover " "interval." msgstr "" +"Система збереже старі файли журналу, додавши розширення до імені файлу. " +"Розширення базуються на даті й часі з використанням формату strftime ``%Y-%m-" +"%d_%H-%M-%S`` або його початкової частини, залежно від інтервалу переходу." msgid "" "When computing the next rollover time for the first time (when the handler " "is created), the last modification time of an existing log file, or else the " "current time, is used to compute when the next rotation will occur." msgstr "" +"Під час першого обчислення часу наступного переходу (під час створення " +"обробника) для обчислення часу наступного повороту використовується час " +"останньої зміни наявного файлу журналу або поточний час." msgid "" "If the *utc* argument is true, times in UTC will be used; otherwise local " "time is used." msgstr "" +"Якщо аргумент *utc* має значення true, буде використано час у UTC; інакше " +"використовується місцевий час." msgid "" "If *backupCount* is nonzero, at most *backupCount* files will be kept, and " @@ -465,11 +630,18 @@ msgid "" "The deletion logic uses the interval to determine which files to delete, so " "changing the interval may leave old files lying around." msgstr "" +"Якщо *backupCount* не дорівнює нулю, буде збережено щонайбільше " +"*backupCount* файлів, а якщо буде створено більше під час перенесення " +"файлів, видаляється найстаріший. Логіка видалення використовує інтервал, щоб " +"визначити, які файли видаляти, тому зміна інтервалу може залишити старі " +"файли без місця." msgid "" "If *delay* is true, then file opening is deferred until the first call to :" "meth:`emit`." msgstr "" +"Якщо *delay* має значення true, то відкриття файлу відкладено до першого " +"виклику :meth:`emit`." msgid "" "If *atTime* is not ``None``, it must be a ``datetime.time`` instance which " @@ -479,11 +651,19 @@ msgid "" "*initial* rollover, and subsequent rollovers would be calculated via the " "normal interval calculation." msgstr "" +"Якщо *atTime* не є ``None``, це має бути екземпляр ``datetime.time``, який " +"визначає час доби, коли відбувається перекидання, для випадків, коли " +"перекидання встановлено на \"опівночі\" або \"на певний день тижня\". " +"Зауважте, що в цих випадках значення *atTime* ефективно використовується для " +"обчислення *початкового* ролловера, а наступні ролловери обчислюватимуться " +"за допомогою звичайного обчислення інтервалу." msgid "" "If *errors* is specified, it's used to determine how encoding errors are " "handled." msgstr "" +"Якщо вказано *errors*, воно використовується для визначення способу обробки " +"помилок кодування." msgid "" "Calculation of the initial rollover time is done when the handler is " @@ -498,42 +678,66 @@ msgid "" "five minutes (say), then there will be gaps in the file times corresponding " "to the minutes where no output (and hence no rollover) occurred." msgstr "" +"Розрахунок початкового часу перекидання виконується під час ініціалізації " +"обробника. Розрахунок наступного часу ролловеру виконується лише тоді, коли " +"відбувається ролловер, а ролловер відбувається лише під час випромінювання " +"вихідних даних. Якщо цього не враховувати, це може призвести до певної " +"плутанини. Наприклад, якщо встановлено інтервал \"кожної хвилини\", це не " +"означає, що ви завжди бачитимете файли журналів із часом (у назві файлу), " +"розділеними хвилиною; якщо під час виконання програми вихідні дані журналу " +"генеруються частіше, ніж один раз на хвилину, *тоді* ви можете очікувати, що " +"побачите файли журналу з часом, розділеним хвилиною. З іншого боку, якщо " +"повідомлення журналу виводяться лише один раз кожні п’ять хвилин (скажімо), " +"тоді будуть проміжки у часі файлу, що відповідає хвилинам, коли не було " +"виведено (і, отже, не відбулося перекидання)." msgid "*atTime* parameter was added." -msgstr "" +msgstr "Додано параметр *atTime*." msgid "" "Outputs the record to the file, catering for rollover as described above." -msgstr "" +msgstr "Виводить запис у файл, обслуговуючи ролловер, як описано вище." msgid "" "Returns a list of filenames which should be deleted as part of rollover. " -"These are the absolute paths of the oldest backup log files written by the " -"handler." +"These" +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 "" +msgstr "SocketHandler" msgid "" "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 "" +"Клас :class:`SocketHandler`, розташований у модулі :mod:`logging.handlers`, " +"надсилає вихідні дані журналу в мережевий сокет. Базовий клас використовує " +"сокет TCP." msgid "" "Returns a new instance of the :class:`SocketHandler` class intended to " "communicate with a remote machine whose address is given by *host* and " "*port*." msgstr "" +"Повертає новий екземпляр класу :class:`SocketHandler`, призначений для " +"зв’язку з віддаленою машиною, адресу якої вказують *host* і *port*." msgid "" "If ``port`` is specified as ``None``, a Unix domain socket is created using " "the value in ``host`` - otherwise, a TCP socket is created." msgstr "" +"Якщо ``port`` вказано як ``None``, сокет домену Unix створюється за " +"допомогою значення в ``host`` - інакше створюється сокет TCP." msgid "Closes the socket." -msgstr "" +msgstr "Закриває розетку." msgid "" "Pickles the record's attribute dictionary and writes it to the socket in " @@ -542,30 +746,46 @@ msgid "" "connection. To unpickle the record at the receiving end into a :class:" "`~logging.LogRecord`, use the :func:`~logging.makeLogRecord` function." msgstr "" +"Вибирає словник атрибутів запису та записує його в сокет у двійковому " +"форматі. Якщо є помилка з сокетом, мовчки скидає пакет. Якщо з’єднання було " +"втрачено, відновлює з’єднання. Щоб видалити запис на приймальному кінці в :" +"class:`~logging.LogRecord`, скористайтеся :func:`~logging.makeLogRecord` " +"функцією." msgid "" "Handles an error which has occurred during :meth:`emit`. The most likely " "cause is a lost connection. Closes the socket so that we can retry on the " "next event." msgstr "" +"Обробляє помилку, яка сталася під час :meth:`emit`. Найімовірніша причина – " +"втрата зв’язку. Закриває сокет, щоб ми могли повторити наступну подію." msgid "" "This is a factory method which allows subclasses to define the precise type " "of socket they want. The default implementation creates a TCP socket (:const:" "`socket.SOCK_STREAM`)." msgstr "" +"Це фабричний метод, який дозволяє підкласам визначати точний тип сокета, " +"який вони хочуть. Стандартна реалізація створює сокет TCP (:const:`socket." +"SOCK_STREAM`)." msgid "" "Pickles the record's attribute dictionary in binary format with a length " "prefix, and returns it ready for transmission across the socket. The details " "of this operation are equivalent to::" msgstr "" +"Вибирає словник атрибутів запису в двійковому форматі з префіксом довжини та " +"повертає його готовим для передачі через сокет. Подробиці цієї операції " +"еквівалентні:" msgid "" "data = pickle.dumps(record_attr_dict, 1)\n" "datalen = struct.pack('>L', len(data))\n" "return datalen + data" msgstr "" +"data = pickle.dumps(record_attr_dict, 1)\n" +"datalen = struct.pack('>L', len(data))\n" +"return datalen + data" msgid "" "Note that pickles aren't completely secure. If you are concerned about " @@ -574,17 +794,26 @@ msgid "" "on the receiving end, or alternatively you can disable unpickling of global " "objects on the receiving end." msgstr "" +"Зауважте, що мариновані огірки не є повністю безпечними. Якщо вас турбує " +"безпека, ви можете замінити цей метод, щоб застосувати більш безпечний " +"механізм. Наприклад, ви можете підписати соління за допомогою HMAC, а потім " +"перевірити їх на приймальній стороні, або, як альтернатива, ви можете " +"вимкнути розбирання глобальних об’єктів на приймальній стороні." msgid "" "Send a pickled byte-string *packet* to the socket. The format of the sent " "byte-string is as described in the documentation for :meth:`~SocketHandler." "makePickle`." msgstr "" +"Надішліть маринований байтовий рядок *пакет* до сокета. Формат надісланого " +"байтового рядка відповідає документації для :meth:`~SocketHandler." +"makePickle`." msgid "" "This function allows for partial sends, which can happen when the network is " "busy." msgstr "" +"Ця функція дозволяє частково надсилати, що може статися, коли мережа зайнята." msgid "" "Tries to create a socket; on failure, uses an exponential back-off " @@ -595,18 +824,25 @@ msgid "" "delay the connection still can't be made, the handler will double the delay " "each time up to a maximum of 30 seconds." msgstr "" +"Намагається створити сокет; у разі відмови використовує експоненціальний " +"алгоритм відстрочки. У разі початкової помилки обробник скине повідомлення, " +"яке намагався надіслати. Коли наступні повідомлення обробляються тим самим " +"екземпляром, він не намагатиметься підключитися, доки не мине деякий час. " +"Параметри за замовчуванням такі, що початкова затримка становить одну " +"секунду, і якщо після цієї затримки з’єднання все одно не вдається " +"встановити, обробник кожного разу подвоює затримку до максимум 30 секунд." msgid "This behaviour is controlled by the following handler attributes:" -msgstr "" +msgstr "Ця поведінка контролюється такими атрибутами обробника:" msgid "``retryStart`` (initial delay, defaulting to 1.0 seconds)." -msgstr "" +msgstr "``retryStart`` (початкова затримка, за замовчуванням 1,0 секунди)." msgid "``retryFactor`` (multiplier, defaulting to 2.0)." -msgstr "" +msgstr "``retryFactor`` (множник, за умовчанням 2,0)." msgid "``retryMax`` (maximum delay, defaulting to 30.0 seconds)." -msgstr "" +msgstr "``retryMax`` (максимальна затримка, за замовчуванням 30,0 секунд)." msgid "" "This means that if the remote listener starts up *after* the handler has " @@ -614,21 +850,30 @@ msgid "" "connection until the delay has elapsed, but just silently drop messages " "during the delay period)." msgstr "" +"Це означає, що якщо віддалений слухач запускається *після* використання " +"обробника, ви можете втратити повідомлення (оскільки обробник навіть не " +"намагатиметься встановити з’єднання, доки не мине затримка, а лише мовчки " +"видалятиме повідомлення протягом періоду затримки)." msgid "DatagramHandler" -msgstr "" +msgstr "DatagramHandler" msgid "" "The :class:`DatagramHandler` class, located in the :mod:`logging.handlers` " "module, inherits from :class:`SocketHandler` to support sending logging " "messages over UDP sockets." msgstr "" +"Клас :class:`DatagramHandler`, розташований у модулі :mod:`logging." +"handlers`, успадковує :class:`SocketHandler` для підтримки надсилання " +"повідомлень журналу через сокети UDP." msgid "" "Returns a new instance of the :class:`DatagramHandler` class intended to " "communicate with a remote machine whose address is given by *host* and " "*port*." msgstr "" +"Повертає новий екземпляр класу :class:`DatagramHandler`, призначений для " +"зв’язку з віддаленою машиною, адресу якої вказують *host* і *port*." msgid "" "As UDP is not a streaming protocol, there is no persistent connection " @@ -638,11 +883,20 @@ msgid "" "you, you can do a lookup yourself and initialize this handler using the " "looked-up IP address rather than the hostname." msgstr "" +"Поскольку UDP не является протоколом потоковой передачи, между экземпляром " +"этого обработчика и *хостом* не существует постоянного соединения. По этой " +"причине при использовании сетевого сокета может потребоваться выполнять " +"поиск DNS каждый раз при регистрации события, что может привести к некоторой " +"задержке в системе. Если это вас затрагивает, вы можете выполнить поиск " +"самостоятельно и инициализировать этот обработчик, используя найденный IP-" +"адрес, а не имя хоста." msgid "" "If ``port`` is specified as ``None``, a Unix domain socket is created using " "the value in ``host`` - otherwise, a UDP socket is created." msgstr "" +"Якщо ``port`` вказано як ``None``, сокет домену Unix створюється за " +"допомогою значення в ``host``; інакше створюється сокет UDP." msgid "" "Pickles the record's attribute dictionary and writes it to the socket in " @@ -650,24 +904,35 @@ msgid "" "packet. To unpickle the record at the receiving end into a :class:`~logging." "LogRecord`, use the :func:`~logging.makeLogRecord` function." msgstr "" +"Вибирає словник атрибутів запису та записує його в сокет у двійковому " +"форматі. Якщо є помилка з сокетом, мовчки скидає пакет. Щоб видалити запис " +"на приймальному кінці в :class:`~logging.LogRecord`, скористайтеся :func:" +"`~logging.makeLogRecord` функцією." msgid "" "The factory method of :class:`SocketHandler` is here overridden to create a " "UDP socket (:const:`socket.SOCK_DGRAM`)." msgstr "" +"Фабричний метод :class:`SocketHandler` тут перевизначено для створення " +"сокета UDP (:const:`socket.SOCK_DGRAM`)." msgid "" "Send a pickled byte-string to a socket. The format of the sent byte-string " "is as described in the documentation for :meth:`SocketHandler.makePickle`." msgstr "" +"Надіслати маринований рядок байтів до сокета. Формат надісланого байтового " +"рядка відповідає документації для :meth:`SocketHandler.makePickle`." msgid "SysLogHandler" -msgstr "" +msgstr "SysLogHandler" msgid "" "The :class:`SysLogHandler` class, located in the :mod:`logging.handlers` " "module, supports sending logging messages to a remote or local Unix syslog." msgstr "" +"Клас :class:`SysLogHandler`, розташований у модулі :mod:`logging.handlers`, " +"підтримує надсилання повідомлень журналу до віддаленого чи локального " +"системного журналу Unix." msgid "" "Returns a new instance of the :class:`SysLogHandler` class intended to " @@ -692,21 +957,32 @@ msgid "" "do this check at runtime if your application needs to run on several " "platforms). On Windows, you pretty much have to use the UDP option." msgstr "" +"Зауважте, що якщо ваш сервер не прослуховує UDP-порт 514, :class:" +"`SysLogHandler` може здатися непрацюючим. У такому випадку перевірте, яку " +"адресу ви повинні використовувати для доменного сокета - це залежить від " +"системи. Наприклад, у Linux це зазвичай '/dev/log', а в OS/X це '/var/run/" +"syslog'. Вам потрібно буде перевірити свою платформу та використати " +"відповідну адресу (може знадобитися виконати цю перевірку під час виконання, " +"якщо ваша програма має працювати на кількох платформах). У Windows ви майже " +"повинні використовувати параметр UDP." msgid "" "On macOS 12.x (Monterey), Apple has changed the behaviour of their syslog " "daemon - it no longer listens on a domain socket. Therefore, you cannot " "expect :class:`SysLogHandler` to work on this system." msgstr "" +"В macOS 12.x (Монтерей) Apple изменила поведение своего демона системного " +"журнала — он больше не прослушивает сокет домена. Следовательно, вы не " +"можете ожидать, что :class:`SysLogHandler` будет работать в этой системе." msgid "See :gh:`91070` for more information." -msgstr "" +msgstr "См. :gh:`91070` для получения дополнительной информации." msgid "*socktype* was added." -msgstr "" +msgstr "Додано *socktype*." msgid "Closes the socket to the remote host." -msgstr "" +msgstr "Закриває сокет для віддаленого хоста." msgid "" "Tries to create a socket and, if it's not a datagram socket, connect it to " @@ -715,11 +991,18 @@ msgid "" "the method will be called again when emitting an event, if there is no " "socket at that point." msgstr "" +"Пытается создать сокет и, если это не дейтаграммный сокет, подключить его к " +"другому концу. Этот метод вызывается во время инициализации обработчика, но " +"он не считается ошибкой, если другой конец в этот момент не прослушивает — " +"метод будет вызываться снова при отправке события, если в этот момент нет " +"сокета." msgid "" "The record is formatted, and then sent to the syslog server. If exception " "information is present, it is *not* sent to the server." msgstr "" +"Запис форматується, а потім надсилається на сервер syslog. Якщо присутня " +"інформація про винятки, вона *не* надсилається на сервер." msgid "" "(See: :issue:`12168`.) In earlier versions, the message sent to the syslog " @@ -730,6 +1013,13 @@ msgid "" "more recent daemons (which adhere more closely to RFC 5424) pass the NUL " "byte on as part of the message." msgstr "" +"(Див.: :issue:`12168`.) У попередніх версіях повідомлення, надіслане до " +"демонов системного журналу, завжди завершувалося нульовим байтом, оскільки " +"ранні версії цих демонів очікували повідомлення, що завершується нульовим " +"значенням, навіть якщо цього немає у відповідній специфікації (:rfc:`5424`). " +"Новіші версії цих демонов не очікують байт NUL, але видаляють його, якщо він " +"там є, і навіть новіші демони (які більше дотримуються RFC 5424) передають " +"байт NUL як частину повідомлення." msgid "" "To enable easier handling of syslog messages in the face of all these " @@ -739,6 +1029,12 @@ msgid "" "to ``False`` on a ``SysLogHandler`` instance in order for that instance to " "*not* append the NUL terminator." msgstr "" +"Щоб полегшити обробку повідомлень системного журналу, незважаючи на всі ці " +"відмінності в поведінці демона, додавання байта NUL було зроблено " +"конфігурованим за допомогою атрибута рівня класу, ``append_nul``. За " +"умовчанням це значення ``True`` (зберігаючи існуючу поведінку), але можна " +"встановити ``False`` для екземпляра ``SysLogHandler``, щоб цей екземпляр " +"*не* додавав термінатор NUL." msgid "" "(See: :issue:`12419`.) In earlier versions, there was no facility for an " @@ -749,197 +1045,210 @@ msgid "" "to every message handled. Note that the provided ident must be text, not " "bytes, and is prepended to the message exactly as is." msgstr "" +"(Див.: :issue:`12419`.) У попередніх версіях не було можливості для префікса " +"\"ident\" або \"tag\" для визначення джерела повідомлення. Тепер це можна " +"вказати за допомогою атрибута рівня класу, який за замовчуванням має " +"значення ``\"\"``, щоб зберегти існуючу поведінку, але який можна " +"перевизначити в екземплярі ``SysLogHandler``, щоб цей екземпляр додавав " +"ідентифікатор перед кожним повідомленням обробляється. Зауважте, що наданий " +"ідентифікатор має бути текстом, а не байтами, і додається до повідомлення " +"точно так, як є." msgid "" "Encodes the facility and priority into an integer. You can pass in strings " "or integers - if strings are passed, internal mapping dictionaries are used " "to convert them to integers." msgstr "" +"Кодує засіб і пріоритет у ціле число. Ви можете передавати рядки або цілі " +"числа - якщо рядки передаються, внутрішні словники відображення " +"використовуються для їх перетворення на цілі числа." msgid "" "The symbolic ``LOG_`` values are defined in :class:`SysLogHandler` and " "mirror the values defined in the ``sys/syslog.h`` header file." msgstr "" +"Символічні значення ``LOG_`` визначені в :class:`SysLogHandler` і " +"відображають значення, визначені у файлі заголовка ``sys/syslog.h``." msgid "**Priorities**" -msgstr "" +msgstr "**Пріоритети**" msgid "Name (string)" -msgstr "" +msgstr "Nama (string)" msgid "Symbolic value" -msgstr "" +msgstr "Символічне значення" msgid "``alert``" -msgstr "" +msgstr "``alert``" msgid "LOG_ALERT" -msgstr "" +msgstr "LOG_ALERT" msgid "``crit`` or ``critical``" -msgstr "" +msgstr "``crit`` or ``critical``" msgid "LOG_CRIT" -msgstr "" +msgstr "LOG_CRIT" msgid "``debug``" -msgstr "" +msgstr "``debug``" msgid "LOG_DEBUG" -msgstr "" +msgstr "LOG_DEBUG" msgid "``emerg`` or ``panic``" -msgstr "" +msgstr "``emerg`` or ``panic``" msgid "LOG_EMERG" -msgstr "" +msgstr "LOG_EMERG" msgid "``err`` or ``error``" -msgstr "" +msgstr "``err`` or ``error``" msgid "LOG_ERR" -msgstr "" +msgstr "LOG_ERR" msgid "``info``" msgstr "``info``" msgid "LOG_INFO" -msgstr "" +msgstr "LOG_INFO" msgid "``notice``" -msgstr "" +msgstr "``notice``" msgid "LOG_NOTICE" -msgstr "" +msgstr "LOG_NOTICE" msgid "``warn`` or ``warning``" -msgstr "" +msgstr "``warn`` or ``warning``" msgid "LOG_WARNING" -msgstr "" +msgstr "LOG_WARNING" msgid "**Facilities**" -msgstr "" +msgstr "**Інфраструктура**" 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 "" +msgstr "``daemon``" msgid "LOG_DAEMON" -msgstr "" +msgstr "LOG_DAEMON" msgid "``ftp``" msgstr "``ftp``" msgid "LOG_FTP" -msgstr "" +msgstr "LOG_FTP" msgid "``kern``" msgstr "``kern``" msgid "LOG_KERN" -msgstr "" +msgstr "LOG_KERN" msgid "``lpr``" msgstr "``lpr``" msgid "LOG_LPR" -msgstr "" +msgstr "LOG_LPR" msgid "``mail``" msgstr "``mail``" msgid "LOG_MAIL" -msgstr "" +msgstr "LOG_MAIL" msgid "``news``" msgstr "``news``" msgid "LOG_NEWS" -msgstr "" +msgstr "LOG_NEWS" msgid "``syslog``" -msgstr "" +msgstr "``syslog``" msgid "LOG_SYSLOG" -msgstr "" +msgstr "LOG_SYSLOG" msgid "``user``" -msgstr "" +msgstr "``user``" msgid "LOG_USER" -msgstr "" +msgstr "LOG_USER" msgid "``uucp``" msgstr "``uucp``" msgid "LOG_UUCP" -msgstr "" +msgstr "LOG_UUCP" msgid "``local0``" msgstr "``local0``" msgid "LOG_LOCAL0" -msgstr "" +msgstr "LOG_LOCAL0" msgid "``local1``" msgstr "``local1``" msgid "LOG_LOCAL1" -msgstr "" +msgstr "LOG_LOCAL1" msgid "``local2``" -msgstr "" +msgstr "``local2``" msgid "LOG_LOCAL2" -msgstr "" +msgstr "LOG_LOCAL2" msgid "``local3``" msgstr "``local3``" msgid "LOG_LOCAL3" -msgstr "" +msgstr "LOG_LOCAL3" msgid "``local4``" msgstr "``local4``" msgid "LOG_LOCAL4" -msgstr "" +msgstr "LOG_LOCAL4" msgid "``local5``" msgstr "``local5``" msgid "LOG_LOCAL5" -msgstr "" +msgstr "LOG_LOCAL5" msgid "``local6``" msgstr "``local6``" msgid "LOG_LOCAL6" -msgstr "" +msgstr "LOG_LOCAL6" 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 " @@ -948,9 +1257,15 @@ msgid "" "``WARNING``, ``ERROR`` and ``CRITICAL`` to the equivalent syslog names, and " "all other level names to 'warning'." msgstr "" +"Зіставляє назву рівня журналювання на назву пріоритету системного журналу. " +"Можливо, вам знадобиться перевизначити це, якщо ви використовуєте спеціальні " +"рівні або якщо алгоритм за замовчуванням не підходить для ваших потреб. " +"Алгоритм за замовчуванням відображає ``DEBUG``, ``INFO``, ``WARNING``, " +"``ERROR`` і ``CRITICAL`` на еквівалентні назви системного журналу, а всі " +"інші назви рівнів на \"попередження\"." msgid "NTEventLogHandler" -msgstr "" +msgstr "NTEventLogHandler" msgid "" "The :class:`NTEventLogHandler` class, located in the :mod:`logging.handlers` " @@ -958,6 +1273,10 @@ msgid "" "2000 or Windows XP event log. Before you can use it, you need Mark Hammond's " "Win32 extensions for Python installed." msgstr "" +"Клас :class:`NTEventLogHandler`, розташований у модулі :mod:`logging." +"handlers`, підтримує надсилання повідомлень журналу до локального журналу " +"подій Windows NT, Windows 2000 або Windows XP. Перш ніж використовувати " +"його, вам потрібно встановити розширення Win32 Марка Хаммонда для Python." msgid "" "Returns a new instance of the :class:`NTEventLogHandler` class. The " @@ -973,6 +1292,19 @@ msgid "" "in the event log). The *logtype* is one of ``'Application'``, ``'System'`` " "or ``'Security'``, and defaults to ``'Application'``." msgstr "" +"Повертає новий екземпляр класу :class:`NTEventLogHandler`. *Appname* " +"використовується для визначення назви програми, яка відображається в журналі " +"подій. За допомогою цього імені створюється відповідний запис реєстру. " +"*dllname* має давати повне ім’я шляху до .dll або .exe, який містить " +"визначення повідомлень для зберігання в журналі (якщо не вказано, " +"використовується ``'win32service.pyd'`` — він інсталюється з розширеннями " +"Win32 і містить деякі основні визначення повідомлень-заповнювачів. Зауважте, " +"що використання цих заповнювачів збільшить ваші журнали подій, оскільки все " +"джерело повідомлень зберігається в журналі. Якщо ви хочете мати менші " +"журнали, вам потрібно передати ім’я власної .dll або .exe, який містить " +"визначення повідомлень, які ви хочете використовувати в журналі подій). " +"*logtype* є одним із ``'Application'``, ``'System'`` або ``'Security'``, і " +"за замовчуванням ``'Application'``." msgid "" "At this point, you can remove the application name from the registry as a " @@ -981,16 +1313,24 @@ msgid "" "able to access the registry to get the .dll name. The current version does " "not do this." msgstr "" +"На цьому етапі ви можете видалити назву програми з реєстру як джерело " +"записів журналу подій. Однак, якщо ви зробите це, ви не зможете побачити " +"події, як ви планували, у засобі перегляду журналу подій - йому потрібен " +"доступ до реєстру, щоб отримати назву .dll. Поточна версія цього не робить." msgid "" "Determines the message ID, event category and event type, and then logs the " "message in the NT event log." msgstr "" +"Визначає ідентифікатор повідомлення, категорію події та тип події, а потім " +"записує повідомлення в журнал подій NT." msgid "" "Returns the event category for the record. Override this if you want to " "specify your own categories. This version returns 0." msgstr "" +"Повертає категорію події для запису. Перевизначте це, якщо хочете вказати " +"власні категорії. Ця версія повертає 0." msgid "" "Returns the event type for the record. Override this if you want to specify " @@ -1001,6 +1341,13 @@ msgid "" "will either need to override this method or place a suitable dictionary in " "the handler's *typemap* attribute." msgstr "" +"Повертає тип події для запису. Перевизначте це, якщо хочете вказати власні " +"типи. Ця версія виконує зіставлення за допомогою атрибута typemap обробника, " +"який встановлено в :meth:`__init__`, на словник, який містить зіставлення " +"для :const:`DEBUG`, :const:`INFO`, :const:`WARNING`, :const:`ERROR` і :const:" +"`CRITICAL`. Якщо ви використовуєте власні рівні, вам потрібно буде " +"перевизначити цей метод або розмістити відповідний словник в атрибуті " +"*typemap* обробника." msgid "" "Returns the message ID for the record. If you are using your own messages, " @@ -1009,14 +1356,23 @@ msgid "" "lookup to get the message ID. This version returns 1, which is the base " "message ID in :file:`win32service.pyd`." msgstr "" +"Повертає ідентифікатор повідомлення для запису. Якщо ви використовуєте " +"власні повідомлення, ви можете зробити це, передавши *повідомлення* до " +"реєстратора як ідентифікатор, а не рядок формату. Тоді тут ви можете " +"скористатися пошуком у словнику, щоб отримати ідентифікатор повідомлення. Ця " +"версія повертає 1, який є основним ідентифікатором повідомлення в :file:" +"`win32service.pyd`." msgid "SMTPHandler" -msgstr "" +msgstr "SMTPHandler" msgid "" "The :class:`SMTPHandler` class, located in the :mod:`logging.handlers` " "module, supports sending logging messages to an email address via SMTP." msgstr "" +"Клас :class:`SMTPHandler`, розташований у модулі :mod:`logging.handlers`, " +"підтримує надсилання повідомлень журналу на адресу електронної пошти через " +"SMTP." msgid "" "Returns a new instance of the :class:`SMTPHandler` class. The instance is " @@ -1027,6 +1383,14 @@ msgid "" "authentication, you can specify a (username, password) tuple for the " "*credentials* argument." msgstr "" +"Повертає новий екземпляр класу :class:`SMTPHandler`. Екземпляр " +"ініціалізується адресами відправника та одержувача та рядком теми " +"електронного листа. *toaddrs* має бути списком рядків. Щоб указати " +"нестандартний порт SMTP, використовуйте формат кортежу (хост, порт) для " +"аргументу *mailhost*. Якщо ви використовуєте рядок, використовується " +"стандартний порт SMTP. Якщо ваш сервер SMTP вимагає автентифікації, ви " +"можете вказати кортеж (ім’я користувача, пароль) для аргументу *облікові " +"дані*." msgid "" "To specify the use of a secure protocol (TLS), pass in a tuple to the " @@ -1036,25 +1400,35 @@ msgid "" "keyfile and certificate file. (This tuple is passed to the :meth:`smtplib." "SMTP.starttls` method.)" msgstr "" +"Щоб указати використання безпечного протоколу (TLS), передайте кортеж " +"аргументу *secure*. Це використовуватиметься, лише якщо надано облікові дані " +"для автентифікації. Кортеж має бути або порожнім кортежем, або кортежем з " +"одним значенням з іменем файлу ключів, або кортежем із двома значеннями з " +"іменами файлу ключів і файлу сертифіката. (Цей кортеж передається в метод :" +"meth:`smtplib.SMTP.starttls`.)" msgid "" "A timeout can be specified for communication with the SMTP server using the " "*timeout* argument." msgstr "" +"Тайм-аут можна вказати для зв’язку з сервером SMTP за допомогою аргументу " +"*timeout*." msgid "Added the *timeout* parameter." -msgstr "" +msgstr "Добавлен параметр *timeout*." msgid "Formats the record and sends it to the specified addressees." -msgstr "" +msgstr "Форматує запис і надсилає його вказаним адресатам." msgid "" "If you want to specify a subject line which is record-dependent, override " "this method." msgstr "" +"Якщо ви хочете вказати рядок теми, який залежить від запису, замініть цей " +"метод." msgid "MemoryHandler" -msgstr "" +msgstr "MemoryHandler" msgid "" "The :class:`MemoryHandler` class, located in the :mod:`logging.handlers` " @@ -1062,6 +1436,10 @@ msgid "" "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." msgstr "" +"Клас :class:`MemoryHandler`, розташований у модулі :mod:`logging.handlers`, " +"підтримує буферизацію записів журналу в пам’яті, періодично скидаючи їх до " +"обробника :dfn:`target`. Очищення відбувається кожного разу, коли буфер " +"заповнений або коли спостерігається подія певної або більшої серйозності." msgid "" ":class:`MemoryHandler` is a subclass of the more general :class:" @@ -1070,27 +1448,42 @@ msgid "" "calling :meth:`shouldFlush` to see if the buffer should be flushed. If it " "should, then :meth:`flush` is expected to do the flushing." msgstr "" +":class:`MemoryHandler` є підкласом більш загального :class:" +"`BufferingHandler`, який є абстрактним класом. Це буферизує записи журналу в " +"пам'яті. Кожного разу, коли кожен запис додається до буфера, виконується " +"перевірка шляхом виклику :meth:`shouldFlush`, щоб побачити, чи потрібно " +"скидати буфер. Якщо має бути, то очікується, що :meth:`flush` виконає " +"змивання." msgid "" "Initializes the handler with a buffer of the specified capacity. Here, " "*capacity* means the number of logging records buffered." msgstr "" +"Ініціалізує обробник буфером зазначеної ємності. Тут *ємність* означає " +"кількість буферизованих записів журналу." msgid "" "Append the record to the buffer. If :meth:`shouldFlush` returns true, call :" "meth:`flush` to process the buffer." msgstr "" +"Додайте запис до буфера. Якщо :meth:`shouldFlush` повертає true, викликайте :" +"meth:`flush` для обробки буфера." msgid "" "For a :class:`BufferingHandler` instance, flushing means that it sets the " "buffer to an empty list. This method can be overwritten to implement more " "useful flushing behavior." msgstr "" +"Для экземпляра :class:`BufferingHandler` очистка означает, что буфер " +"устанавливается в пустой список. Этот метод можно перезаписать, чтобы " +"реализовать более полезное поведение очистки." msgid "" "Return ``True`` if the buffer is up to capacity. This method can be " "overridden to implement custom flushing strategies." msgstr "" +"Повертає ``True``, якщо буфер вичерпано. Цей метод можна замінити, щоб " +"реалізувати власні стратегії очищення." msgid "" "Returns a new instance of the :class:`MemoryHandler` class. The instance is " @@ -1102,12 +1495,20 @@ msgid "" "not specified or specified as ``True``, the previous behaviour of flushing " "the buffer will occur when the handler is closed." msgstr "" +"Повертає новий екземпляр класу :class:`MemoryHandler`. Екземпляр " +"ініціалізується з розміром буфера *ємність* (кількість буферизованих " +"записів). Якщо *flushLevel* не вказано, використовується :const:`ERROR`. " +"Якщо *ціль* не вказана, ціль потрібно буде встановити за допомогою :meth:" +"`setTarget`, перш ніж цей обробник зробить щось корисне. Якщо *flushOnClose* " +"вказано як ``False``, тоді буфер *не* очищається, коли обробник закрито. " +"Якщо не вказано або вказано як ``True``, попередня поведінка очищення буфера " +"відбуватиметься, коли обробник буде закрито." msgid "The *flushOnClose* parameter was added." -msgstr "" +msgstr "Додано параметр *flushOnClose*." msgid "Calls :meth:`flush`, sets the target to ``None`` and clears the buffer." -msgstr "" +msgstr "Викликає :meth:`flush`, встановлює ціль на ``None`` і очищає буфер." msgid "" "For a :class:`MemoryHandler` instance, flushing means just sending the " @@ -1115,21 +1516,28 @@ msgid "" "when buffered records are sent to the target. Override if you want different " "behavior." msgstr "" +"Для экземпляра :class:`MemoryHandler` очистка означает просто отправку " +"буферизованных записей в цель, если таковая имеется. Буфер также очищается, " +"когда буферизованные записи отправляются в цель. Переопределите, если хотите " +"другое поведение." msgid "Sets the target handler for this handler." -msgstr "" +msgstr "Встановлює цільовий обробник для цього обробника." msgid "Checks for buffer full or a record at the *flushLevel* or higher." -msgstr "" +msgstr "Перевіряє заповненість буфера або запис на *flushLevel* або вище." msgid "HTTPHandler" -msgstr "" +msgstr "HTTPHandler" msgid "" "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 "" +"Клас :class:`HTTPHandler`, розташований у модулі :mod:`logging.handlers`, " +"підтримує надсилання повідомлень журналу на веб-сервер, використовуючи " +"семантику ``GET`` або ``POST``." msgid "" "Returns a new instance of the :class:`HTTPHandler` class. The *host* can be " @@ -1143,9 +1551,20 @@ msgid "" "also specify secure=True so that your userid and password are not passed in " "cleartext across the wire." msgstr "" +"Повертає новий екземпляр класу :class:`HTTPHandler`. *Host* може мати форму " +"``host:port``, якщо вам потрібно використовувати певний номер порту. Якщо " +"*метод* не вказано, використовується ``GET``. Якщо *secure* має значення " +"true, використовуватиметься з’єднання HTTPS. Параметр *context* може бути " +"встановлений на екземпляр :class:`ssl.SSLContext`, щоб налаштувати параметри " +"SSL, які використовуються для з’єднання HTTPS. Якщо вказано *облікові дані*, " +"це має бути 2-кортеж, що складається з ідентифікатора користувача та пароля, " +"який буде розміщено в заголовку HTTP \"Авторизація\" за допомогою базової " +"автентифікації. Якщо ви вказуєте облікові дані, ви також повинні вказати " +"secure=True, щоб ваш ідентифікатор користувача та пароль не передавалися у " +"вигляді відкритого тексту по мережі." msgid "The *context* parameter was added." -msgstr "" +msgstr "Додано параметр *context*." msgid "" "Provides a dictionary, based on ``record``, which is to be URL-encoded and " @@ -1154,12 +1573,20 @@ msgid "" "`~logging.LogRecord` is to be sent to the web server, or if more specific " "customization of what's sent to the server is required." msgstr "" +"Надає словник на основі ``запису``, який має бути закодований URL-адресою та " +"надісланий на веб-сервер. Стандартна реалізація просто повертає ``record." +"__dict__``. Цей метод можна перевизначити, якщо, наприклад, лише підмножина :" +"class:`~logging.LogRecord` має бути надіслана на веб-сервер, або якщо " +"потрібна більш точна настройка того, що надсилається на сервер." msgid "" "Sends the record to the web server as a URL-encoded dictionary. The :meth:" "`mapLogRecord` method is used to convert the record to the dictionary to be " "sent." msgstr "" +"Надсилає запис на веб-сервер як словник із кодуванням URL-адреси. Метод :" +"meth:`mapLogRecord` використовується для перетворення запису в словник для " +"надсилання." msgid "" "Since preparing a record for sending it to a web server is not the same as a " @@ -1169,15 +1596,25 @@ msgid "" "calls :meth:`mapLogRecord` and then :func:`urllib.parse.urlencode` to encode " "the dictionary in a form suitable for sending to a web server." msgstr "" +"Оскільки підготовка запису для надсилання його на веб-сервер – це не те " +"саме, що загальна операція форматування, використання :meth:`~logging." +"Handler.setFormatter` для визначення :class:`~logging.Formatter` для :class:" +"`HTTPHandler` не має ефекту. Замість виклику :meth:`~logging.Handler." +"format`, цей обробник викликає :meth:`mapLogRecord`, а потім :func:`urllib." +"parse.urlencode`, щоб закодувати словник у формі, придатній для надсилання " +"на веб-сервер ." msgid "QueueHandler" -msgstr "" +msgstr "QueueHandler" msgid "" "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 "" +"Клас :class:`QueueHandler`, розташований у модулі :mod:`logging.handlers`, " +"підтримує надсилання повідомлень журналу до черги, таких як реалізовані в " +"модулях :mod:`queue` або :mod:`multiprocessing` ." msgid "" "Along with the :class:`QueueListener` class, :class:`QueueHandler` can be " @@ -1187,6 +1624,13 @@ msgid "" "quickly as possible, while any potentially slow operations (such as sending " "an email via :class:`SMTPHandler`) are done on a separate thread." msgstr "" +"Разом із класом :class:`QueueListener`, :class:`QueueHandler` можна " +"використовувати, щоб дозволити обробникам виконувати свою роботу в окремому " +"потоці від того, який веде журнал. Це важливо у веб-додатках, а також в " +"інших додатках-службах, де потоки, що обслуговують клієнтів, мають " +"відповідати якомога швидше, тоді як будь-які потенційно повільні операції " +"(такі як надсилання електронного листа через :class:`SMTPHandler`) " +"виконуються в окремому потоці." msgid "" "Returns a new instance of the :class:`QueueHandler` class. The instance is " @@ -1196,11 +1640,33 @@ msgid "" "task tracking API, which means that you can use :class:`~queue.SimpleQueue` " "instances for *queue*." msgstr "" +"Повертає новий екземпляр класу :class:`QueueHandler`. Примірник " +"ініціалізується чергою для надсилання повідомлень. *Чергою* може бути будь-" +"який об’єкт, подібний до черги; він використовується як є методом :meth:" +"`enqueue`, якому потрібно знати, як йому надсилати повідомлення. Для черги " +"не *обов’язково* бути API відстеження завдань, що означає, що ви можете " +"використовувати екземпляри :class:`~queue.SimpleQueue` для *черги*." msgid "" "If you are using :mod:`multiprocessing`, you should avoid using :class:" "`~queue.SimpleQueue` and instead use :class:`multiprocessing.Queue`." msgstr "" +"Если вы используете :mod:`multiprocessing`, вам следует избегать " +"использования :class:`~queue.SimpleQueue` и вместо этого использовать :class:" +"`multiprocessing.Queue`." + +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 "" +":mod:`multiprocessing` 模块使用一个通过 :meth:`~multiprocessing.get_logger` " +"创建和访问的内部记录器。 :class:`multiprocessing.Queue` 将记录正在排队的项目" +"的 ``DEBUG`` 级消息。 如果这些日志消息由 :class:`QueueHandler` 使用相同的 :" +"class:`multiprocessing.Queue` 实例进行处理,则会导致死锁或无限递归。" msgid "" "Enqueues the result of preparing the LogRecord. Should an exception occur (e." @@ -1210,11 +1676,19 @@ msgid "" "``False``) or a message printed to ``sys.stderr`` (if :data:`logging." "raiseExceptions` is ``True``)." msgstr "" +"Ставит в очередь результат подготовки LogRecord. В случае возникновения " +"исключения (например, из-за заполнения ограниченной очереди) для обработки " +"ошибки вызывается метод :meth:`~logging.Handler.handleError`. Это может " +"привести к молчаливому удалению записи (если :data:`logging.raiseExceptions` " +"имеет значение ``False``) или к выводу сообщения в ``sys.stderr`` (если :" +"data:`logging.raiseExceptions`` имеет значение `` «Правда»)." msgid "" "Prepares a record for queuing. The object returned by this method is " "enqueued." msgstr "" +"Готує запис для постановки в чергу. Об’єкт, повернутий цим методом, " +"ставиться в чергу." msgid "" "The base implementation formats the record to merge the message, arguments, " @@ -1224,12 +1698,21 @@ msgid "" "by calling the handler's :meth:`format` method), and sets the :attr:`args`, :" "attr:`exc_info` and :attr:`exc_text` attributes to ``None``." msgstr "" +"Базовая реализация форматирует запись для объединения сообщения, аргументов, " +"исключений и информации стека, если они есть. Он также удаляет неподдающиеся " +"редактированию элементы из записи на месте. В частности, он перезаписывает " +"атрибуты записи :attr:`msg` и :attr:`message` объединенным сообщением " +"(полученным путем вызова метода :meth:`format` обработчика) и устанавливает :" +"attr:`args`, : Для атрибутов attr:`exc_info` и :attr:`exc_text` установлено " +"значение ``None``." msgid "" "You might want to override this method if you want to convert the record to " "a dict or JSON string, or send a modified copy of the record while leaving " "the original intact." msgstr "" +"Ви можете замінити цей метод, якщо хочете перетворити запис на рядок dict " +"або JSON або надіслати змінену копію запису, залишивши оригінал недоторканим." msgid "" "The base implementation formats the message with arguments, sets the " @@ -1245,21 +1728,40 @@ msgid "" "that you may have to consider not only your own code but also code in any " "libraries that you use.)" msgstr "" +"Базовая реализация форматирует сообщение с аргументами, устанавливает " +"атрибуты ``message`` и ``msg`` для отформатированного сообщения и " +"устанавливает атрибуты ``args`` и ``exc_text`` в ``None``, чтобы разрешить " +"травление и предотвращение дальнейших попыток форматирования. Это означает, " +"что обработчик на стороне :class:`QueueListener` не будет иметь информации " +"для выполнения пользовательского форматирования, например, исключений. Вы " +"можете создать подкласс QueueHandler и переопределить этот метод, чтобы, " +"например, не устанавливать для exc_text значение None. Обратите внимание, " +"что изменения ``message``/``msg``/``args`` связаны с обеспечением " +"возможности выбора записи, и вы можете или не можете избежать этого в " +"зависимости от того, есть ли у вас ``args` ` можно мариновать. (Обратите " +"внимание, что вам, возможно, придется учитывать не только свой собственный " +"код, но и код любых библиотек, которые вы используете.)" msgid "" "Enqueues the record on the queue using ``put_nowait()``; you may want to " "override this if you want to use blocking behaviour, or a timeout, or a " "customized queue implementation." msgstr "" +"Ставить запис у чергу за допомогою put_nowait(); ви можете змінити це, якщо " +"ви хочете використовувати поведінку блокування, або тайм-аут, або " +"налаштовану реалізацію черги." msgid "" "When created via configuration using :func:`~logging.config.dictConfig`, " "this attribute will contain a :class:`QueueListener` instance for use with " "this handler. Otherwise, it will be ``None``." msgstr "" +"При создании с помощью конфигурации с использованием :func:`~logging.config." +"dictConfig` этот атрибут будет содержать экземпляр :class:`QueueListener` " +"для использования с этим обработчиком. В противном случае это будет ``None``." msgid "QueueListener" -msgstr "" +msgstr "QueueListener" msgid "" "The :class:`QueueListener` class, located in the :mod:`logging.handlers` " @@ -1270,6 +1772,13 @@ msgid "" "`QueueListener` is not itself a handler, it is documented here because it " "works hand-in-hand with :class:`QueueHandler`." msgstr "" +"Клас :class:`QueueListener`, розташований у модулі :mod:`logging.handlers`, " +"підтримує отримання повідомлень журналу з черги, таких як ті, що реалізовані " +"в модулях :mod:`queue` або :mod:`multiprocessing` . Повідомлення отримуються " +"з черги у внутрішньому потоці та передаються в тому самому потоці одному або " +"кільком обробникам для обробки. Хоча :class:`QueueListener` сам по собі не є " +"обробником, він задокументований тут, оскільки він працює рука об руку з :" +"class:`QueueHandler`." msgid "" "Along with the :class:`QueueHandler` class, :class:`QueueListener` can be " @@ -1279,6 +1788,13 @@ msgid "" "quickly as possible, while any potentially slow operations (such as sending " "an email via :class:`SMTPHandler`) are done on a separate thread." msgstr "" +"Разом із класом :class:`QueueHandler`, :class:`QueueListener` можна " +"використовувати, щоб дозволити обробникам виконувати свою роботу в окремому " +"потоці від того, який веде журнал. Це важливо у веб-додатках, а також в " +"інших додатках-службах, де потоки, що обслуговують клієнтів, мають " +"відповідати якомога швидше, тоді як будь-які потенційно повільні операції " +"(такі як надсилання електронного листа через :class:`SMTPHandler`) " +"виконуються в окремому потоці." msgid "" "Returns a new instance of the :class:`QueueListener` class. The instance is " @@ -1289,6 +1805,14 @@ msgid "" "tracking API (though it's used if available), which means that you can use :" "class:`~queue.SimpleQueue` instances for *queue*." msgstr "" +"Повертає новий екземпляр класу :class:`QueueListener`. Екземпляр " +"ініціалізується чергою для надсилання повідомлень і списком обробників, які " +"оброблятимуть записи, розміщені в черзі. Чергою може бути будь-який " +"чергоподібний об'єкт; він передається як є до методу :meth:`dequeue`, якому " +"потрібно знати, як отримати від нього повідомлення. Для черги не " +"*обов’язково* бути API відстеження завдань (хоча він використовується, якщо " +"доступний), що означає, що ви можете використовувати екземпляри :class:" +"`~queue.SimpleQueue` для *черги*." msgid "" "If ``respect_handler_level`` is ``True``, a handler's level is respected " @@ -1296,71 +1820,92 @@ msgid "" "messages to that handler; otherwise, the behaviour is as in previous Python " "versions - to always pass each message to each handler." msgstr "" +"Якщо ``respect_handler_level`` має значення ``True``, рівень обробника " +"враховується (порівняно з рівнем для повідомлення), коли вирішується, чи " +"передавати повідомлення цьому обробнику; інакше, поведінка така ж, як і в " +"попередніх версіях Python - завжди передавати кожне повідомлення кожному " +"обробнику." msgid "The ``respect_handler_level`` argument was added." -msgstr "" +msgstr "Додано аргумент ``respect_handler_level``." msgid "Dequeues a record and return it, optionally blocking." -msgstr "" +msgstr "Вилучає запис із черги та повертає його, за бажанням блокуючи." msgid "" "The base implementation uses ``get()``. You may want to override this method " "if you want to use timeouts or work with custom queue implementations." msgstr "" +"У базовій реалізації використовується ``get()``. Ви можете перевизначити цей " +"метод, якщо ви хочете використовувати тайм-аути або працювати з власними " +"реалізаціями черги." msgid "Prepare a record for handling." -msgstr "" +msgstr "Підготуйте протокол для обробки." msgid "" "This implementation just returns the passed-in record. You may want to " "override this method if you need to do any custom marshalling or " "manipulation of the record before passing it to the handlers." msgstr "" +"Ця реалізація лише повертає переданий запис. Ви можете замінити цей метод, " +"якщо вам потрібно виконати будь-яку спеціальну сортування або маніпуляції із " +"записом перед передачею його обробникам." msgid "Handle a record." -msgstr "" +msgstr "Обробка запису." msgid "" "This just loops through the handlers offering them the record to handle. The " "actual object passed to the handlers is that which is returned from :meth:" "`prepare`." msgstr "" +"Це просто проходить через обробники, пропонуючи їм запис для обробки. " +"Фактичний об’єкт, який передається обробникам, — це той, який повертається " +"з :meth:`prepare`." msgid "Starts the listener." -msgstr "" +msgstr "Memulai *listener*." msgid "" "This starts up a background thread to monitor the queue for LogRecords to " "process." msgstr "" +"Це запускає фоновий потік для моніторингу черги для обробки LogRecords." msgid "" "Raises :exc:`RuntimeError` if called and the listener is already running." -msgstr "" +msgstr "如果被调用时监听器已在运行则会引发 :exc:`RuntimeError`。" msgid "Stops the listener." -msgstr "" +msgstr "Menghentikan *listener*." msgid "" "This asks the thread to terminate, and then waits for it to do so. Note that " "if you don't call this before your application exits, there may be some " "records still left on the queue, which won't be processed." msgstr "" +"Це просить потік завершити, а потім чекає, поки він це зробить. Зауважте, що " +"якщо ви не викличете це перед виходом програми, у черзі можуть залишитися " +"деякі записи, які не будуть оброблені." msgid "" "Writes a sentinel to the queue to tell the listener to quit. This " "implementation uses ``put_nowait()``. You may want to override this method " "if you want to use timeouts or work with custom queue implementations." msgstr "" +"Записує до черги дозорний, щоб сказати слухачеві вийти. Ця реалізація " +"використовує ``put_nowait()``. Ви можете перевизначити цей метод, якщо " +"хочете використовувати тайм-аути або працювати з власними реалізаціями черги." msgid "Module :mod:`logging`" -msgstr "" +msgstr "Модуль :mod:`logging`" msgid "API reference for the logging module." -msgstr "" +msgstr "Довідник API для модуля журналювання." msgid "Module :mod:`logging.config`" -msgstr "" +msgstr "Модуль :mod:`logging.config`" msgid "Configuration API for the logging module." -msgstr "" +msgstr "API конфігурації для модуля журналювання." diff --git a/library/logging.po b/library/logging.po index 7ed86b24cf..f8ee267240 100644 --- a/library/logging.po +++ b/library/logging.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-02-28 14:17+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -25,29 +24,33 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!logging` --- Logging facility for Python" -msgstr "" +msgstr ":mod:`!logging` --- Возможность ведения журналов для Python" 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 " "and discussion of more advanced topics, see" msgstr "" +"Ця сторінка містить довідкову інформацію про API. Інформацію про підручники " +"та обговорення більш складних тем див" msgid ":ref:`Basic Tutorial `" -msgstr "" +msgstr ":ref:`Basic Tutorial `" msgid ":ref:`Advanced Tutorial `" -msgstr "" +msgstr ":ref:`Advanced Tutorial `" msgid ":ref:`Logging Cookbook `" -msgstr "" +msgstr ":ref:`Logging Cookbook `" msgid "" "This module defines functions and classes which implement a flexible event " "logging system for applications and libraries." msgstr "" +"Цей модуль визначає функції та класи, які реалізують гнучку систему " +"реєстрації подій для програм і бібліотек." msgid "" "The key benefit of having the logging API provided by a standard library " @@ -55,9 +58,13 @@ msgid "" "application log can include your own messages integrated with messages from " "third-party modules." msgstr "" +"Ключовою перевагою використання API журналювання, що надається стандартним " +"бібліотечним модулем, є те, що всі модулі Python можуть брати участь у " +"журналюванні, тому ваш журнал програми може містити ваші власні " +"повідомлення, інтегровані з повідомленнями від сторонніх модулів." msgid "Here's a simple example of idiomatic usage: ::" -msgstr "" +msgstr "Вот простой пример идиоматического употребления:::" msgid "" "# myapp.py\n" @@ -74,6 +81,19 @@ msgid "" "if __name__ == '__main__':\n" " main()" msgstr "" +"# myapp.py\n" +"import logging\n" +"import mylib\n" +"logger = logging.getLogger(__name__)\n" +"\n" +"def main():\n" +" logging.basicConfig(filename='myapp.log', level=logging.INFO)\n" +" logger.info('Started')\n" +" mylib.do_something()\n" +" logger.info('Finished')\n" +"\n" +"if __name__ == '__main__':\n" +" main()" msgid "" "# mylib.py\n" @@ -83,15 +103,24 @@ msgid "" "def do_something():\n" " logger.info('Doing something')" msgstr "" +"# mylib.py\n" +"import logging\n" +"logger = logging.getLogger(__name__)\n" +"\n" +"def do_something():\n" +" logger.info('Doing something')" msgid "If you run *myapp.py*, you should see this in *myapp.log*:" -msgstr "" +msgstr "Якщо ви запускаєте *myapp.py*, ви повинні побачити це в *myapp.log*:" msgid "" "INFO:__main__:Started\n" "INFO:mylib:Doing something\n" "INFO:__main__:Finished" msgstr "" +"INFO:__main__:Started\n" +"INFO:mylib:Doing something\n" +"INFO:__main__:Finished" msgid "" "The key feature of this idiomatic usage is that the majority of code is " @@ -102,6 +131,15 @@ msgid "" "modules, all the way up to the highest-level logger known as the root " "logger; this approach is known as hierarchical logging." msgstr "" +"Ключевой особенностью этого идиоматического использования является то, что " +"большая часть кода просто создает регистратор уровня модуля с помощью " +"getLogger(__name__)`` и использует этот регистратор для выполнения любой " +"необходимой регистрации. Это лаконично, но при необходимости позволяет " +"осуществлять детальный контроль последующего кода. Сообщения, " +"зарегистрированные в регистраторе уровня модуля, пересылаются обработчикам " +"регистраторов в модулях более высокого уровня, вплоть до регистратора самого " +"высокого уровня, известного как корневой регистратор; этот подход известен " +"как иерархическое журналирование." msgid "" "For logging to be useful, it needs to be configured: setting the levels and " @@ -112,36 +150,56 @@ msgid "" "messages to its handlers. :func:`~logging.basicConfig` provides a quick way " "to configure the root logger that handles many use cases." msgstr "" +"Чтобы ведение журнала было полезным, его необходимо настроить: установить " +"уровни и места назначения для каждого средства ведения журнала, потенциально " +"изменить способ ведения журнала конкретных модулей, часто на основе " +"аргументов командной строки или конфигурации приложения. В большинстве " +"случаев, как в приведенном выше, необходимо настроить только корневой " +"регистратор, поскольку все регистраторы нижнего уровня на уровне модуля в " +"конечном итоге пересылают свои сообщения своим обработчикам. :func:`~logging." +"basicConfig` предоставляет быстрый способ настройки корневого регистратора, " +"который обрабатывает множество вариантов использования." msgid "" "The module provides a lot of functionality and flexibility. If you are " "unfamiliar with logging, the best way to get to grips with it is to view the " "tutorials (**see the links above and on the right**)." msgstr "" +"Модуль забезпечує багато функціональних можливостей і гнучкості. Якщо ви не " +"знайомі з веденням журналів, найкращий спосіб зрозуміти це — переглянути " +"навчальні посібники (**перегляньте посилання вище та праворуч**)." msgid "" "The basic classes defined by the module, together with their attributes and " "methods, are listed in the sections below." msgstr "" +"Базовые классы, определенные модулем, вместе с их атрибутами и методами " +"перечислены в разделах ниже." msgid "Loggers expose the interface that application code directly uses." msgstr "" +"Логери відкривають інтерфейс, який безпосередньо використовує код програми." msgid "" "Handlers send the log records (created by loggers) to the appropriate " "destination." msgstr "" +"Обробники надсилають записи журналу (створені реєстраторами) у відповідне " +"місце призначення." msgid "" "Filters provide a finer grained facility for determining which log records " "to output." msgstr "" +"Фільтри забезпечують точніші засоби для визначення того, які записи журналу " +"виводити." msgid "Formatters specify the layout of log records in the final output." msgstr "" +"Засоби форматування вказують макет записів журналу в кінцевому виведенні." msgid "Logger Objects" -msgstr "" +msgstr "Логер об'єктів" msgid "" "Loggers have the following attributes and methods. Note that Loggers should " @@ -149,6 +207,10 @@ msgid "" "function ``logging.getLogger(name)``. Multiple calls to :func:`getLogger` " "with the same name will always return a reference to the same Logger object." msgstr "" +"Реєстратори мають такі атрибути та методи. Зауважте, що Логери *НІКОЛИ* не " +"повинні створюватися безпосередньо, а завжди через функцію рівня модуля " +"``logging.getLogger(name)``. Кілька викликів :func:`getLogger` з однаковою " +"назвою завжди повертатимуть посилання на той самий об’єкт Logger." msgid "" "The ``name`` is potentially a period-separated hierarchical value, like " @@ -163,30 +225,49 @@ msgid "" "getLogger(__name__)``. That's because in a module, ``__name__`` is the " "module's name in the Python package namespace." msgstr "" +"Имя ``name`` потенциально является иерархическим значением, разделенным " +"точкой, например ``foo.bar.baz`` (хотя оно также может быть, например, " +"просто ``foo``). Регистраторы, находящиеся ниже в иерархическом списке, " +"являются дочерними элементами регистраторов, находящихся выше в списке. " +"Например, для данного регистратора с именем ``foo`` все регистраторы с " +"именами ``foo.bar``, ``foo.bar.baz`` и ``foo.bam`` являются потомками " +"``фу``. Кроме того, все регистраторы являются потомками корневого " +"регистратора. Иерархия имен регистраторов аналогична иерархии пакетов Python " +"и идентична ей, если вы организуете свои регистраторы для каждого модуля, " +"используя рекомендуемую конструкцию ``logging.getLogger(__name__)``. Это " +"потому, что в модуле ``__name__`` — это имя модуля в пространстве имен " +"пакета Python." msgid "" "This is the logger's name, and is the value that was passed to :func:" "`getLogger` to obtain the logger." msgstr "" +"Это имя регистратора и значение, которое было передано в :func:`getLogger` " +"для получения регистратора." msgid "This attribute should be treated as read-only." -msgstr "" +msgstr "Этот атрибут следует рассматривать как доступный только для чтения." msgid "The threshold of this logger, as set by the :meth:`setLevel` method." -msgstr "" +msgstr "Порог этого регистратора, установленный методом :meth:`setLevel`." msgid "" "Do not set this attribute directly - always use :meth:`setLevel`, which has " "checks for the level passed to it." msgstr "" +"Не устанавливайте этот атрибут напрямую — всегда используйте :meth:" +"`setLevel`, который проверяет переданный ему уровень." msgid "" "The parent logger of this logger. It may change based on later instantiation " "of loggers which are higher up in the namespace hierarchy." msgstr "" +"Родительский регистратор этого регистратора. Оно может измениться в " +"зависимости от более позднего создания экземпляров средств ведения журнала, " +"которые находятся выше в иерархии пространства имен." msgid "This value should be treated as read-only." -msgstr "" +msgstr "Это значение следует рассматривать как доступное только для чтения." msgid "" "If this attribute evaluates to true, events logged to this logger will be " @@ -195,11 +276,18 @@ msgid "" "ancestor loggers' handlers - neither the level nor filters of the ancestor " "loggers in question are considered." msgstr "" +"Якщо цей атрибут оцінюється як істина, події, зареєстровані в цьому " +"реєстраторі, будуть передані обробникам реєстраторів вищого рівня (предків), " +"на додаток до будь-яких обробників, приєднаних до цього реєстратора. " +"Повідомлення передаються безпосередньо до обробників попередніх реєстраторів " +"- ні рівень, ні фільтри попередніх реєстраторів, про які йдеться." msgid "" "If this evaluates to false, logging messages are not passed to the handlers " "of ancestor loggers." msgstr "" +"Якщо це значення має значення false, повідомлення журналу не передаються до " +"обробників попередніх реєстраторів." msgid "" "Spelling it out with an example: If the propagate attribute of the logger " @@ -212,9 +300,19 @@ msgid "" "false, then that is the last logger whose handlers are offered the event to " "handle, and propagation stops at that point." msgstr "" +"Напишіть це на прикладі: якщо атрибут propagate реєстратора під назвою ``A.B." +"C`` має значення true, будь-яка подія, зареєстрована в ``A.B.C`` через " +"виклик методу, наприклад ``logging.getLogger('A.B.C') .error(...)`` [за " +"умови передачі цього рівня реєстратора та налаштувань фільтра] буде передано " +"по черзі будь-яким обробникам, приєднаним до реєстраторів з назвами ``A.B``, " +"``A`` і кореневому реєстратору після першого передається будь-яким " +"обробникам, приєднаним до ``A.B.C``. Якщо будь-який реєстратор у ланцюжку " +"``A.B.C``, ``A.B``, ``A`` має атрибут ``propagate``, встановлений на false, " +"то це останній реєстратор, обробникам якого пропонується подія для обробки, " +"і на цьому розповсюдження припиняється." msgid "The constructor sets this attribute to ``True``." -msgstr "" +msgstr "Конструктор встановлює цьому атрибуту значення ``True``." msgid "" "If you attach a handler to a logger *and* one or more of its ancestors, it " @@ -226,20 +324,36 @@ msgid "" "handlers only to the root logger, and to let propagation take care of the " "rest." msgstr "" +"Якщо ви приєднаєте обробник до реєстратора *і* одного або кількох його " +"предків, він може створювати той самий запис кілька разів. Загалом, вам не " +"потрібно приєднувати обробник до кількох реєстраторів — якщо ви просто " +"приєднаєте його до відповідного реєстратора, який є найвищим в ієрархії " +"реєстратора, тоді він бачитиме всі події, зареєстровані всіма нащадками " +"реєстраторів, за умови, що вони поширюються параметр залишається " +"встановленим на ``True``. Поширеним сценарієм є приєднання обробників лише " +"до кореневого реєстратора, а розповсюдження подбає про решту." msgid "The list of handlers directly attached to this logger instance." msgstr "" +"Список обработчиков, непосредственно прикрепленных к этому экземпляру " +"средства ведения журнала." msgid "" "This attribute should be treated as read-only; it is normally changed via " "the :meth:`addHandler` and :meth:`removeHandler` methods, which use locks to " "ensure thread-safe operation." msgstr "" +"Этот атрибут следует рассматривать как доступный только для чтения; обычно " +"он изменяется с помощью методов :meth:`addHandler` и :meth:`removeHandler`, " +"которые используют блокировки для обеспечения потокобезопасной работы." msgid "" "This attribute disables handling of any events. It is set to ``False`` in " "the initializer, and only changed by logging configuration code." msgstr "" +"Этот атрибут отключает обработку любых событий. В инициализаторе для него " +"установлено значение False, и его можно изменить только при регистрации кода " +"конфигурации." msgid "" "Sets the threshold for this logger to *level*. Logging messages which are " @@ -248,6 +362,12 @@ msgid "" "service this logger, unless a handler's level has been set to a higher " "severity level than *level*." msgstr "" +"Встановлює порогове значення для цього реєстратора на *рівень*. Повідомлення " +"журналу, менш суворі, ніж *рівень*, ігноруватимуться; Повідомлення " +"журналювання, які мають рівень серйозності *рівень* або вищий, будуть " +"випущені будь-яким обробником або обробниками, які обслуговують цей " +"реєстратор, якщо рівень серйозності обробника не встановлено на вищий рівень " +"серйозності, ніж *рівень*." msgid "" "When a logger is created, the level is set to :const:`NOTSET` (which causes " @@ -255,27 +375,42 @@ msgid "" "delegation to the parent when the logger is a non-root logger). Note that " "the root logger is created with level :const:`WARNING`." msgstr "" +"Коли реєстратор створюється, рівень встановлюється на :const:`NOTSET` (що " +"спричиняє обробку всіх повідомлень, коли реєстратор є кореневим " +"реєстратором, або делегування батьківському, якщо реєстратор є некореневим). " +"Зверніть увагу, що кореневий реєстратор створюється з рівнем :const:" +"`WARNING`." msgid "" "The term 'delegation to the parent' means that if a logger has a level of " "NOTSET, its chain of ancestor loggers is traversed until either an ancestor " "with a level other than NOTSET is found, or the root is reached." msgstr "" +"Термін \"делегування батьківському\" означає, що якщо реєстратор має рівень " +"NOTSET, його ланцюжок реєстраторів предків обходиться, доки не буде знайдено " +"предка з рівнем, відмінним від NOTSET, або досягнуто кореня." msgid "" "If an ancestor is found with a level other than NOTSET, then that ancestor's " "level is treated as the effective level of the logger where the ancestor " "search began, and is used to determine how a logging event is handled." msgstr "" +"Якщо знайдено предка з рівнем, відмінним від NOTSET, тоді цей рівень предка " +"розглядається як ефективний рівень реєстратора, з якого почався пошук " +"предка, і використовується для визначення того, як обробляється подія " +"журналювання." msgid "" "If the root is reached, and it has a level of NOTSET, then all messages will " "be processed. Otherwise, the root's level will be used as the effective " "level." msgstr "" +"Якщо кореневий доступ досягнутий і він має рівень NOTSET, то всі " +"повідомлення будуть оброблені. В іншому випадку кореневий рівень буде " +"використано як ефективний рівень." msgid "See :ref:`levels` for a list of levels." -msgstr "" +msgstr "Перегляньте :ref:`levels` список рівнів." msgid "" "The *level* parameter now accepts a string representation of the level such " @@ -284,6 +419,11 @@ msgid "" "such as e.g. :meth:`getEffectiveLevel` and :meth:`isEnabledFor` will return/" "expect to be passed integers." msgstr "" +"Параметр *level* тепер приймає рядкове представлення рівня, наприклад " +"\"INFO\", як альтернативу цілим константам, таким як :const:`INFO`. Однак " +"зауважте, що рівні внутрішньо зберігаються як цілі числа, а такі методи, як, " +"наприклад, :meth:`getEffectiveLevel` і :meth:`isEnabledFor` повертатимуть/" +"очікуватимуть передачу цілих чисел." msgid "" "Indicates if a message of severity *level* would be processed by this " @@ -291,6 +431,10 @@ msgid "" "disable(level)`` and then the logger's effective level as determined by :" "meth:`getEffectiveLevel`." msgstr "" +"Вказує, чи буде оброблено повідомлення *рівня* серйозності цим реєстратором. " +"Цей метод спочатку перевіряє рівень модуля, встановлений ``logging." +"disable(level)``, а потім ефективний рівень реєстратора, визначений :meth:" +"`getEffectiveLevel`." msgid "" "Indicates the effective level for this logger. If a value other than :const:" @@ -299,6 +443,12 @@ msgid "" "`NOTSET` is found, and that value is returned. The value returned is an " "integer, typically one of :const:`logging.DEBUG`, :const:`logging.INFO` etc." msgstr "" +"Вказує ефективний рівень для цього реєстратора. Якщо значення, відмінне від :" +"const:`NOTSET`, було встановлено за допомогою :meth:`setLevel`, воно " +"повертається. В іншому випадку ієрархія переміщається до кореня, доки не " +"буде знайдено значення, відмінне від :const:`NOTSET`, і це значення " +"повертається. Значення, що повертається, є цілим числом, зазвичай одне з :" +"const:`logging.DEBUG`, :const:`logging.INFO` тощо." msgid "" "Returns a logger which is a descendant to this logger, as determined by the " @@ -307,6 +457,11 @@ msgid "" "ghi')``. This is a convenience method, useful when the parent logger is " "named using e.g. ``__name__`` rather than a literal string." msgstr "" +"Повертає реєстратор, який є нащадком цього реєстратора, як визначено " +"суфіксом. Таким чином, ``logging.getLogger('abc').getChild('def.ghi')`` " +"повертатиме той самий реєстратор, який повертає ``logging.getLogger('abc.def." +"ghi')``. Це зручний метод, корисний, коли батьківський реєстратор " +"називається, наприклад, ``__name__``, а не літеральний рядок." msgid "" "Returns a set of loggers which are immediate children of this logger. So for " @@ -316,6 +471,13 @@ msgid "" "might return a set including a logger named ``foo.bar``, but it wouldn't " "include one named ``foo.bar.baz``." msgstr "" +"Возвращает набор средств ведения журнала, которые являются непосредственными " +"дочерними элементами данного средства ведения журнала. Так, например, " +"``logging.getLogger().getChildren()`` может возвращать набор, содержащий " +"регистраторы с именами ``foo`` и ``bar``, но регистратор с именем ``foo." +"bar`` не будет входит в комплект. Аналогично, logging.getLogger('foo')." +"getChildren() может возвращать набор, включающий регистратор с именем foo." +"bar, но не будет включать в себя регистратор с именем foo.bar.baz. `." msgid "" "Logs a message with level :const:`DEBUG` on this logger. The *msg* is the " @@ -325,11 +487,19 @@ msgid "" "argument.) No % formatting operation is performed on *msg* when no *args* " "are supplied." msgstr "" +"Записує повідомлення з рівнем :const:`DEBUG` у цьому реєстраторі. *msg* — це " +"рядок формату повідомлення, а *args* — це аргументи, які об’єднуються в " +"*msg* за допомогою оператора форматування рядка. (Зауважте, що це означає, " +"що ви можете використовувати ключові слова в рядку формату разом із одним " +"аргументом словника.) Операція форматування % не виконується для *msg*, якщо " +"не надано *args*." msgid "" "There are four keyword arguments in *kwargs* which are inspected: " "*exc_info*, *stack_info*, *stacklevel* and *extra*." msgstr "" +"У *kwargs* є чотири аргументи ключових слів, які перевіряються: *exc_info*, " +"*stack_info*, *stacklevel* і *extra*." msgid "" "If *exc_info* does not evaluate as false, it causes exception information to " @@ -338,6 +508,11 @@ msgid "" "is used; otherwise, :func:`sys.exc_info` is called to get the exception " "information." msgstr "" +"Якщо *exc_info* не оцінюється як false, це спричиняє додавання інформації " +"про винятки до повідомлення журналу. Якщо надано кортеж винятків (у форматі, " +"який повертає :func:`sys.exc_info`) або екземпляр винятку, він " +"використовується; інакше :func:`sys.exc_info` викликається для отримання " +"інформації про винятки." msgid "" "The second optional keyword argument is *stack_info*, which defaults to " @@ -349,20 +524,33 @@ msgid "" "have been unwound, following an exception, while searching for exception " "handlers." msgstr "" +"Другим необов’язковим ключовим аргументом є *stack_info*, який за умовчанням " +"має значення ``False``. Якщо значення true, інформація про стек додається до " +"повідомлення журналу, включаючи фактичний виклик журналу. Зауважте, що це " +"інша інформація про стек, яка відображається за допомогою *exc_info*: перша " +"– це кадри стеку від нижньої частини стеку до виклику журналювання в " +"поточному потоці, тоді як остання – це інформація про кадри стеку, які були " +"переглянуті. unwind, після винятку, під час пошуку обробників винятків." msgid "" "You can specify *stack_info* independently of *exc_info*, e.g. to just show " "how you got to a certain point in your code, even when no exceptions were " "raised. The stack frames are printed following a header line which says:" msgstr "" +"Ви можете вказати *stack_info* незалежно від *exc_info*, наприклад. щоб " +"просто показати, як ви дійшли до певної точки у своєму коді, навіть якщо " +"винятків не було викликано. Фрейми стека друкуються після рядка заголовка, " +"який говорить:" msgid "Stack (most recent call last):" -msgstr "" +msgstr "Стек (последний вызов последний):" msgid "" "This mimics the ``Traceback (most recent call last):`` which is used when " "displaying exception frames." msgstr "" +"Це імітує ``Traceback (останній останній виклик):``, який використовується " +"під час відображення кадрів винятків." msgid "" "The third optional keyword argument is *stacklevel*, which defaults to " @@ -374,6 +562,14 @@ msgid "" "name of this parameter mirrors the equivalent one in the :mod:`warnings` " "module." msgstr "" +"Третій необов’язковий аргумент ключового слова — *stacklevel*, який за " +"замовчуванням має значення \"1\". Якщо більше 1, відповідна кількість кадрів " +"стека пропускається під час обчислення номера рядка та назви функції, " +"встановленої в :class:`LogRecord`, створеному для події журналювання. Це " +"можна використовувати в помічниках журналювання, щоб ім’я функції, ім’я " +"файлу та номер рядка були записані не для допоміжної функції/методу, а для " +"її викликаючого. Назва цього параметра відображає еквівалентну назву в " +"модулі :mod:`warnings`." msgid "" "The fourth keyword argument is *extra* which can be used to pass a " @@ -382,6 +578,12 @@ msgid "" "attributes. These custom attributes can then be used as you like. For " "example, they could be incorporated into logged messages. For example::" msgstr "" +"Четвертый аргумент ключевого слова — *extra*, который можно использовать для " +"передачи словаря, который используется для заполнения :attr:`~object." +"__dict__` :class:`LogRecord`, созданного для события регистрации, " +"определяемыми пользователем атрибутами. Эти пользовательские атрибуты затем " +"можно использовать по своему усмотрению. Например, они могут быть включены в " +"зарегистрированные сообщения. Например::" msgid "" "FORMAT = '%(asctime)s %(clientip)-15s %(user)-8s %(message)s'\n" @@ -390,20 +592,31 @@ msgid "" "logger = logging.getLogger('tcpserver')\n" "logger.warning('Protocol problem: %s', 'connection reset', extra=d)" msgstr "" +"FORMAT = '%(asctime)s %(clientip)-15s %(user)-8s %(message)s'\n" +"logging.basicConfig(format=FORMAT)\n" +"d = {'clientip': '192.168.0.1', 'user': 'fbloggs'}\n" +"logger = logging.getLogger('tcpserver')\n" +"logger.warning('Protocol problem: %s', 'connection reset', extra=d)" msgid "would print something like" -msgstr "" +msgstr "надрукував би щось подібне" msgid "" "2006-02-08 22:20:02,165 192.168.0.1 fbloggs Protocol problem: connection " "reset" msgstr "" +"2006-02-08 22:20:02,165 192.168.0.1 fbloggs Protocol problem: connection " +"reset" msgid "" "The keys in the dictionary passed in *extra* should not clash with the keys " "used by the logging system. (See the section on :ref:`logrecord-attributes` " "for more information on which keys are used by the logging system.)" msgstr "" +"Ключи в словаре, переданные в *extra*, не должны конфликтовать с ключами, " +"используемыми системой журналирования. (Для получения дополнительной " +"информации о том, какие ключи используются системой журналирования, см. " +"раздел :ref:`logrecord-attributes`.)" msgid "" "If you choose to use these attributes in logged messages, you need to " @@ -414,6 +627,13 @@ msgid "" "exception will occur. So in this case, you always need to pass the *extra* " "dictionary with these keys." msgstr "" +"Якщо ви вирішите використовувати ці атрибути в зареєстрованих повідомленнях, " +"вам потрібно бути обережними. У наведеному вище прикладі, наприклад, :class:" +"`Formatter` було налаштовано за допомогою рядка формату, який очікує " +"'clientip' і 'user' у словнику атрибутів :class:`LogRecord`. Якщо вони " +"відсутні, повідомлення не буде зареєстровано, оскільки виникне виняток " +"форматування рядка. Тому в цьому випадку вам завжди потрібно передавати " +"*додатковий* словник за допомогою цих ключів." msgid "" "While this might be annoying, this feature is intended for use in " @@ -424,52 +644,75 @@ msgid "" "likely that specialized :class:`Formatter`\\ s would be used with " "particular :class:`Handler`\\ s." msgstr "" +"Хоча це може дратувати, ця функція призначена для використання в особливих " +"умовах, наприклад, на багатопоточних серверах, де той самий код виконується " +"в багатьох контекстах, і цікаві умови, які виникають, залежать від цього " +"контексту (наприклад, IP-адреса віддаленого клієнта та автентифікований ім’я " +"користувача, у наведеному вище прикладі). За таких обставин цілком імовірно, " +"що спеціалізовані :class:`Formatter`\\ s будуть використовуватися з певними :" +"class:`Handler`\\ s." msgid "" "If no handler is attached to this logger (or any of its ancestors, taking " "into account the relevant :attr:`Logger.propagate` attributes), the message " "will be sent to the handler set on :data:`lastResort`." msgstr "" +"Если к этому регистратору (или любому из его предков, принимая во внимание " +"соответствующие атрибуты :attr:`Logger.propagate`) не прикреплен обработчик, " +"сообщение будет отправлено обработчику, установленному в :data:`lastResort`." msgid "The *stack_info* parameter was added." -msgstr "" +msgstr "Додано параметр *stack_info*." msgid "The *exc_info* parameter can now accept exception instances." -msgstr "" +msgstr "Параметр *exc_info* тепер може приймати винятки." msgid "The *stacklevel* parameter was added." -msgstr "" +msgstr "Додано параметр *stacklevel*." msgid "" "Logs a message with level :const:`INFO` on this logger. The arguments are " "interpreted as for :meth:`debug`." msgstr "" +"Записує повідомлення з рівнем :const:`INFO` у цьому реєстраторі. Аргументи " +"інтерпретуються як для :meth:`debug`." msgid "" "Logs a message with level :const:`WARNING` on this logger. The arguments are " "interpreted as for :meth:`debug`." msgstr "" +"Записує повідомлення з рівнем :const:`WARNING` до цього реєстратора. " +"Аргументи інтерпретуються як для :meth:`debug`." msgid "" "There is an obsolete method ``warn`` which is functionally identical to " "``warning``. As ``warn`` is deprecated, please do not use it - use " "``warning`` instead." msgstr "" +"Існує застарілий метод ``warn``, який функціонально ідентичний ``warning``. " +"Оскільки ``попередження`` є застарілим, будь ласка, не використовуйте його - " +"використовуйте замість нього ``попередження``." msgid "" "Logs a message with level :const:`ERROR` on this logger. The arguments are " "interpreted as for :meth:`debug`." msgstr "" +"Записує повідомлення з рівнем :const:`ERROR` у цьому реєстраторі. Аргументи " +"інтерпретуються як для :meth:`debug`." msgid "" "Logs a message with level :const:`CRITICAL` on this logger. The arguments " "are interpreted as for :meth:`debug`." msgstr "" +"Записує повідомлення з рівнем :const:`CRITICAL` до цього реєстратора. " +"Аргументи інтерпретуються як для :meth:`debug`." msgid "" "Logs a message with integer level *level* on this logger. The other " "arguments are interpreted as for :meth:`debug`." msgstr "" +"Записує повідомлення з цілочисельним рівнем *level* у цьому реєстраторі. " +"Інші аргументи інтерпретуються як для :meth:`debug`." msgid "" "Logs a message with level :const:`ERROR` on this logger. The arguments are " @@ -482,10 +725,10 @@ msgstr "" "klauzuli ``except``." msgid "Adds the specified filter *filter* to this logger." -msgstr "" +msgstr "Додає вказаний фільтр *filter* до цього реєстратора." msgid "Removes the specified filter *filter* from this logger." -msgstr "" +msgstr "Видаляє вказаний фільтр *filter* з цього реєстратора." msgid "" "Apply this logger's filters to the record and return ``True`` if the record " @@ -494,18 +737,27 @@ msgid "" "be processed (passed to handlers). If one returns a false value, no further " "processing of the record occurs." msgstr "" +"Застосуйте фільтри цього реєстратора до запису та поверніть ``True``, якщо " +"запис потрібно обробити. Фільтри перевіряються по черзі, поки один із них не " +"поверне хибне значення. Якщо жоден із них не повертає хибне значення, запис " +"буде оброблено (передано обробникам). Якщо повертається хибне значення, " +"подальша обробка запису не відбувається." msgid "Adds the specified handler *hdlr* to this logger." -msgstr "" +msgstr "Додає вказаний обробник *hdlr* до цього реєстратора." msgid "Removes the specified handler *hdlr* from this logger." -msgstr "" +msgstr "Видаляє вказаний обробник *hdlr* із цього реєстратора." msgid "" "Finds the caller's source filename and line number. Returns the filename, " "line number, function name and stack information as a 4-element tuple. The " "stack information is returned as ``None`` unless *stack_info* is ``True``." msgstr "" +"Знаходить назву вихідного файлу абонента та номер рядка. Повертає назву " +"файлу, номер рядка, назву функції та інформацію про стек у вигляді 4-" +"елементного кортежу. Інформація про стек повертається як ``None``, якщо " +"*stack_info* не має значення ``True``." msgid "" "The *stacklevel* parameter is passed from code calling the :meth:`debug` and " @@ -515,6 +767,12 @@ msgid "" "in the event log refers not to the helper/wrapper code, but to the code that " "calls it." msgstr "" +"Параметр *stacklevel* передається з коду, який викликає :meth:`debug` та " +"інші API. Якщо більше 1, надлишок використовується для пропуску кадрів стека " +"перед визначенням значень, які потрібно повернути. Як правило, це буде " +"корисно під час виклику API реєстрації з допоміжного коду/обгортки, щоб " +"інформація в журналі подій стосувалася не допоміжного/оболонкового коду, а " +"коду, який його викликає." msgid "" "Handles a record by passing it to all handlers associated with this logger " @@ -523,11 +781,18 @@ msgid "" "created locally. Logger-level filtering is applied using :meth:`~Logger." "filter`." msgstr "" +"Обробляє запис, передаючи його всім обробникам, пов’язаним із цим " +"реєстратором та його предками (поки не буде знайдено хибне значення " +"*propagate*). Цей метод використовується для невибраних записів, отриманих " +"із сокета, а також тих, що створюються локально. Фільтрування на рівні " +"реєстратора застосовується за допомогою :meth:`~Logger.filter`." msgid "" "This is a factory method which can be overridden in subclasses to create " "specialized :class:`LogRecord` instances." msgstr "" +"Це фабричний метод, який можна замінити в підкласах для створення " +"спеціалізованих екземплярів :class:`LogRecord`." msgid "" "Checks to see if this logger has any handlers configured. This is done by " @@ -537,12 +802,18 @@ msgid "" "set to false is found - that will be the last logger which is checked for " "the existence of handlers." msgstr "" +"Перевіряє, чи цей реєстратор має налаштовані обробники. Це робиться шляхом " +"пошуку обробників у цьому реєстраторі та його батьків в ієрархії " +"реєстратора. Повертає ``True``, якщо обробник знайдено, інакше ``False``. " +"Метод припиняє пошук в ієрархії щоразу, коли знайдено реєстратор з атрибутом " +"'propagate', встановленим на false - це буде останній реєстратор, який " +"перевіряється на наявність обробників." msgid "Loggers can now be pickled and unpickled." -msgstr "" +msgstr "Лісоруби тепер можна маринувати та не пикувати." msgid "Logging Levels" -msgstr "" +msgstr "Рівні реєстрації" msgid "" "The numeric values of logging levels are given in the following table. These " @@ -551,15 +822,20 @@ msgid "" "define a level with the same numeric value, it overwrites the predefined " "value; the predefined name is lost." msgstr "" +"Числові значення рівнів журналювання наведені в наступній таблиці. Це " +"насамперед цікаво, якщо ви бажаєте визначити власні рівні та потребуєте, щоб " +"вони мали певні значення відносно попередньо визначених рівнів. Якщо ви " +"визначаєте рівень з тим самим числовим значенням, він перезаписує попередньо " +"визначене значення; попередньо визначене ім'я втрачено." msgid "Level" -msgstr "" +msgstr "Level" msgid "Numeric value" -msgstr "" +msgstr "Nilai angka" msgid "What it means / When to use it" -msgstr "" +msgstr "Что это значит / Когда это использовать" msgid "0" msgstr "0" @@ -569,6 +845,10 @@ msgid "" "determine the effective level. If that still resolves to :const:`!NOTSET`, " "then all events are logged. When set on a handler, all events are handled." msgstr "" +"При установке на регистраторе указывает, что для определения эффективного " +"уровня необходимо проконсультироваться с родительскими регистраторами. Если " +"это по-прежнему приводит к :const:`!NOTSET`, то все события записываются. " +"Если он установлен в обработчике, обрабатываются все события." msgid "10" msgstr "10" @@ -577,12 +857,14 @@ msgid "" "Detailed information, typically only of interest to a developer trying to " "diagnose a problem." msgstr "" +"Подробная информация, обычно представляющая интерес только для разработчика, " +"пытающегося диагностировать проблему." msgid "20" msgstr "20" msgid "Confirmation that things are working as expected." -msgstr "" +msgstr "Підтвердження того, що все працює належним чином." msgid "30" msgstr "30" @@ -592,6 +874,9 @@ msgid "" "occur in the near future (e.g. 'disk space low'). The software is still " "working as expected." msgstr "" +"Указание на то, что произошло что-то неожиданное или что в ближайшем будущем " +"может возникнуть проблема (например, «недостаточно места на диске»). " +"Программное обеспечение по-прежнему работает должным образом." msgid "40" msgstr "40" @@ -600,6 +885,8 @@ msgid "" "Due to a more serious problem, the software has not been able to perform " "some function." msgstr "" +"Через більш серйозну проблему програмне забезпечення не може виконувати " +"деякі функції." msgid "50" msgstr "50" @@ -608,9 +895,10 @@ msgid "" "A serious error, indicating that the program itself may be unable to " "continue running." msgstr "" +"Серйозна помилка, яка вказує на те, що сама програма може не працювати далі." msgid "Handler Objects" -msgstr "" +msgstr "Об’єкти обробки" msgid "" "Handlers have the following attributes and methods. Note that :class:" @@ -618,45 +906,64 @@ msgid "" "useful subclasses. However, the :meth:`!__init__` method in subclasses needs " "to call :meth:`Handler.__init__`." msgstr "" +"Обработчики имеют следующие атрибуты и методы. Обратите внимание, что :class:" +"`Handler` никогда не создается напрямую; этот класс служит основой для более " +"полезных подклассов. Однако метод :meth:`!__init__` в подклассах должен " +"вызывать :meth:`Handler.__init__`." msgid "" "Initializes the :class:`Handler` instance by setting its level, setting the " "list of filters to the empty list and creating a lock (using :meth:" "`createLock`) for serializing access to an I/O mechanism." msgstr "" +"Ініціалізує екземпляр :class:`Handler`, встановлюючи його рівень, " +"встановлюючи список фільтрів у порожній список і створюючи блокування (за " +"допомогою :meth:`createLock`) для серіалізації доступу до механізму введення-" +"виведення." msgid "" "Initializes a thread lock which can be used to serialize access to " "underlying I/O functionality which may not be threadsafe." msgstr "" +"Ініціалізує блокування потоку, який можна використовувати для серіалізації " +"доступу до основної функції введення-виведення, яка може бути небезпечною " +"для потоків." msgid "Acquires the thread lock created with :meth:`createLock`." -msgstr "" +msgstr "Отримує блокування потоку, створене за допомогою :meth:`createLock`." msgid "Releases the thread lock acquired with :meth:`acquire`." -msgstr "" +msgstr "Звільняє блокування потоку, отримане за допомогою :meth:`acquire`." msgid "" "Sets the threshold for this handler to *level*. Logging messages which are " "less severe than *level* will be ignored. When a handler is created, the " "level is set to :const:`NOTSET` (which causes all messages to be processed)." msgstr "" +"Встановлює порогове значення для цього обробника на *рівень*. Повідомлення " +"журналу, менш суворі, ніж *рівень*, ігноруватимуться. Коли обробник " +"створюється, рівень встановлюється на :const:`NOTSET` (що спричиняє обробку " +"всіх повідомлень)." msgid "" "The *level* parameter now accepts a string representation of the level such " "as 'INFO' as an alternative to the integer constants such as :const:`INFO`." msgstr "" +"Параметр *level* тепер приймає рядкове представлення рівня, наприклад " +"\"INFO\", як альтернативу цілим константам, таким як :const:`INFO`." msgid "" "Sets the formatter for this handler to *fmt*. The *fmt* argument must be a :" "class:`Formatter` instance or ``None``." msgstr "" +"将处理器的格式设为 *fmt*。 *fmt* 参数必须为 :class:`Formatter` 实例或 " +"``None``。" msgid "Adds the specified filter *filter* to this handler." -msgstr "" +msgstr "Додає вказаний фільтр *filter* до цього обробника." msgid "Removes the specified filter *filter* from this handler." -msgstr "" +msgstr "Видаляє вказаний фільтр *filter* з цього обробника." msgid "" "Apply this handler's filters to the record and return ``True`` if the record " @@ -665,28 +972,40 @@ msgid "" "be emitted. If one returns a false value, the handler will not emit the " "record." msgstr "" +"Застосуйте фільтри цього обробника до запису та поверніть ``True``, якщо " +"запис потрібно обробити. Фільтри перевіряються по черзі, доки один із них не " +"поверне хибне значення. Якщо жоден із них не повертає хибне значення, запис " +"буде видано. Якщо повертається хибне значення, обробник не видасть запис." msgid "" "Ensure all logging output has been flushed. This version does nothing and is " "intended to be implemented by subclasses." msgstr "" +"Переконайтеся, що всі вихідні дані журналу скинуто. Ця версія нічого не " +"робить і призначена для реалізації підкласами." msgid "" "Tidy up any resources used by the handler. This version does no output but " "removes the handler from an internal map of handlers, which is used for " "handler lookup by name." msgstr "" +"Очистите все ресурсы, используемые обработчиком. Эта версия не выводит " +"данные, но удаляет обработчик из внутренней карты обработчиков, которая " +"используется для поиска обработчика по имени." msgid "" "Subclasses should ensure that this gets called from overridden :meth:`close` " "methods." -msgstr "" +msgstr "子类应当通过重写 :meth:`close` 方法确保它会被调用。" msgid "" "Conditionally emits the specified logging record, depending on filters which " "may have been added to the handler. Wraps the actual emission of the record " "with acquisition/release of the I/O thread lock." msgstr "" +"Умовно створює вказаний запис журналу залежно від фільтрів, які могли бути " +"додані до обробника. Обгортає фактичний випуск запису з отриманням/" +"вивільненням блокування потоку вводу-виводу." msgid "" "This method should be called from handlers when an exception is encountered " @@ -699,17 +1018,33 @@ msgid "" "occurred. (The default value of :data:`raiseExceptions` is ``True``, as that " "is more useful during development)." msgstr "" +"Этот метод следует вызывать из обработчиков, когда во время вызова :meth:" +"`emit` встречается исключение. Если атрибут уровня модуля :data:" +"`raiseExceptions` имеет значение ``False``, исключения игнорируются. Это то, " +"чего больше всего хотят от системы журналирования — большинство " +"пользователей не будут интересоваться ошибками в системе журналирования, их " +"больше интересуют ошибки приложений. Однако при желании вы можете заменить " +"его собственным обработчиком. Указанная запись — это та, которая " +"обрабатывалась в момент возникновения исключения. (Значение по умолчанию :" +"data:`raiseExceptions` — ``True``, так как это более полезно во время " +"разработки)." msgid "" "Do formatting for a record - if a formatter is set, use it. Otherwise, use " "the default formatter for the module." msgstr "" +"Виконайте форматування для запису - якщо встановлено форматувальник, " +"використовуйте його. В іншому випадку використовуйте стандартний формататор " +"для модуля." msgid "" "Do whatever it takes to actually log the specified logging record. This " "version is intended to be implemented by subclasses and so raises a :exc:" "`NotImplementedError`." msgstr "" +"Зробіть усе можливе, щоб фактично зареєструвати вказаний запис журналу. Ця " +"версія призначена для реалізації підкласами, тому викликає :exc:" +"`NotImplementedError`." msgid "" "This method is called after a handler-level lock is acquired, which is " @@ -718,11 +1053,19 @@ msgid "" "logging API which might do locking, because that might result in a deadlock. " "Specifically:" msgstr "" +"Этот метод вызывается после получения блокировки на уровне обработчика, " +"которая снимается после возврата этого метода. При переопределении этого " +"метода обратите внимание, что вам следует быть осторожным при вызове всего, " +"что вызывает другие части API ведения журнала, которые могут выполнять " +"блокировку, поскольку это может привести к взаимоблокировке. Конкретно:" msgid "" "Logging configuration APIs acquire the module-level lock, and then " "individual handler-level locks as those handlers are configured." msgstr "" +"API конфигурации ведения журнала получают блокировку на уровне модуля, а " +"затем отдельные блокировки на уровне обработчика по мере настройки этих " +"обработчиков." msgid "" "Many logging APIs lock the module-level lock. If such an API is called from " @@ -732,18 +1075,27 @@ msgid "" "the module-level lock *after* the handler-level lock (because in this " "method, the handler-level lock has already been acquired)." msgstr "" +"Многие API-интерфейсы ведения журналов блокируют блокировку на уровне " +"модуля. Если такой API вызывается из этого метода, это может вызвать " +"взаимоблокировку, если вызов конфигурации выполняется в другом потоке, " +"поскольку этот поток попытается получить блокировку уровня модуля *перед* " +"блокировкой уровня обработчика, тогда как этот поток пытается для получения " +"блокировки уровня модуля *после* блокировки уровня обработчика (поскольку в " +"этом методе блокировка уровня обработчика уже получена)." msgid "" "For a list of handlers included as standard, see :mod:`logging.handlers`." -msgstr "" +msgstr "Перелік стандартних обробників див. :mod:`logging.handlers`." msgid "Formatter Objects" -msgstr "" +msgstr "Об’єкти форматування" msgid "" "Responsible for converting a :class:`LogRecord` to an output string to be " "interpreted by a human or external system." msgstr "" +"Отвечает за преобразование :class:`LogRecord` в выходную строку, которая " +"будет интерпретирована человеком или внешней системой." msgid "Parameters" msgstr "parametry" @@ -754,12 +1106,19 @@ msgid "" "`logrecord-attributes`. If not specified, ``'%(message)s'`` is used, which " "is just the logged message." msgstr "" +"Строка формата в заданном *стиле* для зарегистрированного вывода в целом. " +"Возможные ключи сопоставления извлекаются из объекта :class:`LogRecord` :ref:" +"`logrecord-attributes`. Если не указано, ``' %(сообщение)с используется '``, " +"который представляет собой просто зарегистрированное сообщение." 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." msgstr "" +"Строка формата в заданном *стиле* для части даты/времени записываемого " +"вывода. Если не указано, используется значение по умолчанию, описанное в :" +"meth:`formatTime`." msgid "" "Can be one of ``'%'``, ``'{'`` or ``'$'`` and determines how the format " @@ -770,26 +1129,40 @@ msgid "" "logging methods. However, there are :ref:`other ways ` to " "use ``{``- and ``$``-formatting for log messages." msgstr "" +"Может быть одним из ``'%'``, ``'{'`` или ``'$'`` и определяет, как строка " +"формата будет объединена с ее данными: используя один из :ref:`old-string -" +"formatting` (``%``), :meth:`str.format` (``{``) или :class:`string.Template` " +"(``$``). Это применимо только к *fmt* и *datefmt* (например, ``' " +"%(сообщение)с '`` по сравнению с ``'{message}'``), а не фактическими " +"сообщениями журнала, передаваемыми методам журналирования. Однако " +"существуют :ref:`другие способы ` использовать ``{``- и " +"``$``-форматирование для сообщений журнала." msgid "" "If ``True`` (the default), incorrect or mismatched *fmt* and *style* will " "raise a :exc:`ValueError`; for example, ``logging.Formatter('%(asctime)s - " "%(message)s', style='{')``." msgstr "" +"Если ``True`` (по умолчанию), неправильные или несовпадающие *fmt* и *style* " +"вызовут ошибку :exc:`ValueError`; например, ``logging.Formatter(' %(время по " +"возрастанию) с - %(сообщение)с ', стиль='{')``." msgid "" "A dictionary with default values to use in custom fields. For example, " "``logging.Formatter('%(ip)s %(message)s', defaults={\"ip\": None})``" msgstr "" +"Словарь со значениями по умолчанию для использования в настраиваемых полях. " +"Например, ``logging.Formatter(' %(ip)с %(сообщение)с ', defaults={\"ip\": " +"Нет})``" msgid "Added the *style* parameter." -msgstr "" +msgstr "Добавлен параметр *style*." msgid "Added the *validate* parameter." -msgstr "" +msgstr "Добавлен параметр *validate*." msgid "Added the *defaults* parameter." -msgstr "" +msgstr "Добавлен параметр *defaults*." msgid "" "The record's attribute dictionary is used as the operand to a string " @@ -808,11 +1181,29 @@ msgid "" "the next formatter to handle the event doesn't use the cached value, but " "recalculates it afresh." msgstr "" +"Словник атрибутів запису використовується як операнд для операції " +"форматування рядка. Повертає отриманий рядок. Перед форматуванням словника " +"виконується кілька підготовчих кроків. Атрибут *message* запису обчислюється " +"за допомогою *msg* % *args*. Якщо рядок форматування містить " +"``'(asctime)'``, :meth:`formatTime` викликається для форматування часу " +"події. Якщо є інформація про винятки, вона форматується за допомогою :meth:" +"`formatException` і додається до повідомлення. Зауважте, що відформатована " +"інформація про винятки кешується в атрибуті *exc_text*. Це корисно, оскільки " +"інформацію про винятки можна відібрати та надіслати по мережі, але ви " +"повинні бути обережними, якщо у вас є більше одного підкласу :class:" +"`Formatter`, який налаштовує форматування інформації про винятки. У цьому " +"випадку вам доведеться очистити кешоване значення (встановивши для атрибута " +"*exc_text* значення ``None``) після того, як засіб форматування виконає своє " +"форматування, щоб наступний засіб форматування для обробки події не " +"використовував кешований значення, але перераховує його заново." msgid "" "If stack information is available, it's appended after the exception " "information, using :meth:`formatStack` to transform it if necessary." msgstr "" +"Якщо інформація про стек доступна, вона додається після інформації про " +"винятки, використовуючи :meth:`formatStack` для її перетворення, якщо " +"необхідно." msgid "" "This method should be called from :meth:`format` by a formatter which wants " @@ -825,6 +1216,14 @@ msgid "" "An example time in this format is ``2003-01-23 00:29:50,411``. The " "resulting string is returned." msgstr "" +"Цей метод має викликатися з :meth:`format` програмою форматування, яка бажає " +"використати відформатований час. Цей метод можна замінити у форматах для " +"забезпечення будь-якої конкретної вимоги, але основна поведінка така: якщо " +"вказано *datefmt* (рядок), він використовується з :func:`time.strftime` для " +"форматування часу створення запису. В іншому випадку використовується формат " +"\"%Y-%m-%d %H:%M:%S,uuu\", де частина uuu є значенням у мілісекундах, а інші " +"літери відповідають :func:`time.strftime` документація. Прикладом часу в " +"цьому форматі є ``2003-01-23 00:29:50,411``. Повертається отриманий рядок." msgid "" "This function uses a user-configurable function to convert the creation time " @@ -834,6 +1233,13 @@ msgid "" "change it for all formatters, for example if you want all logging times to " "be shown in GMT, set the ``converter`` attribute in the ``Formatter`` class." msgstr "" +"Ця функція використовує настроювану користувачем функцію для перетворення " +"часу створення в кортеж. За замовчуванням використовується :func:`time." +"localtime`; щоб змінити це для конкретного екземпляра форматера, встановіть " +"атрибут ``converter`` на функцію з тим самим підписом, що й :func:`time." +"localtime` або :func:`time.gmtime`. Щоб змінити його для всіх засобів " +"форматування, наприклад, якщо ви хочете, щоб усі часи журналювання " +"відображалися за GMT, установіть атрибут ``converter`` у класі ``Formatter``." msgid "" "Previously, the default format was hard-coded as in this example: " @@ -848,9 +1254,19 @@ msgid "" "(for the strptime format string) and ``default_msec_format`` (for appending " "the millisecond value)." msgstr "" +"Раніше формат за замовчуванням був жорстко закодований, як у цьому прикладі: " +"``2010-09-06 22:38:15,292``, де частина перед комою обробляється рядком " +"формату strptime (``'%Y-%m -%d %H:%M:%S''``), а частина після коми є " +"значенням у мілісекундах. Оскільки strptime не має заповнювача формату для " +"мілісекунд, значення мілісекунди додається за допомогою іншого рядка " +"формату, ``'%s,%03d''`` --- і обидва ці рядки формату були жорстко " +"закодовані в цьому методі. Зі зміною ці рядки визначаються як атрибути рівня " +"класу, які за бажанням можна замінити на рівні екземпляра. Назви атрибутів: " +"``default_time_format`` (для рядка формату strptime) і " +"``default_msec_format`` (для додавання значення в мілісекундах)." msgid "The ``default_msec_format`` can be ``None``." -msgstr "" +msgstr "``default_msec_format`` може бути ``None``." msgid "" "Formats the specified exception information (a standard exception tuple as " @@ -858,12 +1274,18 @@ msgid "" "just uses :func:`traceback.print_exception`. The resulting string is " "returned." msgstr "" +"Форматує вказану інформацію про винятки (стандартний кортеж винятків, який " +"повертає :func:`sys.exc_info`) як рядок. Ця реалізація за умовчанням просто " +"використовує :func:`traceback.print_exception`. Повертається отриманий рядок." msgid "" "Formats the specified stack information (a string as returned by :func:" "`traceback.print_stack`, but with the last newline removed) as a string. " "This default implementation just returns the input value." msgstr "" +"Форматує вказану інформацію про стек (рядок, який повертає :func:`traceback." +"print_stack`, але з видаленням останнього нового рядка) як рядок. Ця " +"реалізація за умовчанням лише повертає вхідне значення." msgid "" "A base formatter class suitable for subclassing when you want to format a " @@ -872,6 +1294,12 @@ msgid "" "specified, the default formatter (which just outputs the event message) is " "used as the line formatter." msgstr "" +"Базовый класс форматтера, подходящий для создания подклассов, если вы хотите " +"отформатировать несколько записей. Вы можете передать экземпляр :class:" +"`Formatter`, который вы хотите использовать для форматирования каждой строки " +"(которая соответствует одной записи). Если не указано, форматировщик по " +"умолчанию (который просто выводит сообщение о событии) используется в " +"качестве форматировщика строки." msgid "" "Return a header for a list of *records*. The base implementation just " @@ -879,12 +1307,20 @@ msgid "" "specific behaviour, e.g. to show the count of records, a title or a " "separator line." msgstr "" +"Возвращает заголовок списка *записей*. Базовая реализация просто возвращает " +"пустую строку. Вам нужно будет переопределить этот метод, если вы хотите " +"определенное поведение, например, чтобы показать количество записей, " +"заголовок или разделительную строку." msgid "" "Return a footer for a list of *records*. The base implementation just " "returns the empty string. You will need to override this method if you want " "specific behaviour, e.g. to show the count of records or a separator line." msgstr "" +"Возвращает нижний колонтитул для списка *записей*. Базовая реализация просто " +"возвращает пустую строку. Вам нужно будет переопределить этот метод, если вы " +"хотите определенное поведение, например, чтобы показать количество записей " +"или разделительную линию." msgid "" "Return formatted text for a list of *records*. The base implementation just " @@ -892,9 +1328,13 @@ msgid "" "concatenation of the header, each record formatted with the line formatter, " "and the footer." msgstr "" +"Возвращает форматированный текст для списка *записей*. Базовая реализация " +"просто возвращает пустую строку, если записей нет; в противном случае он " +"возвращает объединение заголовка, каждой записи, отформатированной с помощью " +"средства форматирования строк, и нижнего колонтитула." msgid "Filter Objects" -msgstr "" +msgstr "Фільтр об'єктів" msgid "" "``Filters`` can be used by ``Handlers`` and ``Loggers`` for more " @@ -904,6 +1344,13 @@ msgid "" "loggers 'A.B', 'A.B.C', 'A.B.C.D', 'A.B.D' etc. but not 'A.BB', 'B.A.B' etc. " "If initialized with the empty string, all events are passed." msgstr "" +"``Фільтри`` можуть використовуватися ``Обробниками`` і ``Реєстраторами`` для " +"більш складної фільтрації, ніж передбачено рівнями. Базовий клас фільтра " +"дозволяє лише події, які знаходяться нижче певної точки в ієрархії " +"реєстратора. Наприклад, фільтр, ініціалізований \"A.B\", дозволить події, " +"зареєстровані реєстраторами \"A.B\", \"A.B.C\", \"A.B.C.D\", \"A.B.D\" тощо, " +"але не \"A.BB\", \"B.A.B\" тощо. Якщо ініціалізовано порожнім рядком, усі " +"події передаються." msgid "" "Returns an instance of the :class:`Filter` class. If *name* is specified, it " @@ -911,6 +1358,9 @@ msgid "" "allowed through the filter. If *name* is the empty string, allows every " "event." msgstr "" +"Повертає екземпляр класу :class:`Filter`. Якщо вказано *ім’я*, воно називає " +"реєстратор, події якого разом із дочірніми елементами будуть дозволені через " +"фільтр. Якщо *ім’я* є порожнім рядком, дозволяється кожна подія." msgid "" "Is the specified record to be logged? Returns false for no, true for yes. " @@ -918,6 +1368,10 @@ msgid "" "different record instance which will replace the original log record in any " "future processing of the event." msgstr "" +"Должна ли быть зарегистрирована указанная запись? Возвращает false в случае " +"«нет», true в случае «да». Фильтры могут либо изменять записи журнала на " +"месте, либо возвращать совершенно другой экземпляр записи, который заменит " +"исходную запись журнала при любой будущей обработке события." msgid "" "Note that filters attached to handlers are consulted before an event is " @@ -927,11 +1381,20 @@ msgid "" "generated by descendant loggers will not be filtered by a logger's filter " "setting, unless the filter has also been applied to those descendant loggers." msgstr "" +"Зауважте, що фільтри, приєднані до обробників, звертаються до того, як " +"обробник випустить подію, тоді як фільтри, приєднані до реєстраторів, " +"звертаються до кожного, коли подія реєструється (за допомогою :meth:" +"`debug`, :meth:`info` тощо), до відправка події обробникам. Це означає, що " +"події, які були згенеровані нащадками реєстраторів, не будуть відфільтровані " +"налаштуваннями фільтра реєстратора, якщо фільтр також не застосовано до цих " +"нащадків реєстраторів." msgid "" "You don't actually need to subclass ``Filter``: you can pass any instance " "which has a ``filter`` method with the same semantics." msgstr "" +"Насправді вам не потрібно створювати підклас ``Filter``: ви можете передати " +"будь-який екземпляр, який має метод ``filter`` з тією самою семантикою." msgid "" "You don't need to create specialized ``Filter`` classes, or use other " @@ -942,6 +1405,13 @@ msgid "" "callable and called with the record as the single parameter. The returned " "value should conform to that returned by :meth:`~Filter.filter`." msgstr "" +"Вам не потрібно створювати спеціалізовані класи ``Filter`` або " +"використовувати інші класи з методом ``filter``: ви можете використовувати " +"функцію (або інший виклик) як фільтр. Логіка фільтрації перевірить, чи має " +"об’єкт фільтра атрибут ``filter``: якщо він має, він вважається ``Filter`` і " +"викликається його метод :meth:`~Filter.filter`. В іншому випадку вважається, " +"що він викликається та викликається із записом як єдиним параметром. " +"Повернене значення має відповідати тому, яке повертає :meth:`~Filter.filter`." msgid "" "You can now return a :class:`LogRecord` instance from filters to replace the " @@ -949,6 +1419,10 @@ msgid "" "to a :class:`Handler` to modify the log record before it is emitted, without " "having side effects on other handlers." msgstr "" +"Теперь вы можете вернуть экземпляр :class:`LogRecord` из фильтров, чтобы " +"заменить запись журнала, а не изменять ее на месте. Это позволяет фильтрам, " +"прикрепленным к :class:`Handler`, изменять запись журнала до ее создания, не " +"оказывая побочных эффектов на другие обработчики." msgid "" "Although filters are used primarily to filter records based on more " @@ -960,9 +1434,17 @@ msgid "" "needs to be done with some care, but it does allow the injection of " "contextual information into logs (see :ref:`filters-contextual`)." msgstr "" +"Хоча фільтри використовуються в основному для фільтрації записів на основі " +"більш складних критеріїв, ніж рівні, вони бачать кожен запис, який " +"обробляється обробником або реєстратором, до якого вони підключені: це може " +"бути корисним, якщо ви хочете зробити щось, наприклад, підрахувати, скільки " +"записи були оброблені певним реєстратором чи обробником, або додаванням, " +"зміною чи видаленням атрибутів у :class:`LogRecord`, що обробляється. " +"Очевидно, змінювати LogRecord потрібно з певною обережністю, але це дозволяє " +"вставляти контекстну інформацію в журнали (див. :ref:`filters-contextual`)." msgid "LogRecord Objects" -msgstr "" +msgstr "Об'єкти LogRecord" msgid "" ":class:`LogRecord` instances are created automatically by the :class:" @@ -970,14 +1452,19 @@ msgid "" "func:`makeLogRecord` (for example, from a pickled event received over the " "wire)." msgstr "" +"Екземпляри :class:`LogRecord` створюються автоматично :class:`Logger` " +"щоразу, коли щось реєструється, і можуть бути створені вручну за допомогою :" +"func:`makeLogRecord` (наприклад, з марінованої події, отриманої по мережі)." msgid "Contains all the information pertinent to the event being logged." -msgstr "" +msgstr "Містить всю інформацію, що стосується події, яка реєструється." msgid "" "The primary information is passed in *msg* and *args*, which are combined " "using ``msg % args`` to create the :attr:`!message` attribute of the record." msgstr "" +"Первичная информация передается в *msg* и *args*, которые объединяются с " +"помощью ``msg % args`` для создания атрибута :attr:`!message` записи." msgid "" "The name of the logger used to log the event represented by this :class:`!" @@ -985,6 +1472,10 @@ msgid "" "have this value, even though it may be emitted by a handler attached to a " "different (ancestor) logger." msgstr "" +"Имя регистратора, используемого для регистрации события, представленного " +"этим :class:`!LogRecord`. Обратите внимание, что имя регистратора в :class:`!" +"LogRecord` всегда будет иметь это значение, даже если оно может быть выдано " +"обработчиком, прикрепленным к другому (предковому) регистратору." msgid "" "The :ref:`numeric level ` of the logging event (such as ``10`` for " @@ -992,38 +1483,53 @@ msgid "" "attributes of the LogRecord: :attr:`!levelno` for the numeric value and :" "attr:`!levelname` for the corresponding level name." msgstr "" +":ref:`числовой уровень ` события регистрации (например, ``10`` для " +"``DEBUG``, ``20`` для ``INFO`` и т. д.). Обратите внимание, что это " +"преобразуется в *два* атрибута LogRecord: :attr:`!levelno` для числового " +"значения и :attr:`!levelname` для соответствующего имени уровня." msgid "" "The full string path of the source file where the logging call was made." msgstr "" +"Полный строковый путь к исходному файлу, в котором был выполнен вызов " +"журнала." msgid "The line number in the source file where the logging call was made." -msgstr "" +msgstr "Номер рядка у вихідному файлі, де було здійснено виклик журналювання." msgid "" "The event description message, which can be a %-format string with " "placeholders for variable data, or an arbitrary object (see :ref:`arbitrary-" "object-messages`)." msgstr "" +"Сообщение с описанием события, которое может быть %-f Строка формата с " +"заполнителями для переменных данных или произвольного объекта (см. :ref:" +"`произвольные-объектные-сообщения`)." msgid "" "Variable data to merge into the *msg* argument to obtain the event " "description." msgstr "" +"Змінні дані, які потрібно об’єднати в аргумент *msg*, щоб отримати опис " +"події." msgid "" "An exception tuple with the current exception information, as returned by :" "func:`sys.exc_info`, or ``None`` if no exception information is available." msgstr "" +"Кортеж исключений с текущей информацией об исключении, возвращаемой :func:" +"`sys.exc_info`, или ``None``, если информация об исключении недоступна." msgid "" "The name of the function or method from which the logging call was invoked." -msgstr "" +msgstr "Ім'я функції або методу, з якого було викликано журналювання." msgid "" "A text string representing stack information from the base of the stack in " "the current thread, up to the logging call." msgstr "" +"Текстовий рядок, що представляє інформацію про стек від основи стека в " +"поточному потоці до виклику журналювання." msgid "" "Returns the message for this :class:`LogRecord` instance after merging any " @@ -1032,6 +1538,13 @@ msgid "" "convert it to a string. This allows use of user-defined classes as messages, " "whose ``__str__`` method can return the actual format string to be used." msgstr "" +"Повертає повідомлення для цього екземпляра :class:`LogRecord` після " +"об’єднання будь-яких наданих користувачем аргументів із повідомленням. Якщо " +"наданий користувачем аргумент повідомлення для виклику журналювання не є " +"рядком, :func:`str` викликається для нього, щоб перетворити його на рядок. " +"Це дозволяє використовувати визначені користувачем класи як повідомлення, " +"чий метод ``__str__`` може повертати фактичний рядок формату для " +"використання." msgid "" "The creation of a :class:`LogRecord` has been made more configurable by " @@ -1039,11 +1552,17 @@ msgid "" "set using :func:`getLogRecordFactory` and :func:`setLogRecordFactory` (see " "this for the factory's signature)." msgstr "" +"Створення :class:`LogRecord` було зроблено більш настроюваним шляхом надання " +"фабрики, яка використовується для створення запису. Фабрику можна встановити " +"за допомогою :func:`getLogRecordFactory` і :func:`setLogRecordFactory` (див. " +"тут підпис фабрики)." msgid "" "This functionality can be used to inject your own values into a :class:" "`LogRecord` at creation time. You can use the following pattern::" msgstr "" +"Цю функцію можна використовувати для введення ваших власних значень у :class:" +"`LogRecord` під час створення. Ви можете використовувати наступний шаблон:" msgid "" "old_factory = logging.getLogRecordFactory()\n" @@ -1055,15 +1574,26 @@ msgid "" "\n" "logging.setLogRecordFactory(record_factory)" msgstr "" +"old_factory = logging.getLogRecordFactory()\n" +"\n" +"def record_factory(*args, **kwargs):\n" +" record = old_factory(*args, **kwargs)\n" +" record.custom_attribute = 0xdecafbad\n" +" return record\n" +"\n" +"logging.setLogRecordFactory(record_factory)" msgid "" "With this pattern, multiple factories could be chained, and as long as they " "don't overwrite each other's attributes or unintentionally overwrite the " "standard attributes listed above, there should be no surprises." msgstr "" +"За допомогою цього шаблону кілька фабрик можуть бути з’єднані в ланцюг, і " +"якщо вони не перезаписують атрибути одна одної або ненавмисно перезаписують " +"стандартні атрибути, перелічені вище, не повинно бути сюрпризів." msgid "LogRecord attributes" -msgstr "" +msgstr "Атрибути LogRecord" msgid "" "The LogRecord has a number of attributes, most of which are derived from the " @@ -1074,6 +1604,12 @@ msgid "" "attribute names, their meanings and the corresponding placeholder in a %-" "style format string." msgstr "" +"LogRecord має низку атрибутів, більшість із яких є похідними від параметрів " +"конструктора. (Зауважте, що імена параметрів конструктора LogRecord і " +"атрибутів LogRecord не завжди точно збігаються.) Ці атрибути можна " +"використовувати для об’єднання даних із запису в рядок формату. У наведеній " +"нижче таблиці наведено (в алфавітному порядку) назви атрибутів, їх значення " +"та відповідний заповнювач у рядку формату %-style." msgid "" "If you are using {}-formatting (:func:`str.format`), you can use ``{attrname}" @@ -1081,6 +1617,11 @@ msgid "" "class:`string.Template`), use the form ``${attrname}``. In both cases, of " "course, replace ``attrname`` with the actual attribute name you want to use." msgstr "" +"Якщо ви використовуєте {}-formatting (:func:`str.format`), ви можете " +"використовувати ``{attrname}`` як заповнювач у рядку формату. Якщо ви " +"використовуєте $-форматування (:class:`string.Template`), використовуйте " +"форму ``${attrname}``. В обох випадках, звичайно, замініть ``attrname`` " +"фактичним ім'ям атрибута, який ви хочете використовувати." msgid "" "In the case of {}-formatting, you can specify formatting flags by placing " @@ -1089,9 +1630,14 @@ msgid "" "as ``004``. Refer to the :meth:`str.format` documentation for full details " "on the options available to you." msgstr "" +"В случае {}-форматирования вы можете указать флаги форматирования, поместив " +"их после имени атрибута, отделив от него двоеточием. Например: заполнитель " +"``{msecs:03.0f}`` будет форматировать миллисекундное значение ``4`` как " +"``004``. Обратитесь к документации :meth:`str.format` для получения полной " +"информации о доступных вам опциях." msgid "Attribute name" -msgstr "" +msgstr "Назва атрибута" msgid "Format" msgstr "Format" @@ -1103,16 +1649,19 @@ msgid "args" msgstr "" msgid "You shouldn't need to format this yourself." -msgstr "" +msgstr "Вам не потрібно форматувати це самостійно." msgid "" "The tuple of arguments merged into ``msg`` to produce ``message``, or a dict " "whose values are used for the merge (when there is only one argument, and it " "is a dictionary)." msgstr "" +"Кортеж аргументів об’єднано в ``msg`` для створення ``message`` або dict, " +"значення якого використовуються для злиття (якщо є лише один аргумент, і це " +"словник)." msgid "asctime" -msgstr "" +msgstr "asctime" msgid "``%(asctime)s``" msgstr "``%(asctime)s``" @@ -1122,9 +1671,12 @@ msgid "" "this is of the form '2003-07-08 16:49:45,896' (the numbers after the comma " "are millisecond portion of the time)." msgstr "" +"Зрозумілий для людини час створення :class:`LogRecord`. За замовчуванням це " +"має форму \"2003-07-08 16:49:45,896\" (числа після коми є частиною часу в " +"мілісекундах)." msgid "created" -msgstr "" +msgstr "створений" msgid "``%(created)f``" msgstr "``%(created)f``" @@ -1133,35 +1685,38 @@ msgid "" "Time when the :class:`LogRecord` was created (as returned by :func:`time." "time_ns` / 1e9)." msgstr "" +"Время создания :class:`LogRecord` (возвращенное :func:`time.time_ns` / 1e9)." msgid "exc_info" -msgstr "" +msgstr "exc_info" msgid "" "Exception tuple (à la ``sys.exc_info``) or, if no exception has occurred, " "``None``." msgstr "" +"Кортеж винятків (à la ``sys.exc_info``) або, якщо винятків не сталося, " +"``None``." msgid "filename" -msgstr "" +msgstr "ім'я файлу" msgid "``%(filename)s``" msgstr "``%(filename)s``" msgid "Filename portion of ``pathname``." -msgstr "" +msgstr "Частина імені файлу ``шляху``." msgid "funcName" -msgstr "" +msgstr "funcName" msgid "``%(funcName)s``" msgstr "``%(funcName)s``" msgid "Name of function containing the logging call." -msgstr "" +msgstr "Назва функції, яка містить виклик журналювання." msgid "levelname" -msgstr "" +msgstr "ім'я рівня" msgid "``%(levelname)s``" msgstr "``%(levelname)s``" @@ -1170,9 +1725,11 @@ msgid "" "Text logging level for the message (``'DEBUG'``, ``'INFO'``, ``'WARNING'``, " "``'ERROR'``, ``'CRITICAL'``)." msgstr "" +"Рівень реєстрації тексту для повідомлення (``'DEBUG'``, ``'INFO'``, " +"``'WARNING'``, ``'ERROR'``, ``'CRITICAL'``)." msgid "levelno" -msgstr "" +msgstr "levelno" msgid "``%(levelno)s``" msgstr "``%(levelno)s``" @@ -1181,18 +1738,21 @@ msgid "" "Numeric logging level for the message (:const:`DEBUG`, :const:`INFO`, :const:" "`WARNING`, :const:`ERROR`, :const:`CRITICAL`)." msgstr "" +"Числовий рівень журналювання для повідомлення (:const:`DEBUG`, :const:" +"`INFO`, :const:`WARNING`, :const:`ERROR`, :const:`CRITICAL`)." msgid "lineno" -msgstr "" +msgstr "lineno" msgid "``%(lineno)d``" msgstr "``%(lineno)d``" msgid "Source line number where the logging call was issued (if available)." msgstr "" +"Номер вихідного рядка, де було здійснено виклик реєстрації (за наявності)." msgid "message" -msgstr "" +msgstr "повідомлення" msgid "``%(message)s``" msgstr "``%(message)s``" @@ -1201,6 +1761,8 @@ msgid "" "The logged message, computed as ``msg % args``. This is set when :meth:" "`Formatter.format` is invoked." msgstr "" +"Зареєстроване повідомлення, обчислене як ``msg % args``. Це встановлюється " +"під час виклику :meth:`Formatter.format`." msgid "module" msgstr "moduł" @@ -1209,26 +1771,29 @@ msgid "``%(module)s``" msgstr "``%(module)s``" msgid "Module (name portion of ``filename``)." -msgstr "" +msgstr "Модуль (частина назви ``назви файлу``)." msgid "msecs" -msgstr "" +msgstr "мс" msgid "``%(msecs)d``" msgstr "``%(msecs)d``" msgid "" "Millisecond portion of the time when the :class:`LogRecord` was created." -msgstr "" +msgstr "Частина мілісекунд часу, коли було створено :class:`LogRecord`." msgid "msg" -msgstr "" +msgstr "msg" msgid "" "The format string passed in the original logging call. Merged with ``args`` " "to produce ``message``, or an arbitrary object (see :ref:`arbitrary-object-" "messages`)." msgstr "" +"Рядок формату, переданий у вихідному виклику журналювання. Об’єднано з " +"``args`` для отримання ``message`` або довільного об’єкта (див. :ref:" +"`arbitrary-object-messages`)." msgid "name" msgstr "nazwa" @@ -1237,10 +1802,10 @@ msgid "``%(name)s``" msgstr "``%(name)s``" msgid "Name of the logger used to log the call." -msgstr "" +msgstr "Ім'я реєстратора, який використовувався для реєстрації виклику." msgid "pathname" -msgstr "" +msgstr "шлях" msgid "``%(pathname)s``" msgstr "``%(pathname)s``" @@ -1249,27 +1814,29 @@ msgid "" "Full pathname of the source file where the logging call was issued (if " "available)." msgstr "" +"Повний шлях до вихідного файлу, до якого було здійснено виклик журналювання " +"(за наявності)." msgid "process" -msgstr "" +msgstr "процес" msgid "``%(process)d``" msgstr "``%(process)d``" msgid "Process ID (if available)." -msgstr "" +msgstr "ID процесу (за наявності)." msgid "processName" -msgstr "" +msgstr "назва процесу" msgid "``%(processName)s``" msgstr "``%(processName)s``" msgid "Process name (if available)." -msgstr "" +msgstr "Назва процесу (якщо є)." msgid "relativeCreated" -msgstr "" +msgstr "relativeCreated" msgid "``%(relativeCreated)d``" msgstr "``%(relativeCreated)d``" @@ -1278,57 +1845,66 @@ msgid "" "Time in milliseconds when the LogRecord was created, relative to the time " "the logging module was loaded." msgstr "" +"Час у мілісекундах, коли було створено LogRecord, відносно часу завантаження " +"модуля журналювання." msgid "stack_info" -msgstr "" +msgstr "stack_info" msgid "" "Stack frame information (where available) from the bottom of the stack in " "the current thread, up to and including the stack frame of the logging call " "which resulted in the creation of this record." msgstr "" +"Інформація про стек (якщо доступно) від нижньої частини стека в поточному " +"потоці до та включно з кадром стека виклику журналювання, який призвів до " +"створення цього запису." msgid "thread" -msgstr "" +msgstr "нитка" msgid "``%(thread)d``" msgstr "``%(thread)d``" msgid "Thread ID (if available)." -msgstr "" +msgstr "ID потоку (якщо є)." msgid "threadName" -msgstr "" +msgstr "ім'я потоку" msgid "``%(threadName)s``" msgstr "``%(threadName)s``" msgid "Thread name (if available)." -msgstr "" +msgstr "Назва теми (за наявності)." msgid "taskName" -msgstr "" +msgstr "taskName" msgid "``%(taskName)s``" msgstr "``%(taskName)s``" msgid ":class:`asyncio.Task` name (if available)." -msgstr "" +msgstr ":class:`asyncio.Task` имя (если доступно)." msgid "*processName* was added." -msgstr "" +msgstr "Додано *processName*." msgid "*taskName* was added." -msgstr "" +msgstr "*taskName* добавлено." msgid "LoggerAdapter Objects" -msgstr "" +msgstr "Об’єкти LoggerAdapter" msgid "" ":class:`LoggerAdapter` instances are used to conveniently pass contextual " "information into logging calls. For a usage example, see the section on :ref:" "`adding contextual information to your logging output `." msgstr "" +"Екземпляри :class:`LoggerAdapter` використовуються для зручної передачі " +"контекстної інформації у виклики журналювання. Для прикладу використання " +"дивіться розділ про :ref:`додавання контекстної інформації до вихідних даних " +"журналу `." msgid "" "Returns an instance of :class:`LoggerAdapter` initialized with an " @@ -1338,6 +1914,13 @@ msgid "" "The default behavior is to ignore the *extra* argument of individual log " "calls and only use the one of the :class:`LoggerAdapter` instance" msgstr "" +"Возвращает экземпляр :class:`LoggerAdapter`, инициализированный базовым " +"экземпляром :class:`Logger`, объектом типа dict (*extra*) и логическим " +"значением (*merge_extra*), указывающим, есть ли аргумент *extra* отдельных " +"вызовов журнала должны быть объединены с дополнительным :class:" +"`LoggerAdapter`. Поведение по умолчанию — игнорировать *дополнительный* " +"аргумент отдельных вызовов журнала и использовать только один из " +"экземпляров :class:`LoggerAdapter`." msgid "" "Modifies the message and/or keyword arguments passed to a logging call in " @@ -1346,12 +1929,17 @@ msgid "" "'extra'. The return value is a (*msg*, *kwargs*) tuple which has the " "(possibly modified) versions of the arguments passed in." msgstr "" +"Змінює повідомлення та/або ключові аргументи, передані виклику журналювання, " +"щоб вставити контекстну інформацію. Ця реалізація приймає об’єкт, переданий " +"як *extra* до конструктора, і додає його до *kwargs* за допомогою ключа " +"\"extra\". Поверненим значенням є кортеж (*msg*, *kwargs*), який містить " +"(можливо, змінені) версії переданих аргументів." msgid "Delegates to the underlying :attr:`!manager` on *logger*." -msgstr "" +msgstr "Делегирует базовый :attr:`!manager` на *logger*." msgid "Delegates to the underlying :meth:`!_log` method on *logger*." -msgstr "" +msgstr "Делегирует базовый метод :meth:`!_log` в *logger*." msgid "" "In addition to the above, :class:`LoggerAdapter` supports the following " @@ -1363,23 +1951,36 @@ msgid "" "counterparts in :class:`Logger`, so you can use the two types of instances " "interchangeably." msgstr "" +"На додаток до вищезазначеного, :class:`LoggerAdapter` підтримує такі методи :" +"class:`Logger`: :meth:`~Logger.debug`, :meth:`~Logger.info`, :meth:`~Logger ." +"warning`, :meth:`~Logger.error`, :meth:`~Logger.exception`, :meth:`~Logger." +"critical`, :meth:`~Logger.log`, :meth:`~Logger .isEnabledFor`, :meth:" +"`~Logger.getEffectiveLevel`, :meth:`~Logger.setLevel` і :meth:`~Logger." +"hasHandlers`. Ці методи мають ті самі сигнатури, що й їхні аналоги в :class:" +"`Logger`, тому ви можете використовувати обидва типи екземплярів як " +"взаємозамінні." msgid "" "The :meth:`~Logger.isEnabledFor`, :meth:`~Logger.getEffectiveLevel`, :meth:" "`~Logger.setLevel` and :meth:`~Logger.hasHandlers` methods were added to :" "class:`LoggerAdapter`. These methods delegate to the underlying logger." msgstr "" +"Методи :meth:`~Logger.isEnabledFor`, :meth:`~Logger.getEffectiveLevel`, :" +"meth:`~Logger.setLevel` і :meth:`~Logger.hasHandlers` додано до :class:" +"`LoggerAdapter` . Ці методи делегують базовому реєстратору." msgid "" "Attribute :attr:`!manager` and method :meth:`!_log` were added, which " "delegate to the underlying logger and allow adapters to be nested." msgstr "" +"Были добавлены атрибут :attr:`!manager` и метод :meth:`!_log`, которые " +"делегируют базовому регистратору и позволяют вкладывать адаптеры." msgid "The *merge_extra* argument was added." -msgstr "" +msgstr "Был добавлен аргумент *merge_extra*." msgid "Thread Safety" -msgstr "" +msgstr "Безпека ниток" msgid "" "The logging module is intended to be thread-safe without any special work " @@ -1388,6 +1989,11 @@ msgid "" "and each handler also creates a lock to serialize access to its underlying I/" "O." msgstr "" +"Модуль журналювання призначений для потокобезпечної роботи без необхідності " +"виконання будь-якої спеціальної роботи клієнтами. Це досягається за " +"допомогою різьбових замків; існує одне блокування для серіалізації доступу " +"до спільних даних модуля, і кожен обробник також створює блокування для " +"серіалізації доступу до базового введення-виведення." msgid "" "If you are implementing asynchronous signal handlers using the :mod:`signal` " @@ -1395,14 +2001,19 @@ msgid "" "is because lock implementations in the :mod:`threading` module are not " "always re-entrant, and so cannot be invoked from such signal handlers." msgstr "" +"Якщо ви впроваджуєте асинхронні обробники сигналів за допомогою модуля :mod:" +"`signal`, можливо, ви не зможете використовувати журналювання в таких " +"обробниках. Це пов’язано з тим, що реалізації блокувань у модулі :mod:" +"`threading` не завжди можна повторно входити, і тому їх не можна викликати з " +"таких обробників сигналів." msgid "Module-Level Functions" -msgstr "" +msgstr "Функції рівня модуля" msgid "" "In addition to the classes described above, there are a number of module-" "level functions." -msgstr "" +msgstr "На додаток до класів, описаних вище, існує ряд функцій рівня модуля." msgid "" "Return a logger with the specified name or, if name is ``None``, return the " @@ -1412,12 +2023,21 @@ msgid "" "is recommended that ``__name__`` be used unless you have a specific reason " "for not doing that, as mentioned in :ref:`logger`." msgstr "" +"Возвращает регистратор с указанным именем или, если имя равно «Нет», " +"возвращает корневой регистратор иерархии. Если указано, имя обычно " +"представляет собой иерархическое имя, разделенное точкой, например *'a'*, " +"*'ab'* или *'abcd'*. Выбор этих имен полностью зависит от разработчика, " +"использующего журналирование, хотя рекомендуется использовать ``__name__``, " +"если у вас нет особой причины не делать этого, как указано в :ref:`logger`." msgid "" "All calls to this function with a given name return the same logger " "instance. This means that logger instances never need to be passed between " "different parts of an application." msgstr "" +"Усі виклики цієї функції з заданим іменем повертають той самий екземпляр " +"журналу. Це означає, що екземпляри реєстратора ніколи не потрібно передавати " +"між різними частинами програми." msgid "" "Return either the standard :class:`Logger` class, or the last class passed " @@ -1426,36 +2046,54 @@ msgid "" "class will not undo customizations already applied by other code. For " "example::" msgstr "" +"Повертає або стандартний клас :class:`Logger`, або останній клас, переданий :" +"func:`setLoggerClass`. Цю функцію можна викликати з нового визначення класу, " +"щоб гарантувати, що встановлення налаштованого класу :class:`Logger` не " +"скасує налаштування, уже застосовані іншим кодом. Наприклад::" msgid "" "class MyLogger(logging.getLoggerClass()):\n" " # ... override behaviour here" msgstr "" +"class MyLogger(logging.getLoggerClass()):\n" +" # ... override behaviour here" msgid "Return a callable which is used to create a :class:`LogRecord`." msgstr "" +"Повертає виклик, який використовується для створення :class:`LogRecord`." msgid "" "This function has been provided, along with :func:`setLogRecordFactory`, to " "allow developers more control over how the :class:`LogRecord` representing a " "logging event is constructed." msgstr "" +"Цю функцію було надано разом із :func:`setLogRecordFactory`, щоб дозволити " +"розробникам більше контролювати те, як створюється :class:`LogRecord`, що " +"представляє подію журналювання." msgid "" "See :func:`setLogRecordFactory` for more information about the how the " "factory is called." msgstr "" +"Перегляньте :func:`setLogRecordFactory` для отримання додаткової інформації " +"про те, як називається фабрика." msgid "" "This is a convenience function that calls :meth:`Logger.debug`, on the root " "logger. The handling of the arguments is in every way identical to what is " "described in that method." msgstr "" +"Это удобная функция, которая вызывает :meth:`Logger.debug` в корневом " +"регистраторе. Обработка аргументов во всех отношениях идентична описанной в " +"этом методе." msgid "" "The only difference is that if the root logger has no handlers, then :func:" "`basicConfig` is called, prior to calling ``debug`` on the root logger." msgstr "" +"Единственное отличие состоит в том, что если корневой регистратор не имеет " +"обработчиков, то вызывается :func:`basicConfig` перед вызовом ``debug`` на " +"корневом регистраторе." msgid "" "For very short scripts or quick demonstrations of ``logging`` facilities, " @@ -1470,27 +2108,38 @@ msgid "" "Logs a message with level :const:`INFO` on the root logger. The arguments " "and behavior are otherwise the same as for :func:`debug`." msgstr "" +"Регистрирует сообщение с уровнем :const:`INFO` в корневом регистраторе. " +"Аргументы и поведение в остальном такие же, как и для :func:`debug`." msgid "" "Logs a message with level :const:`WARNING` on the root logger. The arguments " "and behavior are otherwise the same as for :func:`debug`." msgstr "" +"Регистрирует сообщение с уровнем :const:`WARNING` в корневом регистраторе. " +"Аргументы и поведение в остальном такие же, как и для :func:`debug`." msgid "" "There is an obsolete function ``warn`` which is functionally identical to " "``warning``. As ``warn`` is deprecated, please do not use it - use " "``warning`` instead." msgstr "" +"Існує застаріла функція ``warn``, яка функціонально ідентична ``warning``. " +"Оскільки ``попередження`` застаріло, будь ласка, не використовуйте його - " +"використовуйте замість нього ``попередження``." msgid "" "Logs a message with level :const:`ERROR` on the root logger. The arguments " "and behavior are otherwise the same as for :func:`debug`." msgstr "" +"Регистрирует сообщение с уровнем :const:`ERROR` в корневом регистраторе. " +"Аргументы и поведение в остальном такие же, как и для :func:`debug`." msgid "" "Logs a message with level :const:`CRITICAL` on the root logger. The " "arguments and behavior are otherwise the same as for :func:`debug`." msgstr "" +"Регистрирует сообщение с уровнем :const:`CRITICAL` в корневом регистраторе. " +"Аргументы и поведение в остальном такие же, как и для :func:`debug`." msgid "" "Logs a message with level :const:`ERROR` on the root logger. The arguments " @@ -1498,11 +2147,17 @@ msgid "" "added to the logging message. This function should only be called from an " "exception handler." msgstr "" +"Регистрирует сообщение с уровнем :const:`ERROR` в корневом регистраторе. " +"Аргументы и поведение в остальном такие же, как и для :func:`debug`. " +"Информация об исключении добавляется в сообщение журнала. Эту функцию " +"следует вызывать только из обработчика исключений." msgid "" "Logs a message with level *level* on the root logger. The arguments and " "behavior are otherwise the same as for :func:`debug`." msgstr "" +"Регистрирует сообщение с уровнем *level* в корневом регистраторе. Аргументы " +"и поведение в остальном такие же, как и для :func:`debug`." msgid "" "Provides an overriding level *level* for all loggers which takes precedence " @@ -1516,6 +2171,16 @@ msgid "" "level, so that logging output again depends on the effective levels of " "individual loggers." msgstr "" +"Забезпечує переважний рівень *рівень* для всіх реєстраторів, який має " +"перевагу над власним рівнем реєстратора. Ця функція може бути корисною, коли " +"виникає потреба тимчасово зменшити вивід журналювання в усій програмі. Його " +"ефект полягає в тому, щоб вимкнути всі виклики журналювання рівня " +"серйозності *рівня* і нижче, так що якщо ви викликаєте його зі значенням " +"INFO, тоді всі події INFO та DEBUG будуть відхилені, тоді як події " +"серйозності WARNING і вище будуть оброблені відповідно до ефективний рівень " +"реєстратора. Якщо викликається ``logging.disable(logging.NOTSET)``, це " +"фактично видаляє цей переважний рівень, так що вихід журналу знову залежить " +"від ефективних рівнів окремих реєстраторів." msgid "" "Note that if you have defined any custom logging level higher than " @@ -1523,11 +2188,17 @@ msgid "" "default value for the *level* parameter, but will have to explicitly supply " "a suitable value." msgstr "" +"Зауважте, що якщо ви визначили будь-який спеціальний рівень журналювання, " +"вищий за ``КРИТИЧНИЙ`` (це не рекомендовано), ви не зможете покладатися на " +"значення за замовчуванням для параметра *level*, але вам доведеться явно " +"вказати відповідне значення." msgid "" "The *level* parameter was defaulted to level ``CRITICAL``. See :issue:" "`28524` for more information about this change." msgstr "" +"Параметр *level* за замовчуванням мав рівень ``КРИТИЧНИЙ``. Перегляньте :" +"issue:`28524`, щоб дізнатися більше про цю зміну." msgid "" "Associates level *level* with text *levelName* in an internal dictionary, " @@ -1537,20 +2208,33 @@ msgid "" "must be registered using this function, levels should be positive integers " "and they should increase in increasing order of severity." msgstr "" +"Пов’язує рівень *level* із текстом *levelName* у внутрішньому словнику, який " +"використовується для відображення числових рівнів у текстовому " +"представленні, наприклад, коли :class:`Formatter` форматує повідомлення. Цю " +"функцію також можна використовувати для визначення власних рівнів. Єдині " +"обмеження полягають у тому, що всі використовувані рівні мають бути " +"зареєстровані за допомогою цієї функції, рівні мають бути додатними цілими " +"числами, і вони мають збільшуватися в порядку зростання серйозності." msgid "" "If you are thinking of defining your own levels, please see the section on :" "ref:`custom-levels`." msgstr "" +"Якщо ви плануєте визначити власні рівні, перегляньте розділ про :ref:`custom-" +"levels`." msgid "" "Returns a mapping from level names to their corresponding logging levels. " "For example, the string \"CRITICAL\" maps to :const:`CRITICAL`. The returned " "mapping is copied from an internal mapping on each call to this function." msgstr "" +"Возвращает сопоставление имен уровней с соответствующими уровнями ведения " +"журнала. Например, строка «CRITICAL» отображается в :const:`CRITICAL`. " +"Возвращенное сопоставление копируется из внутреннего сопоставления при " +"каждом вызове этой функции." msgid "Returns the textual or numeric representation of logging level *level*." -msgstr "" +msgstr "Повертає текстове або числове представлення рівня реєстрації *level*." msgid "" "If *level* is one of the predefined levels :const:`CRITICAL`, :const:" @@ -1560,17 +2244,28 @@ msgid "" "If a numeric value corresponding to one of the defined levels is passed in, " "the corresponding string representation is returned." msgstr "" +"Якщо *level* є одним із попередньо визначених рівнів :const:`CRITICAL`, :" +"const:`ERROR`, :const:`WARNING`, :const:`INFO` або :const:`DEBUG`, тоді ви " +"отримаєте відповідний рядок . Якщо ви пов’язали рівні з іменами за " +"допомогою :func:`addLevelName`, тоді повертається ім’я, яке ви пов’язали з " +"*рівнем*. Якщо передано числове значення, що відповідає одному з визначених " +"рівнів, повертається відповідне представлення рядка." msgid "" "The *level* parameter also accepts a string representation of the level such " "as 'INFO'. In such cases, this functions returns the corresponding numeric " "value of the level." msgstr "" +"Параметр *level* також приймає рядкове представлення рівня, наприклад " +"\"INFO\". У таких випадках ця функція повертає відповідне числове значення " +"рівня." msgid "" "If no matching numeric or string value is passed in, the string 'Level %s' % " "level is returned." msgstr "" +"Якщо відповідного числового або рядкового значення не передано, повертається " +"рядок \"Рівень %s\" % рівня." msgid "" "Levels are internally integers (as they need to be compared in the logging " @@ -1579,6 +2274,11 @@ msgid "" "``%(levelname)s`` format specifier (see :ref:`logrecord-attributes`), and " "vice versa." msgstr "" +"Рівні є внутрішніми цілими числами (оскільки їх потрібно порівнювати в " +"логіці журналювання). Ця функція використовується для перетворення між " +"цілочисельним рівнем і назвою рівня, що відображається у форматованому " +"виведенні журналу за допомогою специфікатора формату ``%(levelname)s`` " +"(див. :ref:`logrecord-attributes`), і навпаки." msgid "" "In Python versions earlier than 3.4, this function could also be passed a " @@ -1586,14 +2286,22 @@ msgid "" "This undocumented behaviour was considered a mistake, and was removed in " "Python 3.4, but reinstated in 3.4.2 due to retain backward compatibility." msgstr "" +"У версіях Python, раніших за 3.4, ця функція також могла передаватися на " +"текстовий рівень і повертала б відповідне числове значення рівня. Ця " +"незадокументована поведінка вважалася помилкою та була видалена в Python " +"3.4, але відновлена в 3.4.2 через збереження зворотної сумісності." msgid "" "Returns a handler with the specified *name*, or ``None`` if there is no " "handler with that name." msgstr "" +"Возвращает обработчик с указанным *имя* или ``None``, если обработчика с " +"таким именем нет." msgid "Returns an immutable set of all known handler names." msgstr "" +"Возвращает обработчик с указанным *имя* или ``None``, если обработчика с " +"таким именем нет." msgid "" "Creates and returns a new :class:`LogRecord` instance whose attributes are " @@ -1601,6 +2309,10 @@ msgid "" "`LogRecord` attribute dictionary, sent over a socket, and reconstituting it " "as a :class:`LogRecord` instance at the receiving end." msgstr "" +"Створює та повертає новий екземпляр :class:`LogRecord`, атрибути якого " +"визначено *attrdict*. Ця функція корисна для того, щоб взяти вибраний " +"словник атрибутів :class:`LogRecord`, надісланий через сокет, і відтворити " +"його як екземпляр :class:`LogRecord` на кінці прийому." msgid "" "Does basic configuration for the logging system by creating a :class:" @@ -1609,11 +2321,19 @@ msgid "" "`error` and :func:`critical` will call :func:`basicConfig` automatically if " "no handlers are defined for the root logger." msgstr "" +"Виконує базову конфігурацію для системи журналювання, створюючи :class:" +"`StreamHandler` із стандартним :class:`Formatter` і додаючи його до " +"кореневого реєстратора. Функції :func:`debug`, :func:`info`, :func:" +"`warning`, :func:`error` і :func:`critical` викличуть :func:`basicConfig` " +"автоматично, якщо не визначено обробників для кореневого реєстратора." msgid "" "This function does nothing if the root logger already has handlers " "configured, unless the keyword argument *force* is set to ``True``." msgstr "" +"Ця функція нічого не робить, якщо кореневий реєстратор уже має налаштовані " +"обробники, якщо для ключового аргументу *force* не встановлено значення " +"``True``." msgid "" "This function should be called from the main thread before other threads are " @@ -1622,43 +2342,55 @@ msgid "" "handler will be added to the root logger more than once, leading to " "unexpected results such as messages being duplicated in the log." msgstr "" +"Цю функцію слід викликати з основного потоку перед запуском інших потоків. У " +"версіях Python до 2.7.1 і 3.2, якщо ця функція викликається з кількох " +"потоків, можливо (у рідкісних випадках), що обробник буде додано до " +"кореневого журналу більше одного разу, що призведе до неочікуваних " +"результатів, таких як повідомлення дублюється в журналі." msgid "The following keyword arguments are supported." -msgstr "" +msgstr "Підтримуються наступні аргументи ключових слів." msgid "*filename*" -msgstr "" +msgstr "*назва файлу*" msgid "" "Specifies that a :class:`FileHandler` be created, using the specified " "filename, rather than a :class:`StreamHandler`." msgstr "" +"Вказує, що буде створено :class:`FileHandler`, використовуючи вказане ім’я " +"файлу, а не :class:`StreamHandler`." msgid "*filemode*" -msgstr "" +msgstr "*файловий режим*" msgid "" "If *filename* is specified, open the file in this :ref:`mode `. " "Defaults to ``'a'``." msgstr "" +"Якщо вказано *ім’я файлу*, відкрийте файл у цьому :ref:`режимі `. " +"За замовчуванням ``'a''``." msgid "*format*" -msgstr "" +msgstr "*формат*" msgid "" "Use the specified format string for the handler. Defaults to attributes " "``levelname``, ``name`` and ``message`` separated by colons." msgstr "" +"Використовуйте вказаний рядок формату для обробника. За замовчуванням " +"атрибути ``levelname``, ``name`` і ``message``, розділені двокрапками." msgid "*datefmt*" -msgstr "" +msgstr "*datefmt*" msgid "" "Use the specified date/time format, as accepted by :func:`time.strftime`." msgstr "" +"Використовуйте вказаний формат дати/часу, прийнятний :func:`time.strftime`." msgid "*style*" -msgstr "" +msgstr "*стиль*" msgid "" "If *format* is specified, use this style for the format string. One of " @@ -1666,24 +2398,32 @@ msgid "" "formatting>`, :meth:`str.format` or :class:`string.Template` respectively. " "Defaults to ``'%'``." msgstr "" +"Якщо вказано *format*, використовуйте цей стиль для рядка формату. Один із " +"``'%'``, ``'{'`` або ``'$'`` для :ref:`printf-style `, :meth:`str.format` або :class:`string .Template` відповідно. " +"За замовчуванням ``'%''``." msgid "*level*" -msgstr "" +msgstr "*рівень*" msgid "Set the root logger level to the specified :ref:`level `." msgstr "" +"Встановіть рівень кореневого реєстратора на вказаний :ref:`level `." msgid "*stream*" -msgstr "" +msgstr "*потік*" msgid "" "Use the specified stream to initialize the :class:`StreamHandler`. Note that " "this argument is incompatible with *filename* - if both are present, a " "``ValueError`` is raised." msgstr "" +"Використовуйте вказаний потік для ініціалізації :class:`StreamHandler`. " +"Зауважте, що цей аргумент несумісний з *ім’ям файлу* – якщо присутні обидва, " +"виникає помилка \"ValueError\"." msgid "*handlers*" -msgstr "" +msgstr "*обробники*" msgid "" "If specified, this should be an iterable of already created handlers to add " @@ -1692,27 +2432,38 @@ msgid "" "this argument is incompatible with *filename* or *stream* - if both are " "present, a ``ValueError`` is raised." msgstr "" +"Якщо вказано, це має бути ітерація вже створених обробників для додавання до " +"кореневого реєстратора. Усім обробникам, які ще не мають встановленого " +"форматера, буде призначено стандартний форматер, створений у цій функції. " +"Зауважте, що цей аргумент несумісний з *filename* або *stream* - якщо обидва " +"присутні, виникає помилка ValueError." msgid "*force*" -msgstr "" +msgstr "*сила*" msgid "" "If this keyword argument is specified as true, any existing handlers " "attached to the root logger are removed and closed, before carrying out the " "configuration as specified by the other arguments." msgstr "" +"Якщо цей аргумент ключового слова вказано як true, будь-які існуючі " +"обробники, приєднані до кореневого реєстратора, видаляються та закриваються " +"перед виконанням конфігурації, як зазначено іншими аргументами." msgid "*encoding*" -msgstr "" +msgstr "*кодування*" msgid "" "If this keyword argument is specified along with *filename*, its value is " "used when the :class:`FileHandler` is created, and thus used when opening " "the output file." msgstr "" +"Якщо цей аргумент ключового слова вказано разом із *filename*, його значення " +"використовується під час створення :class:`FileHandler` і, таким чином, " +"використовується під час відкриття вихідного файлу." msgid "*errors*" -msgstr "" +msgstr "*помилки*" msgid "" "If this keyword argument is specified along with *filename*, its value is " @@ -1721,32 +2472,47 @@ msgid "" "Note that if ``None`` is specified, it will be passed as such to :func:" "`open`, which means that it will be treated the same as passing 'errors'." msgstr "" +"Якщо цей аргумент ключового слова вказано разом із *filename*, його значення " +"використовується під час створення :class:`FileHandler` і, таким чином, " +"використовується під час відкриття вихідного файлу. Якщо не вказано, " +"використовується значення \"backslashreplace\". Зауважте, що якщо вказано " +"``None``, воно буде передано як таке до :func:`open`, що означає, що воно " +"розглядатиметься так само, як передача 'errors'." msgid "The *style* argument was added." -msgstr "" +msgstr "Додано аргумент *style*." msgid "" "The *handlers* argument was added. Additional checks were added to catch " "situations where incompatible arguments are specified (e.g. *handlers* " "together with *stream* or *filename*, or *stream* together with *filename*)." msgstr "" +"Додано аргумент *обробники*. Було додано додаткові перевірки для виявлення " +"ситуацій, коли вказано несумісні аргументи (наприклад, *обробники* разом із " +"*потоком* або *ім’ям файлу*, або *потік* разом із *ім’ям файлу*)." msgid "The *force* argument was added." -msgstr "" +msgstr "Додано аргумент *force*." msgid "The *encoding* and *errors* arguments were added." -msgstr "" +msgstr "Додано аргументи *encoding* і *errors*." msgid "" "Informs the logging system to perform an orderly shutdown by flushing and " "closing all handlers. This should be called at application exit and no " "further use of the logging system should be made after this call." msgstr "" +"Повідомляє системі журналювання виконати впорядковане завершення роботи " +"шляхом очищення та закриття всіх обробників. Це слід викликати під час " +"виходу з програми, і після цього виклику не слід використовувати систему " +"журналювання." msgid "" "When the logging module is imported, it registers this function as an exit " "handler (see :mod:`atexit`), so normally there's no need to do that manually." msgstr "" +"Коли модуль журналювання імпортовано, він реєструє цю функцію як обробник " +"виходу (див. :mod:`atexit`), тому зазвичай немає потреби робити це вручну." msgid "" "Tells the logging system to use the class *klass* when instantiating a " @@ -1758,79 +2524,98 @@ msgid "" "the subclass: continue to use the :func:`logging.getLogger` API to get your " "loggers." msgstr "" +"Сообщает системе журналирования использовать класс *klass* при создании " +"экземпляра регистратора. Класс должен определить :meth:`!__init__` так, " +"чтобы требовался только аргумент имени, а :meth:`!__init__` должен вызывать :" +"meth:`!Logger.__init__`. Эта функция обычно вызывается перед созданием " +"экземпляров средств ведения журнала приложениями, которым необходимо " +"использовать настраиваемое поведение средства ведения журнала. После этого " +"вызова, как и в любое другое время, не создавайте экземпляры регистраторов " +"напрямую с помощью подкласса: продолжайте использовать API :func:`logging." +"getLogger` для получения ваших логгеров." msgid "Set a callable which is used to create a :class:`LogRecord`." msgstr "" +"Встановіть виклик, який використовується для створення :class:`LogRecord`." msgid "The factory callable to be used to instantiate a log record." msgstr "" +"Фабричний виклик, який буде використано для створення екземпляра запису " +"журналу." msgid "" "This function has been provided, along with :func:`getLogRecordFactory`, to " "allow developers more control over how the :class:`LogRecord` representing a " "logging event is constructed." msgstr "" +"Цю функцію було надано разом із :func:`getLogRecordFactory`, щоб дозволити " +"розробникам більше контролювати те, як створюється :class:`LogRecord`, що " +"представляє подію журналювання." msgid "The factory has the following signature:" -msgstr "" +msgstr "Завод має такий підпис:" msgid "" "``factory(name, level, fn, lno, msg, args, exc_info, func=None, sinfo=None, " "**kwargs)``" msgstr "" +"``factory(name, level, fn, lno, msg, args, exc_info, func=None, sinfo=None, " +"**kwargs)``" msgid "The logger name." -msgstr "" +msgstr "Ім'я реєстратора." msgid "level" -msgstr "" +msgstr "рівень" msgid "The logging level (numeric)." -msgstr "" +msgstr "Рівень журналювання (числовий)." msgid "fn" -msgstr "" +msgstr "fn" msgid "The full pathname of the file where the logging call was made." -msgstr "" +msgstr "Повний шлях до файлу, у якому було здійснено виклик журналювання." msgid "lno" -msgstr "" +msgstr "lno" msgid "The line number in the file where the logging call was made." -msgstr "" +msgstr "Номер рядка у файлі, де було здійснено виклик журналювання." msgid "The logging message." -msgstr "" +msgstr "Повідомлення реєстрації." msgid "The arguments for the logging message." -msgstr "" +msgstr "Аргументи для повідомлення журналу." msgid "An exception tuple, or ``None``." -msgstr "" +msgstr "Кортеж винятків або ``None``." msgid "func" -msgstr "" +msgstr "func" msgid "The name of the function or method which invoked the logging call." -msgstr "" +msgstr "Ім'я функції або методу, які викликали журналювання." msgid "sinfo" -msgstr "" +msgstr "sinfo" msgid "" "A stack traceback such as is provided by :func:`traceback.print_stack`, " "showing the call hierarchy." msgstr "" +"Зворотне трасування стека, наприклад, надається :func:`traceback." +"print_stack`, показуючи ієрархію викликів." msgid "kwargs" msgstr "" msgid "Additional keyword arguments." -msgstr "" +msgstr "Додаткові аргументи ключових слів." msgid "Module-Level Attributes" -msgstr "" +msgstr "Атрибути рівня модуля" msgid "" "A \"handler of last resort\" is available through this attribute. This is a :" @@ -1841,12 +2626,22 @@ msgid "" "could be found for logger XYZ\". If you need the earlier behaviour for some " "reason, ``lastResort`` can be set to ``None``." msgstr "" +"Через цей атрибут доступний \"обробник останньої надії\". Це :class:" +"`StreamHandler`, який записує в ``sys.stderr`` з рівнем ``WARNING`` і " +"використовується для обробки подій журналювання за відсутності будь-якої " +"конфігурації журналювання. Кінцевим результатом є просто друк повідомлення в " +"``sys.stderr``. Це замінює попереднє повідомлення про помилку про те, що " +"\"не вдалося знайти обробників для реєстратора XYZ\". Якщо з якоїсь причини " +"вам потрібна попередня поведінка, для lastResort можна встановити значення " +"None." msgid "Used to see if exceptions during handling should be propagated." msgstr "" +"Используется для проверки того, следует ли распространять исключения во " +"время обработки." msgid "Default: ``True``." -msgstr "" +msgstr "По умолчанию: ``Истина``." msgid "" "If :data:`raiseExceptions` is ``False``, exceptions get silently ignored. " @@ -1854,18 +2649,26 @@ msgid "" "care about errors in the logging system, they are more interested in " "application errors." msgstr "" +"Если :data:`raiseExceptions` имеет значение ``False``, исключения " +"игнорируются. Это то, чего больше всего хотят от системы журналирования — " +"большинство пользователей не будут интересоваться ошибками в системе " +"журналирования, их больше интересуют ошибки приложений." msgid "Integration with the warnings module" -msgstr "" +msgstr "Інтеграція з модулем попереджень" msgid "" "The :func:`captureWarnings` function can be used to integrate :mod:`logging` " "with the :mod:`warnings` module." msgstr "" +"Функцію :func:`captureWarnings` можна використовувати для інтеграції :mod:" +"`logging` з модулем :mod:`warnings`." msgid "" "This function is used to turn the capture of warnings by logging on and off." msgstr "" +"Ця функція використовується для ввімкнення та вимкнення захоплення " +"попереджень під час входу." msgid "" "If *capture* is ``True``, warnings issued by the :mod:`warnings` module will " @@ -1874,37 +2677,50 @@ msgid "" "logged to a logger named ``'py.warnings'`` with a severity of :const:" "`WARNING`." msgstr "" +"Якщо *capture* має значення ``True``, попередження, видані модулем :mod:" +"`warnings`, будуть перенаправлені до системи журналювання. Зокрема, " +"попередження буде відформатовано за допомогою :func:`warnings." +"formatwarning`, а результуючий рядок буде зареєстровано в журналі під назвою " +"``'py.warnings`` з серйозністю :const:`WARNING`." msgid "" "If *capture* is ``False``, the redirection of warnings to the logging system " "will stop, and warnings will be redirected to their original destinations (i." "e. those in effect before ``captureWarnings(True)`` was called)." msgstr "" +"Якщо *capture* має значення ``False``, перенаправлення попереджень до " +"системи журналювання припиниться, і попередження будуть перенаправлені до " +"початкових місць призначення (тобто тих, які діяли до виклику " +"``captureWarnings(True)``)." msgid "Module :mod:`logging.config`" -msgstr "" +msgstr "Модуль :mod:`logging.config`" msgid "Configuration API for the logging module." -msgstr "" +msgstr "API конфігурації для модуля журналювання." msgid "Module :mod:`logging.handlers`" -msgstr "" +msgstr "Модуль :mod:`logging.handlers`" msgid "Useful handlers included with the logging module." -msgstr "" +msgstr "Корисні обробники, включені в модуль журналювання." msgid ":pep:`282` - A Logging System" -msgstr "" +msgstr ":pep:`282` - Система реєстрації" msgid "" "The proposal which described this feature for inclusion in the Python " "standard library." msgstr "" +"Пропозиція, яка описує цю функцію для включення в стандартну бібліотеку " +"Python." msgid "" "`Original Python logging package `_" msgstr "" +"`Оригінальний пакет журналювання Python `_" msgid "" "This is the original source for the :mod:`logging` package. The version of " @@ -1912,9 +2728,12 @@ msgid "" "2.1.x and 2.2.x, which do not include the :mod:`logging` package in the " "standard library." msgstr "" +"Це оригінальне джерело пакета :mod:`logging`. Версія пакета, доступна на " +"цьому сайті, підходить для використання з Python 1.5.2, 2.1.x і 2.2.x, які " +"не містять пакет :mod:`logging` у стандартній бібліотеці." msgid "Errors" -msgstr "" +msgstr "Помилки" msgid "logging" -msgstr "" +msgstr "logging" diff --git a/library/lzma.po b/library/lzma.po index 52768cfe32..bdebec0e31 100644 --- a/library/lzma.po +++ b/library/lzma.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -25,10 +24,10 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!lzma` --- Compression using the LZMA algorithm" -msgstr "" +msgstr ":mod:`!lzma` --- Сжатие с использованием алгоритма LZMA." 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 " @@ -36,6 +35,10 @@ msgid "" "file interface supporting the ``.xz`` and legacy ``.lzma`` file formats used " "by the :program:`xz` utility, as well as raw compressed streams." msgstr "" +"Цей модуль надає класи та зручні функції для стиснення та розпакування даних " +"за допомогою алгоритму стиснення LZMA. Також включено файловий інтерфейс, що " +"підтримує формати файлів ``.xz`` і застарілі ``.lzma``, які використовуються " +"утилітою :program:`xz`, а також необроблені стиснені потоки." msgid "" "The interface provided by this module is very similar to that of the :mod:" @@ -43,19 +46,27 @@ msgid "" "thread-safe, so if you need to use a single :class:`LZMAFile` instance from " "multiple threads, it is necessary to protect it with a lock." msgstr "" +"Інтерфейс цього модуля дуже схожий на інтерфейс модуля :mod:`bz2`. Зауважте, " +"що :class:`LZMAFile` і :class:`bz2.BZ2File` *не* потокобезпечні, тому, якщо " +"вам потрібно використовувати один екземпляр :class:`LZMAFile` з кількох " +"потоків, його необхідно захистити з замком." msgid "" "This exception is raised when an error occurs during compression or " "decompression, or while initializing the compressor/decompressor state." msgstr "" +"Цей виняток виникає, коли виникає помилка під час стиснення чи розпакування " +"або під час ініціалізації стану компресора/декомпресора." msgid "Reading and writing compressed files" -msgstr "" +msgstr "Читання та запис стиснутих файлів" msgid "" "Open an LZMA-compressed file in binary or text mode, returning a :term:`file " "object`." msgstr "" +"Відкрийте файл, стиснутий за допомогою LZMA, у двійковому або текстовому " +"режимі, повертаючи :term:`file object`." msgid "" "The *filename* argument can be either an actual file name (given as a :class:" @@ -63,6 +74,10 @@ msgid "" "which case the named file is opened, or it can be an existing file object to " "read from or write to." msgstr "" +"Аргументом *filename* може бути або фактичне ім’я файлу (надане як об’єкт :" +"class:`str`, :class:`bytes` або :term:`path-like `), у " +"такому випадку відкривається названий файл або це може бути існуючий " +"файловий об’єкт для читання або запису." msgid "" "The *mode* argument can be any of ``\"r\"``, ``\"rb\"``, ``\"w\"``, " @@ -70,38 +85,53 @@ msgid "" "or ``\"rt\"``, ``\"wt\"``, ``\"xt\"``, or ``\"at\"`` for text mode. The " "default is ``\"rb\"``." msgstr "" +"Аргумент *mode* може бути будь-яким із ``\"r\"``, ``\"rb\"``, ``\"w\"``, " +"``\"wb\"``, ``\"x\"``, ``\"xb\"``, ``\"a\"`` або ``\"ab\"`` для двійкового " +"режиму, або ``\"rt\"``, ``\"wt\"``, ``\"xt\"`` або ``\"at\"`` для текстового " +"режиму. Типовим є ``\"rb\"``." msgid "" "When opening a file for reading, the *format* and *filters* arguments have " "the same meanings as for :class:`LZMADecompressor`. In this case, the " "*check* and *preset* arguments should not be used." msgstr "" +"Під час відкриття файлу для читання аргументи *format* і *filters* мають " +"такі ж значення, як і для :class:`LZMADecompressor`. У цьому випадку " +"аргументи *check* і *preset* не повинні використовуватися." msgid "" "When opening a file for writing, the *format*, *check*, *preset* and " "*filters* arguments have the same meanings as for :class:`LZMACompressor`." msgstr "" +"Під час відкриття файлу для запису аргументи *format*, *check*, *preset* і " +"*filters* мають таке ж значення, як і для :class:`LZMACompressor`." msgid "" "For binary mode, this function is equivalent to the :class:`LZMAFile` " "constructor: ``LZMAFile(filename, mode, ...)``. In this case, the " "*encoding*, *errors* and *newline* arguments must not be provided." msgstr "" +"Для бінарного режиму ця функція еквівалентна конструктору :class:`LZMAFile`: " +"``LZMAFile(filename, mode, ...)``. У цьому випадку аргументи *encoding*, " +"*errors* і *newline* не повинні надаватися." msgid "" "For text mode, a :class:`LZMAFile` object is created, and wrapped in an :" "class:`io.TextIOWrapper` instance with the specified encoding, error " "handling behavior, and line ending(s)." msgstr "" +"Для текстового режиму створюється об’єкт :class:`LZMAFile`, який " +"загортається в екземпляр :class:`io.TextIOWrapper` із вказаним кодуванням, " +"поведінкою обробки помилок і закінченнями рядків." msgid "Added support for the ``\"x\"``, ``\"xb\"`` and ``\"xt\"`` modes." -msgstr "" +msgstr "Додано підтримку режимів ``\"x\"``, ``\"xb\"`` і ``\"xt\"``." msgid "Accepts a :term:`path-like object`." msgstr "" msgid "Open an LZMA-compressed file in binary mode." -msgstr "" +msgstr "Відкрийте файл, стиснутий за допомогою LZMA, у двійковому режимі." msgid "" "An :class:`LZMAFile` can wrap an already-open :term:`file object`, or " @@ -111,6 +141,12 @@ msgid "" "wrapping an existing file object, the wrapped file will not be closed when " "the :class:`LZMAFile` is closed." msgstr "" +":class:`LZMAFile` може обернути вже відкритий :term:`file object` або " +"працювати безпосередньо з іменованим файлом. Аргумент *filename* визначає " +"або об’єкт файлу, який потрібно обернути, або ім’я файлу, який потрібно " +"відкрити (як об’єкт :class:`str`, :class:`bytes` або :term:`path-like `). Під час обгортання існуючого файлового об’єкта обернутий " +"файл не буде закрито, коли закрито :class:`LZMAFile`." msgid "" "The *mode* argument can be either ``\"r\"`` for reading (default), ``\"w\"`` " @@ -118,32 +154,47 @@ msgid "" "appending. These can equivalently be given as ``\"rb\"``, ``\"wb\"``, " "``\"xb\"`` and ``\"ab\"`` respectively." msgstr "" +"Аргументом *mode* може бути ``\"r\"`` для читання (за замовчуванням), " +"``\"w\"`` для перезапису, ``\"x\"`` для ексклюзивного створення або " +"``\"a\"`` для додавання. Їх можна еквівалентно подати як ``\"rb\"``, " +"``\"wb\"``, ``\"xb\"`` і ``\"ab\"`` відповідно." msgid "" "If *filename* 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 "" +"Якщо *filename* є файловим об’єктом (а не справжнім ім’ям файлу), режим " +"``\"w\"`` не скорочує файл, а замість цього еквівалентний ``\"a\"``." msgid "" "When opening a file for reading, the input file may be the concatenation of " "multiple separate compressed streams. These are transparently decoded as a " "single logical stream." msgstr "" +"Під час відкриття файлу для читання вхідний файл може бути конкатенацією " +"кількох окремих стиснутих потоків. Вони прозоро декодуються як єдиний " +"логічний потік." msgid "" ":class:`LZMAFile` 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 "" +":class:`LZMAFile` поддерживает все члены, указанные в :class:`io." +"BufferedIOBase`, за исключением :meth:`~io.BufferedIOBase.detach` и :meth:" +"`~io.IOBase.truncate`. Поддерживаются итерация и оператор :keyword:`with`." msgid "The following method and attributes are also provided:" -msgstr "" +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 "" +"Повернути буферизовані дані без просування позиції файлу. Принаймні один " +"байт даних буде повернуто, якщо не досягнуто EOF. Точна кількість повернутих " +"байтів не вказана (аргумент *size* ігнорується)." msgid "" "While calling :meth:`peek` does not change the file position of the :class:" @@ -151,56 +202,71 @@ msgid "" "if the :class:`LZMAFile` was constructed by passing a file object for " "*filename*)." msgstr "" +"Хоча виклик :meth:`peek` не змінює позицію файлу :class:`LZMAFile`, він може " +"змінити позицію основного файлового об’єкта (наприклад, якщо :class:" +"`LZMAFile` було створено шляхом передачі файлового об’єкта для *ім'я файлу*)." msgid "``'rb'`` for reading and ``'wb'`` for writing." -msgstr "" +msgstr "``'rb'`` для чтения и ``'wb'`` для записи." msgid "" "The lzma file name. Equivalent to the :attr:`~io.FileIO.name` attribute of " "the underlying :term:`file object`." msgstr "" +"Имя файла lzma. Эквивалент атрибута :attr:`~io.FileIO.name` базового :term:" +"`файлового объекта`." msgid "Added support for the ``\"x\"`` and ``\"xb\"`` modes." -msgstr "" +msgstr "Додано підтримку режимів ``\"x\"`` і ``\"xb\"``." msgid "" "The :meth:`~io.BufferedIOBase.read` method now accepts an argument of " "``None``." -msgstr "" +msgstr "Метод :meth:`~io.BufferedIOBase.read` тепер приймає аргумент ``None``." msgid "Compressing and decompressing data in memory" -msgstr "" +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 :func:" "`compress`." msgstr "" +"Для більш зручного способу стиснення окремої частини даних див. :func:" +"`compress`." msgid "" "The *format* argument specifies what container format should be used. " "Possible values are:" msgstr "" +"Аргумент *format* визначає, який формат контейнера слід використовувати. " +"Можливі значення:" msgid ":const:`FORMAT_XZ`: The ``.xz`` container format." -msgstr "" +msgstr ":const:`FORMAT_XZ`: Формат контейнера ``.xz``." msgid "This is the default format." -msgstr "" +msgstr "Це стандартний формат." msgid ":const:`FORMAT_ALONE`: The legacy ``.lzma`` container format." -msgstr "" +msgstr ":const:`FORMAT_ALONE`: Застарілий формат контейнера ``.lzma``." msgid "" "This format is more limited than ``.xz`` -- it does not support integrity " "checks or multiple filters." msgstr "" +"Цей формат є більш обмеженим, ніж ``.xz`` - він не підтримує перевірку " +"цілісності або кілька фільтрів." msgid ":const:`FORMAT_RAW`: A raw data stream, not using any container format." msgstr "" +":const:`FORMAT_RAW`: Потік необроблених даних без використання формату " +"контейнера." msgid "" "This format specifier does not support integrity checks, and requires that " @@ -208,38 +274,53 @@ msgid "" "decompression). Additionally, data compressed in this manner cannot be " "decompressed using :const:`FORMAT_AUTO` (see :class:`LZMADecompressor`)." msgstr "" +"Цей специфікатор формату не підтримує перевірки цілісності та вимагає, щоб " +"ви завжди вказували настроюваний ланцюжок фільтрів (як для стиснення, так і " +"для розпакування). Крім того, дані, стиснуті таким чином, не можна " +"розпакувати за допомогою :const:`FORMAT_AUTO` (див. :class:" +"`LZMADecompressor`)." msgid "" "The *check* argument specifies the type of integrity check to include in the " "compressed data. This check is used when decompressing, to ensure that the " "data has not been corrupted. Possible values are:" msgstr "" +"Аргумент *check* визначає тип перевірки цілісності, який слід включити до " +"стиснутих даних. Ця перевірка використовується під час розпакування, щоб " +"переконатися, що дані не пошкоджено. Можливі значення:" msgid "" ":const:`CHECK_NONE`: No integrity check. This is the default (and the only " "acceptable value) for :const:`FORMAT_ALONE` and :const:`FORMAT_RAW`." msgstr "" +":const:`CHECK_NONE`: Без перевірки цілісності. Це стандартне (і єдине " +"прийнятне значення) для :const:`FORMAT_ALONE` і :const:`FORMAT_RAW`." msgid ":const:`CHECK_CRC32`: 32-bit Cyclic Redundancy Check." -msgstr "" +msgstr ":const:`CHECK_CRC32`: 32-розрядна циклічна перевірка надмірності." msgid "" ":const:`CHECK_CRC64`: 64-bit Cyclic Redundancy Check. This is the default " "for :const:`FORMAT_XZ`." msgstr "" +":const:`CHECK_CRC64`: 64-бітна циклічна перевірка надмірності. Це типове " +"значення для :const:`FORMAT_XZ`." msgid ":const:`CHECK_SHA256`: 256-bit Secure Hash Algorithm." -msgstr "" +msgstr ":const:`CHECK_SHA256`: 256-бітний безпечний алгоритм хешування." msgid "" "If the specified check is not supported, an :class:`LZMAError` is raised." -msgstr "" +msgstr "Якщо зазначена перевірка не підтримується, виникає :class:`LZMAError`." msgid "" "The compression settings can be specified either as a preset compression " "level (with the *preset* argument), or in detail as a custom filter chain " "(with the *filters* argument)." msgstr "" +"Параметри стиснення можна вказати або як попередньо встановлений рівень " +"стиснення (за допомогою аргументу *preset*), або детально як спеціальний " +"ланцюжок фільтрів (за допомогою аргументу *filters*)." msgid "" "The *preset* argument (if provided) should be an integer between ``0`` and " @@ -248,6 +329,12 @@ msgid "" "behavior is to use :const:`PRESET_DEFAULT` (preset level ``6``). Higher " "presets produce smaller output, but make the compression process slower." msgstr "" +"Аргумент *preset* (якщо надано) має бути цілим числом від ``0`` до ``9`` " +"(включно), необов’язково через АБО з константою :const:`PRESET_EXTREME`. " +"Якщо ні *попереднє налаштування*, ні *фільтри* не вказано, поведінка за " +"замовчуванням полягає у використанні :const:`PRESET_DEFAULT` (рівень " +"попереднього налаштування ``6``). Більш високі налаштування дають менший " +"вихід, але сповільнюють процес стиснення." msgid "" "In addition to being more CPU-intensive, compression with higher presets " @@ -256,11 +343,19 @@ msgid "" "`LZMACompressor` object can be as high as 800 MiB. For this reason, it is " "generally best to stick with the default preset." msgstr "" +"Окрім того, що стиснення з вищими попередніми настройками вимагає більшого " +"навантаження на ЦП, воно також потребує набагато більше пам’яті (і створює " +"вивід, для розпакування якого потрібно більше пам’яті). Наприклад, із " +"заданим значенням ``9`` накладні витрати для об’єкта :class:`LZMACompressor` " +"можуть сягати 800 МіБ. З цієї причини, як правило, краще дотримуватися " +"попереднього налаштування за замовчуванням." msgid "" "The *filters* argument (if provided) should be a filter chain specifier. " "See :ref:`filter-chain-specs` for details." msgstr "" +"Аргумент *filters* (якщо надається) має бути специфікатором ланцюжка " +"фільтрів. Дивіться :ref:`filter-chain-specs` для деталей." msgid "" "Compress *data* (a :class:`bytes` object), returning a :class:`bytes` object " @@ -269,24 +364,35 @@ msgid "" "meth:`flush`. The returned data should be concatenated with the output of " "any previous calls to :meth:`compress`." msgstr "" +"Стиснути *дані* (об’єкт :class:`bytes`), повертаючи об’єкт :class:`bytes`, " +"що містить стислі дані принаймні для частини вхідних даних. Деякі з *даних* " +"можуть буферизуватися усередині для використання в наступних викликах :meth:" +"`compress` і :meth:`flush`. Повернуті дані мають бути об’єднані з " +"результатами будь-яких попередніх викликів :meth:`compress`." msgid "" "Finish the compression process, returning a :class:`bytes` object containing " "any data stored in the compressor's internal buffers." msgstr "" +"Завершіть процес стиснення, повернувши об’єкт :class:`bytes`, що містить " +"будь-які дані, що зберігаються у внутрішніх буферах компресора." msgid "The compressor cannot be used after this method has been called." -msgstr "" +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 :func:`decompress`." msgstr "" +"Для більш зручного способу розпакування всього стисненого потоку одночасно " +"див. :func:`decompress`." msgid "" "The *format* argument specifies the container format that should be used. " @@ -294,6 +400,10 @@ msgid "" "``.lzma`` files. Other possible values are :const:`FORMAT_XZ`, :const:" "`FORMAT_ALONE`, and :const:`FORMAT_RAW`." msgstr "" +"Аргумент *format* визначає формат контейнера, який слід використовувати. " +"Типовим є :const:`FORMAT_AUTO`, який може розпакувати як файли ``.xz``, так " +"і ``.lzma``. Інші можливі значення: :const:`FORMAT_XZ`, :const:" +"`FORMAT_ALONE` і :const:`FORMAT_RAW`." msgid "" "The *memlimit* argument specifies a limit (in bytes) on the amount of memory " @@ -301,6 +411,10 @@ msgid "" "will fail with an :class:`LZMAError` if it is not possible to decompress the " "input within the given memory limit." msgstr "" +"Аргумент *memlimit* визначає обмеження (у байтах) на обсяг пам’яті, який " +"може використовувати розпаковувач. Коли цей аргумент використовується, " +"декомпресія буде невдалою з :class:`LZMAError`, якщо неможливо розпакувати " +"вхідні дані в межах заданого ліміту пам’яті." msgid "" "The *filters* argument specifies the filter chain that was used to create " @@ -308,6 +422,11 @@ msgid "" "const:`FORMAT_RAW`, but should not be used for other formats. See :ref:" "`filter-chain-specs` for more information about filter chains." msgstr "" +"Аргумент *filters* визначає ланцюжок фільтрів, який використовувався для " +"створення потоку, що розпаковується. Цей аргумент є обов’язковим, якщо " +"*format* має значення :const:`FORMAT_RAW`, але його не слід використовувати " +"для інших форматів. Перегляньте :ref:`filter-chain-specs` для отримання " +"додаткової інформації про ланцюги фільтрів." msgid "" "This class does not transparently handle inputs containing multiple " @@ -315,6 +434,10 @@ msgid "" "decompress a multi-stream input with :class:`LZMADecompressor`, you must " "create a new decompressor for each stream." msgstr "" +"Цей клас не обробляє прозоро вхідні дані, що містять кілька стиснутих " +"потоків, на відміну від :func:`decompress` і :class:`LZMAFile`. Щоб " +"розпакувати багатопотоковий вхід за допомогою :class:`LZMADecompressor`, ви " +"повинні створити новий розпаковувач для кожного потоку." msgid "" "Decompress *data* (a :term:`bytes-like object`), returning uncompressed data " @@ -322,6 +445,11 @@ msgid "" "to :meth:`decompress`. The returned data should be concatenated with the " "output of any previous calls to :meth:`decompress`." msgstr "" +"Розпакуйте *дані* (:term:`bytes-like object`), повертаючи нестиснуті дані у " +"вигляді байтів. Деякі з *даних* можуть бути збережені у внутрішньому буфері " +"для використання в подальших викликах :meth:`decompress`. Повернуті дані " +"мають бути об’єднані з результатами будь-яких попередніх викликів :meth:" +"`decompress`." msgid "" "If *max_length* is nonnegative, returns at most *max_length* bytes of " @@ -330,82 +458,114 @@ msgid "" "this case, the next call to :meth:`~.decompress` may provide *data* as " "``b''`` to obtain more of the output." msgstr "" +"Якщо *max_length* є невід’ємним, повертає щонайбільше *max_length* байтів " +"розпакованих даних. Якщо цей ліміт буде досягнуто, і буде створено подальший " +"вихід, атрибут :attr:`~.needs_input` буде встановлено на ``False``. У цьому " +"випадку наступний виклик :meth:`~.decompress` може надати *data* як ``b''``, " +"щоб отримати більше вихідних даних." 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 "" +"Якщо всі вхідні дані було розпаковано та повернуто (або через те, що вони " +"були меншими за *max_length* байтів, або через те, що *max_length* було " +"від’ємним), для атрибута :attr:`~.needs_input` буде встановлено значення " +"``True`` ." msgid "" "Attempting to decompress data after the end of stream is reached raises an :" "exc:`EOFError`. Any data found after the end of the stream is ignored and " "saved in the :attr:`~.unused_data` attribute." msgstr "" +"Попытка распаковать данные после достижения конца потока вызывает ошибку :" +"exc:`EOFError`. Любые данные, найденные после окончания потока, игнорируются " +"и сохраняются в атрибуте :attr:`~.unused_data`." msgid "Added the *max_length* parameter." -msgstr "" +msgstr "Додано параметр *max_length*." msgid "" "The ID of the integrity check used by the input stream. This may be :const:" "`CHECK_UNKNOWN` until enough of the input has been decoded to determine what " "integrity check it uses." msgstr "" +"Ідентифікатор перевірки цілісності, який використовується вхідним потоком. " +"Це може бути :const:`CHECK_UNKNOWN`, поки не буде декодовано достатньо " +"вхідних даних, щоб визначити, яку перевірку цілісності він використовує." msgid "``True`` if the end-of-stream marker has been reached." -msgstr "" +msgstr "``True``, якщо досягнуто маркера кінця потоку." msgid "Data found after the end of the compressed stream." -msgstr "" +msgstr "Дані знайдено після закінчення стисненого потоку." msgid "Before the end of the stream is reached, this will be ``b\"\"``." -msgstr "" +msgstr "До кінця потоку це буде ``b\"\"``." msgid "" "``False`` if the :meth:`.decompress` method can provide more decompressed " "data before requiring new uncompressed input." msgstr "" +"``False``, якщо метод :meth:`.decompress` може надати більше розпакованих " +"даних перед запитом нового нестисненого введення." msgid "" "Compress *data* (a :class:`bytes` object), returning the compressed data as " "a :class:`bytes` object." msgstr "" +"Стискати *data* (об’єкт :class:`bytes`), повертаючи стислі дані як об’єкт :" +"class:`bytes`." msgid "" "See :class:`LZMACompressor` above for a description of the *format*, " "*check*, *preset* and *filters* arguments." msgstr "" +"Перегляньте :class:`LZMACompressor` вище для опису аргументів *format*, " +"*check*, *preset* і *filters*." msgid "" "Decompress *data* (a :class:`bytes` object), returning the uncompressed data " "as a :class:`bytes` object." msgstr "" +"Розархівуйте *data* (об’єкт :class:`bytes`), повертаючи нестиснуті дані як " +"об’єкт :class:`bytes`." msgid "" "If *data* is the concatenation of multiple distinct compressed streams, " "decompress all of these streams, and return the concatenation of the results." msgstr "" +"Якщо *data* є конкатенацією кількох окремих стиснутих потоків, розпакуйте " +"всі ці потоки та поверніть конкатенацію результатів." msgid "" "See :class:`LZMADecompressor` above for a description of the *format*, " "*memlimit* and *filters* arguments." msgstr "" +"Перегляньте :class:`LZMADecompressor` вище для опису аргументів *format*, " +"*memlimit* і *filters*." msgid "Miscellaneous" -msgstr "" +msgstr "Diğer" msgid "" "Return ``True`` if the given integrity check is supported on this system." msgstr "" +"Повертає ``True``, якщо ця перевірка цілісності підтримується цією системою." msgid "" ":const:`CHECK_NONE` and :const:`CHECK_CRC32` are always supported. :const:" "`CHECK_CRC64` and :const:`CHECK_SHA256` may be unavailable if you are using " "a version of :program:`liblzma` that was compiled with a limited feature set." msgstr "" +":const:`CHECK_NONE` і :const:`CHECK_CRC32` підтримуються завжди. :const:" +"`CHECK_CRC64` і :const:`CHECK_SHA256` можуть бути недоступні, якщо ви " +"використовуєте версію :program:`liblzma`, яка була скомпільована з обмеженим " +"набором функцій." msgid "Specifying custom filter chains" -msgstr "" +msgstr "Визначення власних ланцюжків фільтрів" msgid "" "A filter chain specifier is a sequence of dictionaries, where each " @@ -413,26 +573,32 @@ msgid "" "must contain the key ``\"id\"``, and may contain additional keys to specify " "filter-dependent options. Valid filter IDs are as follows:" msgstr "" +"Специфікатор ланцюжка фільтрів — це послідовність словників, де кожен " +"словник містить ідентифікатор і параметри для одного фільтра. Кожен словник " +"має містити ключ ``\"id\"`` і може містити додаткові ключі для визначення " +"залежних від фільтрів параметрів. Дійсні ідентифікатори фільтрів:" msgid "Compression filters:" -msgstr "" +msgstr "Компресійні фільтри:" msgid ":const:`FILTER_LZMA1` (for use with :const:`FORMAT_ALONE`)" -msgstr "" +msgstr ":const:`FILTER_LZMA1` (для використання з :const:`FORMAT_ALONE`)" msgid "" ":const:`FILTER_LZMA2` (for use with :const:`FORMAT_XZ` and :const:" "`FORMAT_RAW`)" msgstr "" +":const:`FILTER_LZMA2` (для використання з :const:`FORMAT_XZ` і :const:" +"`FORMAT_RAW`)" msgid "Delta filter:" -msgstr "" +msgstr "Дельта-фільтр:" msgid ":const:`FILTER_DELTA`" msgstr ":const:`FILTER_DELTA`" msgid "Branch-Call-Jump (BCJ) filters:" -msgstr "" +msgstr "Фільтри Branch-Call-Jump (BCJ):" msgid ":const:`FILTER_X86`" msgstr ":const:`FILTER_X86`" @@ -457,50 +623,69 @@ msgid "" "filter in the chain must be a compression filter, and any other filters must " "be delta or BCJ filters." msgstr "" +"Ланцюг фільтрів може складатися з 4 фільтрів і не може бути порожнім. " +"Останній фільтр у ланцюжку має бути фільтром стиснення, а будь-які інші " +"фільтри мають бути фільтрами дельта або BCJ." msgid "" "Compression filters support the following options (specified as additional " "entries in the dictionary representing the filter):" msgstr "" +"Фільтри стиснення підтримують такі параметри (зазначені як додаткові записи " +"в словнику, що представляє фільтр):" msgid "" "``preset``: A compression preset to use as a source of default values for " "options that are not specified explicitly." msgstr "" +"``попереднє налаштування``: Попереднє налаштування стиснення, яке " +"використовується як джерело значень за замовчуванням для параметрів, які не " +"вказані явно." msgid "" "``dict_size``: Dictionary size in bytes. This should be between 4 KiB and " "1.5 GiB (inclusive)." msgstr "" +"``dict_size``: розмір словника в байтах. Це має бути від 4 КіБ до 1,5 ГіБ " +"(включно)." msgid "``lc``: Number of literal context bits." -msgstr "" +msgstr "``lc``: кількість літеральних бітів контексту." msgid "" "``lp``: Number of literal position bits. The sum ``lc + lp`` must be at most " "4." msgstr "" +"``lp``: кількість літеральних бітів позиції. Сума \"lc + lp\" має бути не " +"більше 4." msgid "``pb``: Number of position bits; must be at most 4." -msgstr "" +msgstr "``pb``: кількість бітів позиції; повинно бути не більше 4." msgid "``mode``: :const:`MODE_FAST` or :const:`MODE_NORMAL`." -msgstr "" +msgstr "``режим``: :const:`MODE_FAST` або :const:`MODE_NORMAL`." msgid "" "``nice_len``: What should be considered a \"nice length\" for a match. This " "should be 273 or less." msgstr "" +"``nice_len``: що слід вважати \"гарною довжиною\" для збігу. Це має бути 273 " +"або менше." msgid "" "``mf``: What match finder to use -- :const:`MF_HC3`, :const:`MF_HC4`, :const:" "`MF_BT2`, :const:`MF_BT3`, or :const:`MF_BT4`." msgstr "" +"``mf``: Який засіб пошуку збігів використовувати -- :const:`MF_HC3`, :const:" +"`MF_HC4`, :const:`MF_BT2`, :const:`MF_BT3` або :const:`MF_BT4`." msgid "" "``depth``: Maximum search depth used by match finder. 0 (default) means to " "select automatically based on other filter options." msgstr "" +"``depth``: максимальна глибина пошуку, яка використовується шукачем збігів. " +"0 (за замовчуванням) означає автоматичний вибір на основі інших параметрів " +"фільтра." msgid "" "The delta filter stores the differences between bytes, producing more " @@ -509,6 +694,10 @@ msgid "" "subtracted. The default is 1, i.e. take the differences between adjacent " "bytes." msgstr "" +"Дельта-фільтр зберігає відмінності між байтами, створюючи більш повторювані " +"вхідні дані для компресора за певних обставин. Він підтримує один параметр, " +"``dist``. Це вказує на відстань між байтами, які потрібно відняти. За " +"замовчуванням 1, тобто беруться різниці між сусідніми байтами." msgid "" "The BCJ filters are intended to be applied to machine code. They convert " @@ -518,21 +707,29 @@ msgid "" "specifies the address that should be mapped to the beginning of the input " "data. The default is 0." msgstr "" +"Фільтри BCJ призначені для застосування до машинного коду. Вони перетворюють " +"відносні розгалуження, виклики та переходи в коді на використання абсолютної " +"адресації з метою збільшення надмірності, яку може використовувати " +"компресор. Ці фільтри підтримують один параметр, ``start_offset``. Це вказує " +"адресу, яку слід відобразити на початку вхідних даних. За замовчуванням 0." msgid "Examples" msgstr "Przykłady" msgid "Reading in a compressed file::" -msgstr "" +msgstr "Читання у стисненому файлі::" msgid "" "import lzma\n" "with lzma.open(\"file.xz\") as f:\n" " file_content = f.read()" msgstr "" +"import lzma\n" +"with lzma.open(\"file.xz\") as f:\n" +" file_content = f.read()" msgid "Creating a compressed file::" -msgstr "" +msgstr "Створення стисненого файлу::" msgid "" "import lzma\n" @@ -540,18 +737,25 @@ msgid "" "with lzma.open(\"file.xz\", \"w\") as f:\n" " f.write(data)" msgstr "" +"import lzma\n" +"data = b\"Insert Data Here\"\n" +"with lzma.open(\"file.xz\", \"w\") as f:\n" +" f.write(data)" msgid "Compressing data in memory::" -msgstr "" +msgstr "Стиснення даних у пам'яті:" msgid "" "import lzma\n" "data_in = b\"Insert Data Here\"\n" "data_out = lzma.compress(data_in)" msgstr "" +"import lzma\n" +"data_in = b\"Insert Data Here\"\n" +"data_out = lzma.compress(data_in)" msgid "Incremental compression::" -msgstr "" +msgstr "Поступове стиснення::" msgid "" "import lzma\n" @@ -563,9 +767,17 @@ msgid "" "# Concatenate all the partial results:\n" "result = b\"\".join([out1, out2, out3, out4])" msgstr "" +"import lzma\n" +"lzc = lzma.LZMACompressor()\n" +"out1 = lzc.compress(b\"Some data\\n\")\n" +"out2 = lzc.compress(b\"Another piece of data\\n\")\n" +"out3 = lzc.compress(b\"Even more data\\n\")\n" +"out4 = lzc.flush()\n" +"# Concatenate all the partial results:\n" +"result = b\"\".join([out1, out2, out3, out4])" msgid "Writing compressed data to an already-open file::" -msgstr "" +msgstr "Запис стислих даних у вже відкритий файл::" msgid "" "import lzma\n" @@ -575,9 +787,16 @@ msgid "" " lzf.write(b\"This *will* be compressed\\n\")\n" " f.write(b\"Not compressed\\n\")" msgstr "" +"import lzma\n" +"with open(\"file.xz\", \"wb\") as f:\n" +" f.write(b\"This data will not be compressed\\n\")\n" +" with lzma.open(f, \"w\") as lzf:\n" +" lzf.write(b\"This *will* be compressed\\n\")\n" +" f.write(b\"Not compressed\\n\")" msgid "Creating a compressed file using a custom filter chain::" msgstr "" +"Створення стисненого файлу за допомогою спеціального ланцюжка фільтрів::" msgid "" "import lzma\n" @@ -588,3 +807,10 @@ msgid "" "with lzma.open(\"file.xz\", \"w\", filters=my_filters) as f:\n" " f.write(b\"blah blah blah\")" msgstr "" +"import lzma\n" +"my_filters = [\n" +" {\"id\": lzma.FILTER_DELTA, \"dist\": 5},\n" +" {\"id\": lzma.FILTER_LZMA2, \"preset\": 7 | lzma.PRESET_EXTREME},\n" +"]\n" +"with lzma.open(\"file.xz\", \"w\", filters=my_filters) as f:\n" +" f.write(b\"blah blah blah\")" diff --git a/library/mailbox.po b/library/mailbox.po index 65e9be0c62..ba4da9648d 100644 --- a/library/mailbox.po +++ b/library/mailbox.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Igor Zubrycki , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-03-28 14:18+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -26,10 +24,10 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!mailbox` --- Manipulate mailboxes in various formats" -msgstr "" +msgstr ":mod:`!mailbox` --- Управление почтовыми ящиками в различных форматах." 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 " @@ -39,24 +37,35 @@ msgid "" "message.Message` class with format-specific state and behavior. Supported " "mailbox formats are Maildir, mbox, MH, Babyl, and MMDF." msgstr "" +"Этот модуль определяет два класса: :class:`Mailbox` и :class:`Message`, для " +"доступа и управления почтовыми ящиками на диске и сообщениями, которые они " +"содержат. :class:`!Mailbox` предлагает сопоставление ключей с сообщениями, " +"подобное словарю. :class:`!Message` расширяет класс :class:`~email.message." +"Message` модуля :mod:`email.message` с состоянием и поведением, зависящим от " +"формата. Поддерживаемые форматы почтовых ящиков: Maildir, mbox, MH, Babyl и " +"MMDF." msgid "Module :mod:`email`" -msgstr "" +msgstr "Modul :mod:`email`" msgid "Represent and manipulate messages." -msgstr "" +msgstr "Представляти та маніпулювати повідомленнями." msgid ":class:`!Mailbox` objects" -msgstr "" +msgstr ":class:`!Mailbox` объекты" msgid "A mailbox, which may be inspected and modified." -msgstr "" +msgstr "Поштова скринька, яку можна перевірити та змінити." msgid "" "The :class:`!Mailbox` class defines an interface and is not intended to be " "instantiated. Instead, format-specific subclasses should inherit from :" "class:`!Mailbox` and your code should instantiate a particular subclass." msgstr "" +"Класс :class:`!Mailbox` определяет интерфейс и не предназначен для создания " +"экземпляров. Вместо этого подклассы, специфичные для формата, должны " +"наследовать от :class:`!Mailbox`, а ваш код должен создавать экземпляр " +"определенного подкласса." msgid "" "The :class:`!Mailbox` interface is dictionary-like, with small keys " @@ -66,12 +75,21 @@ msgid "" "corresponding message is modified, such as by replacing it with another " "message." msgstr "" +"Интерфейс :class:`!Mailbox` похож на словарь, с маленькими клавишами, " +"соответствующими сообщениям. Ключи выдаются экземпляром :class:`!Mailbox`, с " +"которым они будут использоваться, и имеют смысл только для этого экземпляра :" +"class:`!Mailbox`. Ключ продолжает идентифицировать сообщение, даже если " +"соответствующее сообщение изменено, например, путем замены его другим " +"сообщением." msgid "" "Messages may be added to a :class:`!Mailbox` instance using the set-like " "method :meth:`add` and removed using a ``del`` statement or the set-like " "methods :meth:`remove` and :meth:`discard`." msgstr "" +"Сообщения могут быть добавлены в экземпляр :class:`!Mailbox` с помощью " +"метода set-подобного :meth:`add` и удалены с помощью оператора ``del`` или " +"методов set-подобных :meth:`remove` и : мет:`отбросить`." msgid "" ":class:`!Mailbox` interface semantics differ from dictionary semantics in " @@ -82,6 +100,13 @@ msgid "" "copied. In neither case is a reference to the message representation kept by " "the :class:`!Mailbox` instance." msgstr "" +"Семантика интерфейса :class:`!Mailbox` отличается от семантики словаря " +"некоторыми примечательными моментами. Каждый раз, когда запрашивается " +"сообщение, создается новое представление (обычно экземпляр :class:`Message`) " +"на основе текущего состояния почтового ящика. Аналогично, когда сообщение " +"добавляется в экземпляр :class:`!Mailbox`, содержимое предоставленного " +"представления сообщения копируется. Ни в одном случае ссылка на " +"представление сообщения не сохраняется в экземпляре :class:`!Mailbox`." msgid "" "The default :class:`!Mailbox` :term:`iterator` iterates over message " @@ -93,6 +118,14 @@ msgid "" "iterator may result in a :exc:`KeyError` exception if the corresponding " "message is subsequently removed." msgstr "" +"По умолчанию :class:`!Mailbox` :term:`iterator` перебирает представления " +"сообщений, а не ключи, как это делает итератор :class:`dictionary ` по " +"умолчанию. Более того, модификация почтового ящика во время итерации " +"безопасна и четко определена. Сообщения, добавленные в почтовый ящик после " +"создания итератора, не будут видны ему. Сообщения, удаленные из почтового " +"ящика до того, как итератор выдаст их, будут автоматически пропущены, хотя " +"использование ключа из итератора может привести к исключению :exc:" +"`KeyError`, если соответствующее сообщение впоследствии будет удалено." msgid "" "Be very cautious when modifying mailboxes that might be simultaneously " @@ -104,13 +137,23 @@ msgid "" "deleting a message. Failing to lock the mailbox runs the risk of losing " "messages or corrupting the entire mailbox." msgstr "" +"Будьте очень осторожны при изменении почтовых ящиков, которые могут быть " +"одновременно изменены каким-либо другим процессом. Самый безопасный формат " +"почтового ящика для таких задач — :class:`Maildir`; старайтесь избегать " +"использования однофайловых форматов, таких как :class:`mbox`, для " +"одновременной записи. Если вы изменяете почтовый ящик, вы *должны* " +"заблокировать его, вызвав методы :meth:`lock` и :meth:`unlock` *перед* " +"чтением любых сообщений в файле или внесением каких-либо изменений путем " +"добавления или удаления сообщения. . Если не заблокировать почтовый ящик, " +"существует риск потери сообщений или повреждения всего почтового ящика." msgid ":class:`!Mailbox` instances have the following methods:" -msgstr "" +msgstr "Экземпляры :class:`!Mailbox` имеют следующие методы:" msgid "" "Add *message* to the mailbox and return the key that has been assigned to it." msgstr "" +"Додайте *повідомлення* до поштової скриньки та поверніть призначений їй ключ." msgid "" "Parameter *message* may be a :class:`Message` instance, an :class:`email." @@ -121,12 +164,20 @@ msgid "" "format-specific information is used. Otherwise, reasonable defaults for " "format-specific information are used." msgstr "" +"Параметр *message* може бути екземпляром :class:`Message`, екземпляром :" +"class:`email.message.Message`, рядком, рядком байтів або файлоподібним " +"об’єктом (який має бути відкритий у двійковому режимі) . Якщо *message* є " +"екземпляром відповідного підкласу :class:`Message` (наприклад, якщо це " +"екземпляр :class:`mboxMessage`, а це екземпляр :class:`mbox`), його " +"специфічний для формату використовується інформація. В іншому випадку " +"використовуються розумні значення за замовчуванням для інформації про певний " +"формат." msgid "Support for binary input was added." -msgstr "" +msgstr "Додано підтримку двійкового введення." msgid "Delete the message corresponding to *key* from the mailbox." -msgstr "" +msgstr "Видалити з поштової скриньки повідомлення, що відповідає *ключу*." msgid "" "If no such message exists, a :exc:`KeyError` exception is raised if the " @@ -135,11 +186,18 @@ msgid "" "`discard` may be preferred if the underlying mailbox format supports " "concurrent modification by other processes." msgstr "" +"Якщо такого повідомлення немає, виникає виняток :exc:`KeyError`, якщо метод " +"викликано як :meth:`remove` або :meth:`__delitem__`, але жодного винятку не " +"виникає, якщо метод викликано як :meth:`discard`. Поведінка :meth:`discard` " +"може бути кращою, якщо базовий формат поштової скриньки підтримує одночасну " +"модифікацію іншими процесами." msgid "" "Replace the message corresponding to *key* with *message*. Raise a :exc:" "`KeyError` exception if no message already corresponds to *key*." msgstr "" +"Замініть повідомлення, що відповідає *ключу* на *повідомлення*. Викликати " +"виняток :exc:`KeyError`, якщо жодне повідомлення вже не відповідає *ключу*." msgid "" "As with :meth:`add`, parameter *message* may be a :class:`Message` instance, " @@ -151,14 +209,24 @@ msgid "" "specific information of the message that currently corresponds to *key* is " "left unchanged." msgstr "" +"Як і :meth:`add`, параметр *message* може бути екземпляром :class:`Message`, " +"екземпляром :class:`email.message.Message`, рядком, рядком байтів або " +"файлоподібним об’єктом (який має бути відкритий у двійковому режимі). Якщо " +"*message* є екземпляром відповідного підкласу :class:`Message` (наприклад, " +"якщо це екземпляр :class:`mboxMessage`, а це екземпляр :class:`mbox`), його " +"специфічний для формату використовується інформація. В іншому випадку " +"інформація про формат повідомлення, яке наразі відповідає *ключу*, " +"залишається без змін." msgid "Return an :term:`iterator` over all keys" -msgstr "" +msgstr "Вернуть :term:`итератор` по всем ключам" msgid "" "The same as :meth:`iterkeys`, except that a :class:`list` is returned rather " "than an :term:`iterator`" msgstr "" +"То же, что и :meth:`iterkeys`, за исключением того, что возвращается :class:" +"`list`, а не :term:`iterator`" msgid "" "Return an :term:`iterator` over representations of all messages. The " @@ -166,16 +234,24 @@ msgid "" "class:`Message` subclass unless a custom message factory was specified when " "the :class:`!Mailbox` instance was initialized." msgstr "" +"Возвращает :term:`итератор` для представлений всех сообщений. Сообщения " +"представлены как экземпляры соответствующего подкласса :class:`Message`, " +"специфичного для формата, если при инициализации экземпляра :class:`!" +"Mailbox` не была указана пользовательская фабрика сообщений." msgid "" "The behavior of :meth:`__iter__` is unlike that of dictionaries, which " "iterate over keys." msgstr "" +"Поведінка :meth:`__iter__` відрізняється від поведінки словників, які " +"перебирають ключі." msgid "" "The same as :meth:`itervalues`, except that a :class:`list` is returned " "rather than an :term:`iterator`" msgstr "" +"То же, что :meth:`itervalues`, за исключением того, что возвращается :class:" +"`list`, а не :term:`iterator`" msgid "" "Return an :term:`iterator` over (*key*, *message*) pairs, where *key* is a " @@ -184,11 +260,18 @@ msgid "" "unless a custom message factory was specified when the :class:`!Mailbox` " "instance was initialized." msgstr "" +"Возвращает :term:`iterator` для пар (*key*, *message*), где *key* — это " +"ключ, а *message* — представление сообщения. Сообщения представлены как " +"экземпляры соответствующего подкласса :class:`Message`, специфичного для " +"формата, если при инициализации экземпляра :class:`!Mailbox` не была указана " +"пользовательская фабрика сообщений." msgid "" "The same as :meth:`iteritems`, except that a :class:`list` of pairs is " "returned rather than an :term:`iterator` of pairs." msgstr "" +"То же, что и :meth:`iteritems`, за исключением того, что возвращается :class:" +"`list` пар, а не :term:`iterator` пар." msgid "" "Return a representation of the message corresponding to *key*. If no such " @@ -199,17 +282,29 @@ msgid "" "message factory was specified when the :class:`!Mailbox` instance was " "initialized." msgstr "" +"Возвращает представление сообщения, соответствующее *key*. Если такого " +"сообщения не существует, возвращается *default*, если метод был вызван как :" +"meth:`get`, и возникает исключение :exc:`KeyError`, если метод был вызван " +"как :meth:`!__getitem__`. Сообщение представляется как экземпляр " +"соответствующего подкласса :class:`Message`, специфичного для формата, если " +"при инициализации экземпляра :class:`!Mailbox` не была указана " +"пользовательская фабрика сообщений." msgid "" "Return a representation of the message corresponding to *key* as an instance " "of the appropriate format-specific :class:`Message` subclass, or raise a :" "exc:`KeyError` exception if no such message exists." msgstr "" +"Повернути представлення повідомлення, що відповідає *key*, як екземпляр " +"відповідного підкласу :class:`Message` або створити виняток :exc:`KeyError`, " +"якщо таке повідомлення не існує." msgid "" "Return a byte representation of the message corresponding to *key*, or raise " "a :exc:`KeyError` exception if no such message exists." msgstr "" +"Повертає байтове представлення повідомлення, що відповідає *key*, або " +"викликає виняток :exc:`KeyError`, якщо такого повідомлення не існує." msgid "" "Return a string representation of the message corresponding to *key*, or " @@ -217,6 +312,10 @@ msgid "" "processed through :class:`email.message.Message` to convert it to a 7bit " "clean representation." msgstr "" +"Повернути рядкове представлення повідомлення, що відповідає *key*, або " +"викликати виняток :exc:`KeyError`, якщо такого повідомлення не існує. " +"Повідомлення обробляється через :class:`email.message.Message`, щоб " +"перетворити його на 7-бітне чисте представлення." msgid "" "Return a :term:`file-like ` representation of the message " @@ -224,6 +323,11 @@ msgid "" "message exists. The file-like object behaves as if open in binary mode. " "This file should be closed once it is no longer needed." msgstr "" +"Возвращает :term:`file-like <файлоподобный объект>` представление сообщения, " +"соответствующего *key*, или вызывает исключение :exc:`KeyError`, если такого " +"сообщения не существует. Файлоподобный объект ведет себя так, как если бы он " +"был открыт в двоичном режиме. Этот файл следует закрыть, как только он " +"больше не понадобится." msgid "" "The file object really is a :term:`binary file`; previously it was " @@ -231,6 +335,11 @@ msgid "" "supports the :term:`context manager` protocol: you can use a :keyword:`with` " "statement to automatically close it." msgstr "" +"Файловый объект на самом деле является :term:`двоичным файлом`; ранее он " +"неправильно возвращался в текстовом режиме. Кроме того, объект :term:" +"`файлоподобный` теперь поддерживает протокол :term:`контекстного менеджера`: " +"вы можете использовать оператор :keyword:`with` для его автоматического " +"закрытия." msgid "" "Unlike other representations of messages, :term:`file-like ` не обязательно независимы от экземпляра :class:`!" +"Mailbox`, который их создал, или от базового почтового ящика. Более " +"конкретная документация предоставляется каждым подклассом." msgid "Return ``True`` if *key* corresponds to a message, ``False`` otherwise." msgstr "" +"Повертає ``True``, якщо *ключ* відповідає повідомленню, ``False`` інакше." msgid "Return a count of messages in the mailbox." -msgstr "" +msgstr "Повернути кількість повідомлень у поштовій скриньці." msgid "Delete all messages from the mailbox." -msgstr "" +msgstr "Видалити всі повідомлення з поштової скриньки." msgid "" "Return a representation of the message corresponding to *key* and delete the " @@ -255,6 +369,11 @@ msgid "" "`Message` subclass unless a custom message factory was specified when the :" "class:`!Mailbox` instance was initialized." msgstr "" +"Верните представление сообщения, соответствующее *key*, и удалите сообщение. " +"Если такого сообщения не существует, верните *default*. Сообщение " +"представляется как экземпляр соответствующего подкласса :class:`Message`, " +"специфичного для формата, если при инициализации экземпляра :class:`!" +"Mailbox` не была указана пользовательская фабрика сообщений." msgid "" "Return an arbitrary (*key*, *message*) pair, where *key* is a key and " @@ -264,6 +383,12 @@ msgid "" "`Message` subclass unless a custom message factory was specified when the :" "class:`!Mailbox` instance was initialized." msgstr "" +"Верните произвольную пару (*key*, *message*), где *key* — это ключ, а " +"*message* — представление сообщения, и удалите соответствующее сообщение. " +"Если почтовый ящик пуст, вызовите исключение :exc:`KeyError`. Сообщение " +"представляется как экземпляр соответствующего подкласса :class:`Message`, " +"специфичного для формата, если при инициализации экземпляра :class:`!" +"Mailbox` не была указана пользовательская фабрика сообщений." msgid "" "Parameter *arg* should be a *key*-to-*message* mapping or an iterable of " @@ -274,15 +399,27 @@ msgid "" "exception will be raised, so in general it is incorrect for *arg* to be a :" "class:`!Mailbox` instance." msgstr "" +"Параметр *arg* должен быть сопоставлением *ключ* с *сообщением* или " +"итерацией пар (*ключ*, *сообщение*). Обновляет почтовый ящик так, что для " +"каждого данного *ключа* и *сообщения* сообщение, соответствующее *ключу*, " +"устанавливается в *message*, как если бы с помощью :meth:`__setitem__`. Как " +"и в случае с :meth:`__setitem__`, каждый *key* уже должен соответствовать " +"сообщению в почтовом ящике, иначе будет возбуждено исключение :exc:" +"`KeyError`, поэтому в целом неправильно, чтобы *arg* был : class:`!Mailbox` " +"экземпляр." msgid "Unlike with dictionaries, keyword arguments are not supported." -msgstr "" +msgstr "На відміну від словників, аргументи ключових слів не підтримуються." msgid "" "Write any pending changes to the filesystem. For some :class:`Mailbox` " "subclasses, changes are always written immediately and :meth:`!flush` does " "nothing, but you should still make a habit of calling this method." msgstr "" +"Запишите все ожидающие изменения в файловую систему. Для некоторых " +"подклассов :class:`Mailbox` изменения всегда записываются немедленно, а :" +"meth:`!flush` ничего не делает, но вам все равно следует выработать привычку " +"вызывать этот метод." msgid "" "Acquire an exclusive advisory lock on the mailbox so that other processes " @@ -291,17 +428,25 @@ msgid "" "mailbox format. You should *always* lock the mailbox before making any " "modifications to its contents." msgstr "" +"Отримайте ексклюзивне консультаційне блокування поштової скриньки, щоб інші " +"процеси знали, що не потрібно її змінювати. Якщо блокування недоступне, " +"виникає :exc:`ExternalClashError`. Використовувані конкретні механізми " +"блокування залежать від формату поштової скриньки. Ви повинні *завжди* " +"блокувати поштову скриньку, перш ніж вносити будь-які зміни в її вміст." msgid "Release the lock on the mailbox, if any." -msgstr "" +msgstr "Зніміть блокування поштової скриньки, якщо є." msgid "" "Flush the mailbox, unlock it if necessary, and close any open files. For " "some :class:`!Mailbox` subclasses, this method does nothing." msgstr "" +"Очистите почтовый ящик, при необходимости разблокируйте его и закройте все " +"открытые файлы. Для некоторых подклассов :class:`!Mailbox` этот метод ничего " +"не делает." msgid ":class:`!Maildir` objects" -msgstr "" +msgstr ":class:`!Maildir` объекты" msgid "" "A subclass of :class:`Mailbox` for mailboxes in Maildir format. Parameter " @@ -311,16 +456,26 @@ msgid "" "used as the default message representation. If *create* is ``True``, the " "mailbox is created if it does not exist." msgstr "" +"Підклас :class:`Mailbox` для поштових скриньок у форматі Maildir. Параметр " +"*factory* — це викликаючий об’єкт, який приймає файлоподібне представлення " +"повідомлення (яке поводиться так, ніби відкрито в двійковому режимі) і " +"повертає спеціальне представлення. Якщо *factory* має значення ``None``, :" +"class:`MaildirMessage` використовується як типове представлення " +"повідомлення. Якщо *create* має значення ``True``, поштова скринька буде " +"створена, якщо вона не існує." msgid "" "If *create* is ``True`` and the *dirname* path exists, it will be treated as " "an existing maildir without attempting to verify its directory layout." msgstr "" +"Якщо *create* має значення ``True`` і шлях *dirname* існує, він " +"розглядатиметься як існуючий maildir без спроби перевірити розташування його " +"каталогу." msgid "" "It is for historical reasons that *dirname* is named as such rather than " "*path*." -msgstr "" +msgstr "З історичних причин *dirname* названо так, а не *path*." msgid "" "Maildir is a directory-based mailbox format invented for the qmail mail " @@ -330,6 +485,12 @@ msgid "" "by multiple unrelated programs without data corruption, so file locking is " "unnecessary." msgstr "" +"Maildir — це формат поштової скриньки на основі каталогу, винайдений для " +"агента передачі пошти qmail і тепер широко підтримується іншими програмами. " +"Повідомлення в поштовій скриньці Maildir зберігаються в окремих файлах у " +"загальній структурі каталогу. Ця конструкція дозволяє отримувати доступ до " +"поштових скриньок Maildir і змінювати їх кількома непов’язаними програмами " +"без пошкодження даних, тому блокування файлів непотрібне." msgid "" "Maildir mailboxes contain three subdirectories, namely: :file:`tmp`, :file:" @@ -339,6 +500,12 @@ msgid "" "`cur` subdirectory and store information about the state of the message in a " "special \"info\" section appended to its file name." msgstr "" +"Поштові скриньки Maildir містять три підкаталоги, а саме: :file:`tmp`, :file:" +"`new` і :file:`cur`. Повідомлення миттєво створюються в підкаталозі :file:" +"`tmp`, а потім переміщуються в підкаталог :file:`new` для завершення " +"доставки. Поштовий агент користувача може згодом перемістити повідомлення до " +"підкаталогу :file:`cur` і зберегти інформацію про стан повідомлення в " +"спеціальному розділі \"info\", доданому до імені файлу." msgid "" "Folders of the style introduced by the Courier mail transfer agent are also " @@ -349,6 +516,13 @@ msgid "" "nesting is indicated using ``'.'`` to delimit levels, e.g., " "\"Archived.2005.07\"." msgstr "" +"Также поддерживаются папки в стиле, представленном агентом передачи почты " +"Courier. Любой подкаталог основного почтового ящика считается папкой, если " +"``'.'`` является первым символом в его имени. Имена папок представлены :" +"class:`!Maildir` без начального ``'.'``. Каждая папка сама по себе является " +"почтовым ящиком Maildir, но не должна содержать других папок. Вместо этого " +"логическая вложенность обозначается с помощью ``'.'`` для разделения " +"уровней, например, \"Архив.2005.07\"." msgid "" "The Maildir specification requires the use of a colon (``':'``) in certain " @@ -357,48 +531,69 @@ msgid "" "operating system, you should specify another character to use instead. The " "exclamation point (``'!'``) is a popular choice. For example::" msgstr "" +"Специфікація Maildir вимагає використання двокрапки (``':'``) у певних " +"іменах файлів повідомлень. Однак деякі операційні системи не дозволяють " +"використовувати цей символ у назвах файлів. Якщо ви бажаєте використовувати " +"формат, подібний до Maildir, у такій операційній системі, вам слід указати " +"інший символ для використання замість нього. Знак оклику (``'!'``) є " +"популярним вибором. Наприклад::" msgid "" "import mailbox\n" "mailbox.Maildir.colon = '!'" msgstr "" +"import mailbox\n" +"mailbox.Maildir.colon = '!'" msgid "The :attr:`!colon` attribute may also be set on a per-instance basis." msgstr "" +"Атрибут :attr:`!colon` также может быть установлен для каждого экземпляра." msgid ":class:`Maildir` now ignores files with a leading dot." -msgstr "" +msgstr ":class:`Maildir` теперь игнорирует файлы с точкой в ​​начале." msgid "" ":class:`!Maildir` instances have all of the methods of :class:`Mailbox` in " "addition to the following:" msgstr "" +"Экземпляры :class:`!Maildir` имеют все методы :class:`Mailbox` в дополнение " +"к следующим:" msgid "Return a list of the names of all folders." -msgstr "" +msgstr "Повернути список імен усіх папок." msgid "" "Return a :class:`!Maildir` instance representing the folder whose name is " "*folder*. A :exc:`NoSuchMailboxError` exception is raised if the folder does " "not exist." msgstr "" +"Возвращает экземпляр :class:`!Maildir`, представляющий папку с именем " +"*folder*. Исключение :exc:`NoSuchMailboxError` возникает, если папка не " +"существует." msgid "" "Create a folder whose name is *folder* and return a :class:`!Maildir` " "instance representing it." msgstr "" +"Создайте папку с именем *folder* и верните представляющий ее экземпляр :" +"class:`!Maildir`." msgid "" "Delete the folder whose name is *folder*. If the folder contains any " "messages, a :exc:`NotEmptyError` exception will be raised and the folder " "will not be deleted." msgstr "" +"Видаліть папку з назвою *папка*. Якщо папка містить будь-які повідомлення, " +"буде викликано виняток :exc:`NotEmptyError` і папку не буде видалено." msgid "" "Delete temporary files from the mailbox that have not been accessed in the " "last 36 hours. The Maildir specification says that mail-reading programs " "should do this occasionally." msgstr "" +"Видаліть із поштової скриньки тимчасові файли, до яких не було доступу " +"протягом останніх 36 годин. Специфікація Maildir говорить, що програми для " +"читання пошти повинні робити це час від часу." msgid "" "Return as a string the flags that are set on the message corresponding to " @@ -406,6 +601,10 @@ msgid "" "because it does not open the message file. Use this method when iterating " "over the keys to determine which messages are interesting to get." msgstr "" +"Возвращает в виде строки флаги, установленные в сообщении, соответствующем " +"*key*. Это то же самое, что и get_message(key).get_flags(), но гораздо " +"быстрее, поскольку файл сообщения не открывается. Используйте этот метод при " +"переборе ключей, чтобы определить, какие сообщения интересно получить." msgid "" "If you do have a :class:`MaildirMessage` object, use its :meth:" @@ -414,21 +613,32 @@ msgid "" "add_flag` and :meth:`~MaildirMessage.remove_flag` methods are not reflected " "here until the mailbox's :meth:`__setitem__` method is called." msgstr "" +"Если у вас есть объект :class:`MaildirMessage`, используйте вместо него его " +"метод :meth:`~MaildirMessage.get_flags`, поскольку изменения, внесенные :" +"meth:`~MaildirMessage.set_flags`, :meth:`~MaildirMessage сообщения. Методы " +"add_flag` и :meth:`~MaildirMessage.remove_flag` не отображаются здесь до тех " +"пор, пока не будет вызван метод почтового ящика :meth:`__setitem__`." msgid "" "On the message corresponding to *key*, set the flags specified by *flags* " "and unset all others. Calling ``some_mailbox.set_flags(key, flags)`` is " "similar to ::" msgstr "" +"В сообщении, соответствующем *key*, установите флаги, указанные *flags*, и " +"отключите все остальные. Вызов ``some_mailbox.set_flags(key, flags)`` " +"аналогичен::" msgid "" "one_message = some_mailbox.get_message(key)\n" "one_message.set_flags(flags)\n" "some_mailbox[key] = one_message" msgstr "" +"one_message = some_mailbox.get_message(key)\n" +"one_message.set_flags(flags)\n" +"some_mailbox[key] = one_message" msgid "but faster, because it does not open the message file." -msgstr "" +msgstr "но быстрее, потому что файл сообщения не открывается." msgid "" "If you do have a :class:`MaildirMessage` object, use its :meth:" @@ -436,30 +646,46 @@ msgid "" "mailbox method will not be visible to the message object's method, :meth:" "`~MaildirMessage.get_flags`." msgstr "" +"Если у вас есть объект :class:`MaildirMessage`, используйте вместо него его " +"метод :meth:`~MaildirMessage.set_flags`, поскольку изменения, сделанные с " +"помощью этого метода почтового ящика, не будут видны методу объекта " +"сообщения, :meth:`~MaildirMessage .get_flags`." msgid "" "On the message corresponding to *key*, set the flags specified by *flag* " "without changing other flags. To add more than one flag at a time, *flag* " "may be a string of more than one character." msgstr "" +"В сообщении, соответствующем *key*, установите флаги, указанные *flag*, не " +"меняя другие флаги. Чтобы добавить более одного флага одновременно, *flag* " +"может быть строкой, состоящей из более чем одного символа." msgid "" "Considerations for using this method versus the message object's :meth:" "`~MaildirMessage.add_flag` method are similar to those for :meth:" "`set_flags`; see the discussion there." msgstr "" +"Рекомендации по использованию этого метода по сравнению с методом :meth:" +"`~MaildirMessage.add_flag` объекта сообщения аналогичны таковым для :meth:" +"`set_flags`; посмотри обсуждение там." msgid "" "On the message corresponding to *key*, unset the flags specified by *flag* " "without changing other flags. To remove more than one flag at a time, *flag* " "may be a string of more than one character." msgstr "" +"В сообщении, соответствующем *key*, снимите флаги, указанные *flag*, не " +"меняя другие флаги. Чтобы удалить более одного флага одновременно, *flag* " +"может быть строкой, состоящей из более чем одного символа." msgid "" "Considerations for using this method versus the message object's :meth:" "`~MaildirMessage.remove_flag` method are similar to those for :meth:" "`set_flags`; see the discussion there." msgstr "" +"Рекомендации по использованию этого метода по сравнению с методом :meth:" +"`~MaildirMessage.remove_flag` объекта сообщения аналогичны тем, которые " +"используются для :meth:`set_flags`; посмотри обсуждение там." msgid "" "Return a string containing the info for the message corresponding to *key*. " @@ -467,6 +693,10 @@ msgid "" "it does not open the message file. Use this method when iterating over the " "keys to determine which messages are interesting to get." msgstr "" +"Возвращает строку, содержащую информацию о сообщении, соответствующем *key*. " +"Это то же самое, что и get_message(key).get_info(), но гораздо быстрее, " +"поскольку файл сообщения не открывается. Используйте этот метод при переборе " +"ключей, чтобы определить, какие сообщения интересно получить." msgid "" "If you do have a :class:`MaildirMessage` object, use its :meth:" @@ -474,17 +704,26 @@ msgid "" "message's :meth:`~MaildirMessage.set_info` method are not reflected here " "until the mailbox's :meth:`__setitem__` method is called." msgstr "" +"Если у вас есть объект :class:`MaildirMessage`, используйте вместо него его " +"метод :meth:`~MaildirMessage.get_info`, поскольку изменения, внесенные " +"методом :meth:`~MaildirMessage.set_info` сообщения, не отражаются здесь до " +"тех пор, пока почтовый ящик не будет Вызывается метод :meth:`__setitem__`." msgid "" "Set the info of the message corresponding to *key* to *info*. Calling " "``some_mailbox.set_info(key, flags)`` is similar to ::" msgstr "" +"Установите для информации сообщения, соответствующего *key*, значение " +"*info*. Вызов ``some_mailbox.set_info(key, flags)`` аналогичен::" msgid "" "one_message = some_mailbox.get_message(key)\n" "one_message.set_info(info)\n" "some_mailbox[key] = one_message" msgstr "" +"one_message = some_mailbox.get_message(key)\n" +"one_message.set_info(info)\n" +"some_mailbox[key] = one_message" msgid "" "If you do have a :class:`MaildirMessage` object, use its :meth:" @@ -492,11 +731,17 @@ msgid "" "mailbox method will not be visible to the message object's method, :meth:" "`~MaildirMessage.get_info`." msgstr "" +"Если у вас есть объект :class:`MaildirMessage`, используйте вместо него его " +"метод :meth:`~MaildirMessage.set_info`, поскольку изменения, сделанные с " +"помощью этого метода почтового ящика, не будут видны методу объекта " +"сообщения, :meth:`~MaildirMessage .get_info`." msgid "" "Some :class:`Mailbox` methods implemented by :class:`!Maildir` deserve " "special remarks:" msgstr "" +"Некоторые методы :class:`Mailbox`, реализованные :class:`!Maildir`, " +"заслуживают особого внимания:" msgid "" "These methods generate unique file names based upon the current process ID. " @@ -504,46 +749,64 @@ msgid "" "corruption of the mailbox unless threads are coordinated to avoid using " "these methods to manipulate the same mailbox simultaneously." msgstr "" +"Ці методи генерують унікальні імена файлів на основі ідентифікатора " +"поточного процесу. Під час використання кількох потоків можуть виникнути " +"невиявлені конфлікти імен і спричинити пошкодження поштової скриньки, якщо " +"потоки не координуються, щоб уникнути використання цих методів для " +"одночасного маніпулювання тією самою поштовою скринькою." msgid "" "All changes to Maildir mailboxes are immediately applied, so this method " "does nothing." msgstr "" +"Усі зміни в поштових скриньках Maildir застосовуються негайно, тому цей " +"метод нічого не робить." msgid "" "Maildir mailboxes do not support (or require) locking, so these methods do " "nothing." msgstr "" +"Поштові скриньки Maildir не підтримують (або вимагають) блокування, тому ці " +"методи нічого не роблять." msgid "" ":class:`!Maildir` instances do not keep any open files and the underlying " "mailboxes do not support locking, so this method does nothing." msgstr "" +"Экземпляры :class:`!Maildir` не сохраняют открытых файлов, а базовые " +"почтовые ящики не поддерживают блокировку, поэтому этот метод ничего не " +"делает." msgid "" "Depending upon the host platform, it may not be possible to modify or remove " "the underlying message while the returned file remains open." msgstr "" +"Залежно від хост-платформи може бути неможливо змінити або видалити базове " +"повідомлення, поки повернутий файл залишається відкритим." msgid "" "`maildir man page from Courier `_" msgstr "" +"`Справочная страница maildir от Courier `_" msgid "" "A specification of the format. Describes a common extension for supporting " "folders." -msgstr "" +msgstr "Специфікація формату. Описує загальне розширення для підтримки папок." msgid "`Using maildir format `_" -msgstr "" +msgstr "`Using maildir format `_" msgid "" "Notes on Maildir by its inventor. Includes an updated name-creation scheme " "and details on \"info\" semantics." msgstr "" +"Нотатки про Maildir від його винахідника. Включає оновлену схему створення " +"імен і подробиці семантики \"info\"." msgid ":class:`!mbox` objects" -msgstr "" +msgstr ":class:`!mbox` объекты" msgid "" "A subclass of :class:`Mailbox` for mailboxes in mbox format. Parameter " @@ -553,6 +816,13 @@ msgid "" "used as the default message representation. If *create* is ``True``, the " "mailbox is created if it does not exist." msgstr "" +"Підклас :class:`Mailbox` для поштових скриньок у форматі mbox. Параметр " +"*factory* — це викликаючий об’єкт, який приймає файлоподібне представлення " +"повідомлення (яке поводиться так, ніби відкрито в двійковому режимі) і " +"повертає спеціальне представлення. Якщо *factory* має значення ``None``, :" +"class:`mboxMessage` використовується як типове представлення повідомлення. " +"Якщо *create* має значення ``True``, поштова скринька буде створена, якщо " +"вона не існує." msgid "" "The mbox format is the classic format for storing mail on Unix systems. All " @@ -560,6 +830,10 @@ msgid "" "of each message indicated by a line whose first five characters are \"From " "\"." msgstr "" +"Формат mbox є класичним форматом для зберігання пошти в системах Unix. Усі " +"повідомлення в поштовій скриньці mbox зберігаються в одному файлі, початок " +"кожного повідомлення позначається рядком, перші п’ять символів якого є " +"\"Від\"." msgid "" "Several variations of the mbox format exist to address perceived " @@ -571,55 +845,79 @@ msgid "" "message, although occurrences of \">From \" are not transformed to \"From \" " "when reading the message." msgstr "" +"Существует несколько вариантов формата mbox для устранения очевидных " +"недостатков оригинала. В целях совместимости :class:`!mbox` реализует " +"исходный формат, который иногда называют :dfn:`mboxo`. Это означает, что " +"заголовок :mailheader:`Content-Length`, если он присутствует, игнорируется и " +"что любые вхождения «From» в начале строки в теле сообщения преобразуются в " +"«>From» при сохранении сообщения, хотя вхождения «>От» не преобразуются в " +"«От» при чтении сообщения." msgid "" "Some :class:`Mailbox` methods implemented by :class:`!mbox` deserve special " "remarks:" msgstr "" +"Некоторые методы :class:`Mailbox`, реализованные :class:`!mbox`, заслуживают " +"особого внимания:" msgid "" "Note: This method has an extra parameter (*from_*) compared with other " "classes. The first line of an mbox file entry is the Unix \"From \" line. If " "*from_* is False, the first line of the file is dropped." msgstr "" +"Примечание: Этот метод имеет дополнительный параметр (*from_*) по сравнению " +"с другими классами. Первая строка записи файла mbox — это строка Unix " +"\"From\". Если *from_* — False, первая строка файла отбрасывается." msgid "" "Using the file after calling :meth:`~Mailbox.flush` or :meth:`~Mailbox." "close` on the :class:`!mbox` instance may yield unpredictable results or " "raise an exception." msgstr "" +"Использование файла после вызова :meth:`~Mailbox.flush` или :meth:`~Mailbox." +"close` в экземпляре :class:`!mbox` может привести к непредсказуемым " +"результатам или вызвать исключение." msgid "" "Three locking mechanisms are used---dot locking and, if available, the :c:" "func:`!flock` and :c:func:`!lockf` system calls." msgstr "" +"Используются три механизма блокировки — точечная блокировка и, если " +"доступно, системные вызовы :c:func:`!flock` и :c:func:`!lockf`." msgid "" "`mbox man page from tin `_" msgstr "" +"`mbox man page from tin `_" msgid "A specification of the format, with details on locking." -msgstr "" +msgstr "Специфікація формату з деталями щодо блокування." msgid "" "`Configuring Netscape Mail on Unix: Why The Content-Length Format is Bad " "`_" msgstr "" +"`Configuring Netscape Mail on Unix: Why The Content-Length Format is Bad " +"`_" msgid "An argument for using the original mbox format rather than a variation." -msgstr "" +msgstr "Аргумент для використання оригінального формату mbox, а не варіації." msgid "" "`\"mbox\" is a family of several mutually incompatible mailbox formats " "`_" msgstr "" +"`\"mbox\" - це сімейство з кількох взаємно несумісних форматів поштових " +"скриньок `_" msgid "A history of mbox variations." -msgstr "" +msgstr "Історія різновидів mbox." msgid ":class:`!MH` objects" -msgstr "" +msgstr ":class:`!MH` объекты" msgid "" "A subclass of :class:`Mailbox` for mailboxes in MH format. Parameter " @@ -629,6 +927,13 @@ msgid "" "as the default message representation. If *create* is ``True``, the mailbox " "is created if it does not exist." msgstr "" +"Підклас :class:`Mailbox` для поштових скриньок у форматі MH. Параметр " +"*factory* — це викликаючий об’єкт, який приймає файлоподібне представлення " +"повідомлення (яке поводиться так, ніби відкрито в двійковому режимі) і " +"повертає спеціальне представлення. Якщо *factory* має значення ``None``, :" +"class:`MHMessage` використовується як типове представлення повідомлення. " +"Якщо *create* має значення ``True``, поштова скринька буде створена, якщо " +"вона не існує." msgid "" "MH is a directory-based mailbox format invented for the MH Message Handling " @@ -639,6 +944,15 @@ msgid "" "messages without moving them to sub-folders. Sequences are defined in a file " "called :file:`.mh_sequences` in each folder." msgstr "" +"MH — це формат поштової скриньки на основі каталогу, створений для системи " +"обробки повідомлень MH, агента користувача електронної пошти. Кожне " +"повідомлення в поштовій скриньці MH зберігається в окремому файлі. Крім " +"повідомлень, поштова скринька MH може містити інші поштові скриньки MH (так " +"звані :dfn:`folders`). Папки можуть бути вкладеними нескінченно довго. " +"Поштові скриньки MH також підтримують :dfn:`sequences`, які є іменованими " +"списками, які використовуються для логічного групування повідомлень без їх " +"переміщення до підпапок. Послідовності визначено у файлі під назвою :file:`." +"mh_sequences` у кожній папці." msgid "" "The :class:`!MH` class manipulates MH mailboxes, but it does not attempt to " @@ -646,56 +960,80 @@ msgid "" "and is not affected by the :file:`context` or :file:`.mh_profile` files that " "are used by :program:`mh` to store its state and configuration." msgstr "" +"Класс :class:`!MH` управляет почтовыми ящиками MH, но не пытается " +"эмулировать все поведение :program:`mh`. В частности, он не модифицируется и " +"не подвергается воздействию файлов :file:`context` или :file:`.mh_profile`, " +"которые используются :program:`mh` для хранения его состояния и конфигурации." msgid "" ":class:`!MH` instances have all of the methods of :class:`Mailbox` in " "addition to the following:" msgstr "" +"Экземпляры :class:`!MH` имеют все методы :class:`Mailbox` в дополнение к " +"следующим:" msgid "Supported folders that don't contain a :file:`.mh_sequences` file." -msgstr "" +msgstr "Поддерживаемые папки, не содержащие файла :file:`.mh_sequences`." msgid "" "Return an :class:`!MH` instance representing the folder whose name is " "*folder*. A :exc:`NoSuchMailboxError` exception is raised if the folder does " "not exist." msgstr "" +"Возвращает экземпляр :class:`!MH`, представляющий папку с именем *folder*. " +"Исключение :exc:`NoSuchMailboxError` возникает, если папка не существует." msgid "" "Create a folder whose name is *folder* and return an :class:`!MH` instance " "representing it." msgstr "" +"Создайте папку с именем *folder* и верните представляющий ее экземпляр :" +"class:`!MH`." msgid "" "Return a dictionary of sequence names mapped to key lists. If there are no " "sequences, the empty dictionary is returned." msgstr "" +"Повертає словник імен послідовностей, зіставлених зі списками ключів. Якщо " +"послідовностей немає, повертається порожній словник." msgid "" "Re-define the sequences that exist in the mailbox based upon *sequences*, a " "dictionary of names mapped to key lists, like returned by :meth:" "`get_sequences`." msgstr "" +"Повторно визначте послідовності, які існують у поштовій скриньці, на основі " +"*sequences*, словника імен, зіставлених зі списками ключів, як повертає :" +"meth:`get_sequences`." msgid "" "Rename messages in the mailbox as necessary to eliminate gaps in numbering. " "Entries in the sequences list are updated correspondingly." msgstr "" +"Перейменуйте повідомлення в поштовій скриньці за потреби, щоб усунути " +"прогалини в нумерації. Записи в списку послідовностей оновлюються відповідно." msgid "" "Already-issued keys are invalidated by this operation and should not be " "subsequently used." msgstr "" +"Уже видані ключі стають недійсними під час цієї операції та не повинні " +"використовуватися згодом." msgid "" "Some :class:`Mailbox` methods implemented by :class:`!MH` deserve special " "remarks:" msgstr "" +"Некоторые методы :class:`Mailbox`, реализованные :class:`!MH`, заслуживают " +"особого внимания:" msgid "" "These methods immediately delete the message. The MH convention of marking a " "message for deletion by prepending a comma to its name is not used." msgstr "" +"Ці методи негайно видаляють повідомлення. Угода MH про позначення " +"повідомлення для видалення шляхом додавання коми перед його назвою не " +"використовується." msgid "" "Three locking mechanisms are used---dot locking and, if available, the :c:" @@ -704,42 +1042,58 @@ msgid "" "duration of any operations that affect them, locking individual message " "files." msgstr "" +"Используются три механизма блокировки — точечная блокировка и, если " +"доступно, системные вызовы :c:func:`!flock` и :c:func:`!lockf`. Для почтовых " +"ящиков MH блокировка почтового ящика означает блокировку файла :file:`." +"mh_sequences` и, только на время любых влияющих на них операций, блокировку " +"отдельных файлов сообщений." msgid "" "Depending upon the host platform, it may not be possible to remove the " "underlying message while the returned file remains open." msgstr "" +"Залежно від хост-платформи може бути неможливо видалити базове повідомлення, " +"поки повернутий файл залишається відкритим." msgid "" "All changes to MH mailboxes are immediately applied, so this method does " "nothing." msgstr "" +"Усі зміни до поштових скриньок MH негайно застосовуються, тому цей метод " +"нічого не робить." msgid "" ":class:`!MH` instances do not keep any open files, so this method is " "equivalent to :meth:`unlock`." msgstr "" +"Экземпляры :class:`!MH` не сохраняют открытых файлов, поэтому этот метод " +"эквивалентен :meth:`unlock`." msgid "`nmh - Message Handling System `_" -msgstr "" +msgstr "`nmh — система обработки сообщений `_" msgid "" "Home page of :program:`nmh`, an updated version of the original :program:" "`mh`." msgstr "" +"Домашня сторінка :program:`nmh`, оновленої версії оригінальної :program:`mh`." msgid "" "`MH & nmh: Email for Users & Programmers `_" msgstr "" +"`MH & nmh: Електронна пошта для користувачів і програмістів `_" msgid "" "A GPL-licensed book on :program:`mh` and :program:`nmh`, with some " "information on the mailbox format." msgstr "" +"Ліцензована GPL книга про :program:`mh` і :program:`nmh`, з деякою " +"інформацією про формат поштової скриньки." msgid ":class:`!Babyl` objects" -msgstr "" +msgstr ":class:`!Babyl` объекты" msgid "" "A subclass of :class:`Mailbox` for mailboxes in Babyl format. Parameter " @@ -749,6 +1103,13 @@ msgid "" "used as the default message representation. If *create* is ``True``, the " "mailbox is created if it does not exist." msgstr "" +"Підклас :class:`Mailbox` для поштових скриньок у форматі Babyl. Параметр " +"*factory* — це викликаючий об’єкт, який приймає файлоподібне представлення " +"повідомлення (яке поводиться так, ніби відкрито в двійковому режимі) і " +"повертає спеціальне представлення. Якщо *factory* має значення ``None``, :" +"class:`BabylMessage` використовується як типове представлення повідомлення. " +"Якщо *create* має значення ``True``, поштова скринька буде створена, якщо " +"вона не існує." msgid "" "Babyl is a single-file mailbox format used by the Rmail mail user agent " @@ -758,6 +1119,12 @@ msgid "" "message or, in the case of the last message, a line containing a Control-" "Underscore (``'\\037'``) character." msgstr "" +"Babyl — це однофайловий формат поштової скриньки, який використовується " +"поштовим агентом користувача Rmail, що входить до складу Emacs. Початок " +"повідомлення позначається рядком, що містить два символи Control-Underscore " +"(``'\\037'``) і Control-L (``'\\014'``). Кінець повідомлення позначається " +"початком наступного повідомлення або, у випадку останнього повідомлення, " +"рядком, що містить символ Control-Underscore (``'\\037'``)." msgid "" "Messages in a Babyl mailbox have two sets of headers, original headers and " @@ -768,26 +1135,43 @@ msgid "" "message, and a list of all user-defined labels found in the mailbox is kept " "in the Babyl options section." msgstr "" +"Повідомлення в поштовій скриньці Babyl мають два набори заголовків, " +"оригінальні заголовки та так звані видимі заголовки. Видимі заголовки " +"зазвичай є підмножиною вихідних заголовків, які було переформатовано або " +"скорочено, щоб бути більш привабливими. Кожне повідомлення в поштовій " +"скриньці Babyl також має супровідний список :dfn:`labels` або коротких " +"рядків, які записують додаткову інформацію про повідомлення, а список усіх " +"визначених користувачем міток, знайдених у поштовій скриньці, зберігається в " +"розділі параметрів Babyl ." msgid "" ":class:`!Babyl` instances have all of the methods of :class:`Mailbox` in " "addition to the following:" msgstr "" +"Экземпляры :class:`!Babyl` имеют все методы :class:`Mailbox` в дополнение к " +"следующим:" msgid "" "Return a list of the names of all user-defined labels used in the mailbox." msgstr "" +"Повертає список імен усіх визначених користувачем міток, які " +"використовуються в поштовій скриньці." msgid "" "The actual messages are inspected to determine which labels exist in the " "mailbox rather than consulting the list of labels in the Babyl options " "section, but the Babyl section is updated whenever the mailbox is modified." msgstr "" +"Фактичні повідомлення перевіряються, щоб визначити, які мітки існують у " +"поштовій скриньці, замість перегляду списку міток у розділі параметрів " +"Babyl, але розділ Babyl оновлюється щоразу, коли поштова скринька змінюється." msgid "" "Some :class:`Mailbox` methods implemented by :class:`!Babyl` deserve special " "remarks:" msgstr "" +"Некоторые методы :class:`Mailbox`, реализованные :class:`!Babyl`, " +"заслуживают особого внимания:" msgid "" "In Babyl mailboxes, the headers of a message are not stored contiguously " @@ -797,24 +1181,33 @@ msgid "" "object is truly independent of the underlying mailbox but does not save " "memory compared to a string representation." msgstr "" +"У поштових скриньках Babyl заголовки повідомлення не зберігаються поруч із " +"тілом повідомлення. Щоб створити файлоподібне представлення, заголовки та " +"тіло копіюються разом у екземпляр :class:`io.BytesIO`, який має API, " +"ідентичний API файлу. Як наслідок, файлоподібний об’єкт справді не залежить " +"від базової поштової скриньки, але не економить пам’ять у порівнянні з " +"представленням рядків." msgid "" "`Format of Version 5 Babyl Files `_" msgstr "" +"`Format of Version 5 Babyl Files `_" msgid "A specification of the Babyl format." -msgstr "" +msgstr "Специфікація формату Babyl." msgid "" "`Reading Mail with Rmail `_" msgstr "" +"`Reading Mail with Rmail `_" msgid "The Rmail manual, with some information on Babyl semantics." -msgstr "" +msgstr "Посібник Rmail з деякою інформацією про семантику Babyl." msgid ":class:`!MMDF` objects" -msgstr "" +msgstr ":class:`!MMDF` объекты" msgid "" "A subclass of :class:`Mailbox` for mailboxes in MMDF format. Parameter " @@ -824,6 +1217,13 @@ msgid "" "used as the default message representation. If *create* is ``True``, the " "mailbox is created if it does not exist." msgstr "" +"Підклас :class:`Mailbox` для поштових скриньок у форматі MMDF. Параметр " +"*factory* — це викликаючий об’єкт, який приймає файлоподібне представлення " +"повідомлення (яке поводиться так, ніби відкрито в двійковому режимі) і " +"повертає спеціальне представлення. Якщо *factory* має значення ``None``, :" +"class:`MMDFMessage` використовується як типове представлення повідомлення. " +"Якщо *create* має значення ``True``, поштова скринька буде створена, якщо " +"вона не існує." msgid "" "MMDF is a single-file mailbox format invented for the Multichannel " @@ -836,43 +1236,64 @@ msgid "" "separator lines prevent mistaking such occurrences for the starts of " "subsequent messages." msgstr "" +"MMDF — це однофайловий формат поштової скриньки, винайдений для Multichannel " +"Memorandum Distribution Facility, агента пересилання пошти. Кожне " +"повідомлення має таку саму форму, що й повідомлення mbox, але в дужках перед " +"і після рядки містять чотири символи Control-A (``'\\001'``). Як і у форматі " +"mbox, початок кожного повідомлення позначається рядком, перші п’ять символів " +"якого є \"Від\", але додаткові входження \"Від\" не перетворюються на " +"\">Від\" під час зберігання повідомлень, оскільки додаткові рядки-" +"роздільники повідомлень запобігають помилково приймаючи такі випадки за " +"початок наступних повідомлень." msgid "" "Some :class:`Mailbox` methods implemented by :class:`!MMDF` deserve special " "remarks:" msgstr "" +"Некоторые методы :class:`Mailbox`, реализованные :class:`!MMDF`, заслуживают " +"особого внимания:" msgid "" "Using the file after calling :meth:`~Mailbox.flush` or :meth:`~Mailbox." "close` on the :class:`!MMDF` instance may yield unpredictable results or " "raise an exception." msgstr "" +"Использование файла после вызова :meth:`~Mailbox.flush` или :meth:`~Mailbox." +"close` в экземпляре :class:`!MMDF` может привести к непредсказуемым " +"результатам или вызвать исключение." msgid "" "`mmdf man page from tin `_" msgstr "" +"`mmdf man page from tin `_" msgid "" "A specification of MMDF format from the documentation of tin, a newsreader." -msgstr "" +msgstr "Специфікація формату MMDF із документації tin, читання новин." msgid "`MMDF `_" -msgstr "" +msgstr "`MMDF `_" msgid "" "A Wikipedia article describing the Multichannel Memorandum Distribution " "Facility." msgstr "" +"Стаття у Вікіпедії, що описує багатоканальний засіб розповсюдження " +"меморандумів." msgid ":class:`!Message` objects" -msgstr "" +msgstr ":class:`!Message` объекты" msgid "" "A subclass of the :mod:`email.message` module's :class:`~email.message." "Message`. Subclasses of :class:`!mailbox.Message` add mailbox-format-" "specific state and behavior." msgstr "" +"Подкласс модуля :mod:`email.message` :class:`~email.message.Message`. " +"Подклассы :class:`!mailbox.Message` добавляют состояние и поведение, " +"зависящие от формата почтового ящика." msgid "" "If *message* is omitted, the new instance is created in a default, empty " @@ -884,6 +1305,15 @@ msgid "" "open in binary mode, but text mode files are accepted for backward " "compatibility." msgstr "" +"Если *message* опущено, новый экземпляр создается в пустом состоянии по " +"умолчанию. Если *message* является экземпляром :class:`email.message." +"Message`, его содержимое копируется; кроме того, любая информация, " +"специфичная для формата, преобразуется, насколько это возможно, если " +"*message* является экземпляром :class:`!Message`. Если *message* " +"представляет собой строку, байтовую строку или файл, оно должно содержать " +"сообщение, совместимое с :rfc:`2822`\\, которое читается и анализируется. " +"Файлы должны открываться в двоичном режиме, но файлы в текстовом режиме " +"принимаются для обратной совместимости." msgid "" "The format-specific state and behaviors offered by subclasses vary, but in " @@ -895,6 +1325,15 @@ msgid "" "state such as whether a message has been read by the user or marked as " "important is retained, because it applies to the message itself." msgstr "" +"Специфічний для формату стан і поведінка, запропоновані підкласами, " +"відрізняються, але загалом підтримуються лише ті властивості, які не є " +"специфічними для конкретної поштової скриньки (хоча, імовірно, властивості є " +"специфічними для певного формату поштової скриньки). Наприклад, зміщення " +"файлів для однофайлових форматів поштової скриньки та імена файлів для " +"форматів поштової скриньки на основі каталогу не зберігаються, оскільки вони " +"застосовуються лише до оригінальної поштової скриньки. Але інформація про " +"те, чи було повідомлення прочитано користувачем або позначено як важливе, " +"зберігається, оскільки воно стосується самого повідомлення." msgid "" "There is no requirement that :class:`!Message` instances be used to " @@ -905,14 +1344,23 @@ msgid "" "custom message factory may be specified when a :class:`!Mailbox` instance is " "initialized." msgstr "" +"Нет требования, чтобы экземпляры :class:`!Message` использовались для " +"представления сообщений, полученных с помощью экземпляров :class:`Mailbox`. " +"В некоторых ситуациях время и память, необходимые для создания " +"представлений :class:`!Message`, могут оказаться неприемлемыми. Для таких " +"ситуаций экземпляры :class:`!Mailbox` также предлагают строковые и файловые " +"представления, а при инициализации экземпляра :class:`!Mailbox` можно " +"указать собственную фабрику сообщений." msgid ":class:`!MaildirMessage` objects" -msgstr "" +msgstr ":class:`!MaildirMessage` объекты" msgid "" "A message with Maildir-specific behaviors. Parameter *message* has the same " "meaning as with the :class:`Message` constructor." msgstr "" +"Повідомлення зі специфічною поведінкою Maildir. Параметр *message* має те " +"саме значення, що й у конструкторі :class:`Message`." msgid "" "Typically, a mail user agent application moves all of the messages in the :" @@ -926,6 +1374,17 @@ msgid "" "contain \"1,\" followed by so-called experimental information. Standard " "flags for Maildir messages are as follows:" msgstr "" +"Як правило, програма поштового агента користувача переміщує всі повідомлення " +"з підкаталогу :file:`new` до підкаталогу :file:`cur` після того, як " +"користувач вперше відкриває та закриває поштову скриньку, записуючи, що " +"повідомлення є старими незалежно від того чи вони насправді не були " +"прочитані. Кожне повідомлення в :file:`cur` має розділ \"info\", доданий до " +"імені файлу для зберігання інформації про його стан. (Деякі програми для " +"читання пошти також можуть додавати розділ \"info\" до повідомлень у :file:" +"`new`.) Розділ \"info\" може мати одну з двох форм: він може містити \"2\", " +"після якого йде список стандартизованих позначок ( наприклад, \"2,FR\") або " +"може містити \"1\", за яким слідує так звана експериментальна інформація. " +"Стандартні позначки для повідомлень Maildir такі:" msgid "Flag" msgstr "" @@ -940,75 +1399,84 @@ msgid "D" msgstr "D" msgid "Draft" -msgstr "" +msgstr "Чернетка" msgid "Under composition" -msgstr "" +msgstr "Під композицією" msgid "F" msgstr "F" msgid "Flagged" -msgstr "" +msgstr "Ditandai" msgid "Marked as important" -msgstr "" +msgstr "Позначено як важливе" msgid "P" -msgstr "" +msgstr "P" msgid "Passed" -msgstr "" +msgstr "Пройшов" msgid "Forwarded, resent, or bounced" -msgstr "" +msgstr "Переслано, повторно надіслано або відхилено" msgid "R" -msgstr "" +msgstr "R" msgid "Replied" -msgstr "" +msgstr "Відповів" msgid "Replied to" -msgstr "" +msgstr "Відповів" msgid "S" -msgstr "" +msgstr "S" msgid "Seen" -msgstr "" +msgstr "Бачив" msgid "Read" -msgstr "" +msgstr "Прочитайте" msgid "T" msgstr "T" msgid "Trashed" -msgstr "" +msgstr "У кошик" msgid "Marked for subsequent deletion" -msgstr "" +msgstr "Позначено для подальшого видалення" msgid ":class:`!MaildirMessage` instances offer the following methods:" -msgstr "" +msgstr "Экземпляры :class:`!MaildirMessage` предлагают следующие методы:" msgid "" "Return either \"new\" (if the message should be stored in the :file:`new` " "subdirectory) or \"cur\" (if the message should be stored in the :file:`cur` " "subdirectory)." msgstr "" +"Повертає або \"новий\" (якщо повідомлення має зберігатися в підкаталозі :" +"file:`new`), або \"cur\" (якщо повідомлення має зберігатися в підкаталозі :" +"file:`cur`)." msgid "" "A message is typically moved from :file:`new` to :file:`cur` after its " "mailbox has been accessed, whether or not the message has been read. A " "message ``msg`` has been read if ``\"S\" in msg.get_flags()`` is ``True``." msgstr "" +"Сообщение обычно перемещается из :file:`new` в :file:`cur` после того, как " +"был осуществлен доступ к его почтовому ящику, независимо от того, было ли " +"сообщение прочитано. Сообщение ``msg`` было прочитано, если ``S' в msg." +"get_flags()`` имеет значение ``True``." msgid "" "Set the subdirectory the message should be stored in. Parameter *subdir* " "must be either \"new\" or \"cur\"." msgstr "" +"Встановіть підкаталог, у якому має зберігатися повідомлення. Параметр " +"*subdir* повинен мати значення \"new\" або \"cur\"." msgid "" "Return a string specifying the flags that are currently set. If the message " @@ -1017,9 +1485,15 @@ msgid "" "``'P'``, ``'R'``, ``'S'``, and ``'T'``. The empty string is returned if no " "flags are set or if \"info\" contains experimental semantics." msgstr "" +"Повертає рядок із зазначенням поточних встановлених прапорів. Якщо " +"повідомлення відповідає стандартному формату Maildir, результатом є " +"конкатенація в алфавітному порядку нуля або одного входження кожного з " +"``'D'``, ``'F'``, ``'P'``, ``'R'``, ``'S'`` і ``'T''``. Порожній рядок " +"повертається, якщо не встановлено прапори або якщо \"info\" містить " +"експериментальну семантику." msgid "Set the flags specified by *flags* and unset all others." -msgstr "" +msgstr "Встановіть прапорці, визначені *flags*, і скасуйте всі інші." msgid "" "Set the flag(s) specified by *flag* without changing other flags. To add " @@ -1027,6 +1501,10 @@ msgid "" "character. The current \"info\" is overwritten whether or not it contains " "experimental information rather than flags." msgstr "" +"Встановіть прапор(и), визначені *flag*, не змінюючи інші прапори. Щоб додати " +"більше ніж один прапор одночасно, *flag* може бути рядком із кількох " +"символів. Поточна \"інформація\" перезаписується незалежно від того, чи " +"містить вона експериментальну інформацію, а не прапорці." msgid "" "Unset the flag(s) specified by *flag* without changing other flags. To " @@ -1034,25 +1512,36 @@ msgid "" "character. If \"info\" contains experimental information rather than flags, " "the current \"info\" is not modified." msgstr "" +"Скасувати прапор(и), визначені *flag*, не змінюючи інші прапори. Щоб " +"видалити кілька прапорців одночасно, *flag* може бути рядком із кількох " +"символів. Якщо \"info\" містить експериментальну інформацію, а не прапорці, " +"поточна \"info\" не змінюється." msgid "" "Return the delivery date of the message as a floating-point number " "representing seconds since the epoch." msgstr "" +"Повертає дату доставки повідомлення як число з плаваючою комою, яке " +"представляє секунди з епохи." msgid "" "Set the delivery date of the message to *date*, a floating-point number " "representing seconds since the epoch." msgstr "" +"Встановіть дату доставки повідомлення на *date*, число з плаваючою комою, " +"яке представляє секунди з епохи." msgid "" "Return a string containing the \"info\" for a message. This is useful for " "accessing and modifying \"info\" that is experimental (i.e., not a list of " "flags)." msgstr "" +"Повертає рядок, що містить \"інформацію\" про повідомлення. Це корисно для " +"доступу та модифікації \"інформації\", яка є експериментальною (тобто не " +"списку позначок)." msgid "Set \"info\" to *info*, which should be a string." -msgstr "" +msgstr "Встановіть для \"info\" значення *info*, яке має бути рядком." msgid "" "When a :class:`!MaildirMessage` instance is created based upon an :class:" @@ -1060,93 +1549,102 @@ msgid "" "and :mailheader:`X-Status` headers are omitted and the following conversions " "take place:" msgstr "" +"Когда экземпляр :class:`!MaildirMessage` создается на основе экземпляра :" +"class:`mboxMessage` или :class:`MMDFMessage`, заголовки :mailheader:`Status` " +"и :mailheader:`X-Status` опускаются и происходят следующие преобразования:" msgid "Resulting state" -msgstr "" +msgstr "Kondisi yang dihasilkan" msgid ":class:`mboxMessage` or :class:`MMDFMessage` state" -msgstr "" +msgstr "стан :class:`mboxMessage` або :class:`MMDFMessage`" msgid "\"cur\" subdirectory" -msgstr "" +msgstr "підкаталог \"cur\"." msgid "O flag" -msgstr "" +msgstr "Penanda O" msgid "F flag" -msgstr "" +msgstr "Penanda F" msgid "R flag" -msgstr "" +msgstr "Penanda R" msgid "A flag" -msgstr "" +msgstr "Penanda A" msgid "S flag" -msgstr "" +msgstr "Penanda S" msgid "T flag" -msgstr "" +msgstr "Penanda T" msgid "D flag" -msgstr "" +msgstr "Penanda D" msgid "" "When a :class:`!MaildirMessage` instance is created based upon an :class:" "`MHMessage` instance, the following conversions take place:" msgstr "" +"Когда экземпляр :class:`!MaildirMessage` создается на основе экземпляра :" +"class:`MHMessage`, происходят следующие преобразования:" msgid ":class:`MHMessage` state" -msgstr "" +msgstr ":class:`MHMessage` стан" msgid "\"unseen\" sequence" -msgstr "" +msgstr "\"невидима\" послідовність" msgid "\"cur\" subdirectory and S flag" -msgstr "" +msgstr "підкаталог \"cur\" і прапор S" msgid "no \"unseen\" sequence" -msgstr "" +msgstr "немає \"невидимої\" послідовності" msgid "\"flagged\" sequence" -msgstr "" +msgstr "\"позначена\" послідовність" msgid "\"replied\" sequence" -msgstr "" +msgstr "послідовність \"відповів\"." msgid "" "When a :class:`!MaildirMessage` instance is created based upon a :class:" "`BabylMessage` instance, the following conversions take place:" msgstr "" +"Когда экземпляр :class:`!MaildirMessage` создается на основе экземпляра :" +"class:`BabylMessage`, происходят следующие преобразования:" msgid ":class:`BabylMessage` state" -msgstr "" +msgstr ":class:`BabylMessage` стан" msgid "\"unseen\" label" -msgstr "" +msgstr "ярлик \"невидимий\"." msgid "no \"unseen\" label" -msgstr "" +msgstr "немає мітки \"невидиме\"." msgid "P flag" -msgstr "" +msgstr "Penanda P" msgid "\"forwarded\" or \"resent\" label" -msgstr "" +msgstr "мітка \"переслано\" або \"повторно надіслано\"." msgid "\"answered\" label" -msgstr "" +msgstr "мітка \"відповів\"." msgid "\"deleted\" label" -msgstr "" +msgstr "ярлик \"видалено\"." msgid ":class:`!mboxMessage` objects" -msgstr "" +msgstr ":class:`!mboxMessage` объекты" msgid "" "A message with mbox-specific behaviors. Parameter *message* has the same " "meaning as with the :class:`Message` constructor." msgstr "" +"Повідомлення зі специфічною поведінкою mbox. Параметр *message* має те саме " +"значення, що й у конструкторі :class:`Message`." msgid "" "Messages in an mbox mailbox are stored together in a single file. The " @@ -1157,42 +1655,55 @@ msgid "" "message, such as whether it has been read or marked as important, are " "typically stored in :mailheader:`Status` and :mailheader:`X-Status` headers." msgstr "" +"Повідомлення в поштовій скриньці mbox зберігаються разом в одному файлі. " +"Адреса конверта відправника та час доставки зазвичай зберігаються в рядку, " +"що починається на \"Від\", який використовується для позначення початку " +"повідомлення, хоча існують значні відмінності в точному форматі цих даних " +"серед реалізацій mbox. Прапорці, які вказують на стан повідомлення, " +"наприклад, чи було воно прочитано чи позначено як важливе, зазвичай " +"зберігаються в заголовках :mailheader:`Status` і :mailheader:`X-Status`." msgid "Conventional flags for mbox messages are as follows:" -msgstr "" +msgstr "Звичайні позначки для повідомлень mbox такі:" msgid "O" msgstr "O" msgid "Old" -msgstr "" +msgstr "Lama *Old*" msgid "Previously detected by MUA" -msgstr "" +msgstr "Раніше виявлено MUA" msgid "Deleted" -msgstr "" +msgstr "Видалено" msgid "A" -msgstr "" +msgstr "A" msgid "Answered" -msgstr "" +msgstr "Dijawab *Answered*" msgid "" "The \"R\" and \"O\" flags are stored in the :mailheader:`Status` header, and " "the \"D\", \"F\", and \"A\" flags are stored in the :mailheader:`X-Status` " "header. The flags and headers typically appear in the order mentioned." msgstr "" +"Прапорці \"R\" і \"O\" зберігаються в заголовку :mailheader:`Status`, а " +"прапорці \"D\", \"F\" і \"A\" зберігаються в заголовку :mailheader:`X-" +"Status`. Прапорці та заголовки зазвичай з’являються у зазначеному порядку." msgid ":class:`!mboxMessage` instances offer the following methods:" -msgstr "" +msgstr "Экземпляры :class:`!mboxMessage` предлагают следующие методы:" msgid "" "Return a string representing the \"From \" line that marks the start of the " "message in an mbox mailbox. The leading \"From \" and the trailing newline " "are excluded." msgstr "" +"Повертає рядок, що представляє рядок \"Від\", який позначає початок " +"повідомлення в поштовій скриньці mbox. Початковий \"Від\" і кінцевий символ " +"нового рядка виключаються." msgid "" "Set the \"From \" line to *from_*, which should be specified without a " @@ -1202,6 +1713,12 @@ msgid "" "tuple suitable for passing to :func:`time.strftime`, or ``True`` (to use :" "func:`time.gmtime`)." msgstr "" +"Установите для строки «От» значение *from_*, которое должно быть указано без " +"начального «От» или завершающего символа новой строки. Для удобства можно " +"указать *time_*, которое будет отформатировано соответствующим образом и " +"добавлено к *from_*. Если указано *time_*, это должен быть экземпляр :class:" +"`time.struct_time`, кортеж, подходящий для передачи в :func:`time.strftime`, " +"или ``True`` (для использования :func:`time .gmtime`)." msgid "" "Return a string specifying the flags that are currently set. If the message " @@ -1209,24 +1726,37 @@ msgid "" "the following order of zero or one occurrence of each of ``'R'``, ``'O'``, " "``'D'``, ``'F'``, and ``'A'``." msgstr "" +"Повертає рядок із зазначенням поточних встановлених прапорів. Якщо " +"повідомлення відповідає загальноприйнятому формату, результатом є " +"конкатенація в наступному порядку нуля або одного входження кожного з " +"``'R'``, ``'O'``, ``'D'``, ``'F''`` і ``'A'``." msgid "" "Set the flags specified by *flags* and unset all others. Parameter *flags* " "should be the concatenation in any order of zero or more occurrences of each " "of ``'R'``, ``'O'``, ``'D'``, ``'F'``, and ``'A'``." msgstr "" +"Встановіть прапорці, визначені *flags*, і скасуйте всі інші. Параметр " +"*flags* має бути конкатенацією в будь-якому порядку нуля або більше входжень " +"кожного з ``'R'``, ``'O'``, ``'D'``, ``'F'`` і ``'A'``." msgid "" "Set the flag(s) specified by *flag* without changing other flags. To add " "more than one flag at a time, *flag* may be a string of more than one " "character." msgstr "" +"Встановіть прапор(и), визначені *flag*, не змінюючи інші прапори. Щоб додати " +"більше ніж один прапор одночасно, *flag* може бути рядком із кількох " +"символів." 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 " "character." msgstr "" +"Скасувати прапор(и), визначені *flag*, не змінюючи інші прапори. Щоб " +"видалити кілька прапорців одночасно, *flag* може бути рядком із кількох " +"символів." msgid "" "When an :class:`!mboxMessage` instance is created based upon a :class:" @@ -1234,39 +1764,50 @@ msgid "" "class:`MaildirMessage` instance's delivery date, and the following " "conversions take place:" msgstr "" +"Когда экземпляр :class:`!mboxMessage` создается на основе экземпляра :class:" +"`MaildirMessage`, строка «От» генерируется на основе даты доставки " +"экземпляра :class:`MaildirMessage`, и происходят следующие преобразования:" msgid ":class:`MaildirMessage` state" -msgstr "" +msgstr ":class:`MaildirMessage` стан" msgid "" "When an :class:`!mboxMessage` instance is created based upon an :class:" "`MHMessage` instance, the following conversions take place:" msgstr "" +"Когда экземпляр :class:`!mboxMessage` создается на основе экземпляра :class:" +"`MHMessage`, происходят следующие преобразования:" msgid "R flag and O flag" -msgstr "" +msgstr "Penanda R dan Penanda O" msgid "" "When an :class:`!mboxMessage` instance is created based upon a :class:" "`BabylMessage` instance, the following conversions take place:" msgstr "" +"Когда экземпляр :class:`!mboxMessage` создается на основе экземпляра :class:" +"`BabylMessage`, происходят следующие преобразования:" msgid "" "When a :class:`!mboxMessage` instance is created based upon an :class:" "`MMDFMessage` instance, the \"From \" line is copied and all flags directly " "correspond:" msgstr "" +"Когда экземпляр :class:`!mboxMessage` создается на основе экземпляра :class:" +"`MMDFMessage`, строка «От» копируется, и все флаги напрямую соответствуют:" msgid ":class:`MMDFMessage` state" -msgstr "" +msgstr ":class:`MMDFMessage` стан" msgid ":class:`!MHMessage` objects" -msgstr "" +msgstr ":class:`!MHMessage` объекты" msgid "" "A message with MH-specific behaviors. Parameter *message* has the same " "meaning as with the :class:`Message` constructor." msgstr "" +"Повідомлення зі специфічними для MH поведінками. Параметр *message* має те " +"саме значення, що й у конструкторі :class:`Message`." msgid "" "MH messages do not support marks or flags in the traditional sense, but they " @@ -1275,44 +1816,55 @@ msgid "" "program:`nmh`) use sequences in much the same way flags are used with other " "formats, as follows:" msgstr "" +"Повідомлення MH не підтримують позначки чи прапорці в традиційному " +"розумінні, але вони підтримують послідовності, які є логічними групами " +"довільних повідомлень. Деякі програми читання пошти (хоча не стандартні :" +"program:`mh` і :program:`nmh`) використовують послідовності приблизно так " +"само, як прапорці використовуються з іншими форматами, а саме:" msgid "Sequence" -msgstr "" +msgstr "Послідовність" msgid "unseen" -msgstr "" +msgstr "невидимий" msgid "Not read, but previously detected by MUA" -msgstr "" +msgstr "Не прочитано, але раніше виявлено MUA" msgid "replied" -msgstr "" +msgstr "dibalas" msgid "flagged" -msgstr "" +msgstr "позначено" msgid ":class:`!MHMessage` instances offer the following methods:" -msgstr "" +msgstr "Экземпляры :class:`!MHMessage` предлагают следующие методы:" msgid "Return a list of the names of sequences that include this message." -msgstr "" +msgstr "Повернути список імен послідовностей, які містять це повідомлення." msgid "Set the list of sequences that include this message." -msgstr "" +msgstr "Встановіть список послідовностей, які включають це повідомлення." msgid "Add *sequence* to the list of sequences that include this message." msgstr "" +"Додайте *послідовність* до списку послідовностей, які містять це " +"повідомлення." msgid "Remove *sequence* from the list of sequences that include this message." msgstr "" +"Видаліть *послідовність* зі списку послідовностей, які містять це " +"повідомлення." msgid "" "When an :class:`!MHMessage` instance is created based upon a :class:" "`MaildirMessage` instance, the following conversions take place:" msgstr "" +"Когда экземпляр :class:`!MHMessage` создается на основе экземпляра :class:" +"`MaildirMessage`, происходят следующие преобразования:" msgid "no S flag" -msgstr "" +msgstr "tanpa penanda S" msgid "" "When an :class:`!MHMessage` instance is created based upon an :class:" @@ -1320,86 +1872,100 @@ msgid "" "and :mailheader:`X-Status` headers are omitted and the following conversions " "take place:" msgstr "" +"Когда экземпляр :class:`!MHMessage` создается на основе экземпляра :class:" +"`mboxMessage` или :class:`MMDFMessage`, заголовки :mailheader:`Status` и :" +"mailheader:`X-Status` опускаются и происходят следующие преобразования:" msgid "no R flag" -msgstr "" +msgstr "tanpa penanda R" msgid "" "When an :class:`!MHMessage` instance is created based upon a :class:" "`BabylMessage` instance, the following conversions take place:" msgstr "" +"Когда экземпляр :class:`!MHMessage` создается на основе экземпляра :class:" +"`BabylMessage`, происходят следующие преобразования:" msgid ":class:`!BabylMessage` objects" -msgstr "" +msgstr ":class:`!BabylMessage` объекты" msgid "" "A message with Babyl-specific behaviors. Parameter *message* has the same " "meaning as with the :class:`Message` constructor." msgstr "" +"Повідомлення з особливостями поведінки Babyl. Параметр *message* має те саме " +"значення, що й у конструкторі :class:`Message`." msgid "" "Certain message labels, called :dfn:`attributes`, are defined by convention " "to have special meanings. The attributes are as follows:" msgstr "" +"Певні мітки повідомлень, які називаються :dfn:`attributes`, визначені угодою " +"як такі, що мають спеціальні значення. Атрибути такі:" msgid "Label" -msgstr "" +msgstr "Мітка" msgid "deleted" -msgstr "" +msgstr "dihapus" msgid "filed" -msgstr "" +msgstr "подано" msgid "Copied to another file or mailbox" -msgstr "" +msgstr "Скопійовано в інший файл або поштову скриньку" msgid "answered" -msgstr "" +msgstr "dijawab" msgid "forwarded" -msgstr "" +msgstr "пересилається" msgid "Forwarded" -msgstr "" +msgstr "Переслано" msgid "edited" -msgstr "" +msgstr "diubah" msgid "Modified by the user" -msgstr "" +msgstr "Змінено користувачем" msgid "resent" -msgstr "" +msgstr "dikirim ulang" msgid "Resent" -msgstr "" +msgstr "Dikirim Ulang" msgid "" "By default, Rmail displays only visible headers. The :class:`!BabylMessage` " "class, though, uses the original headers because they are more complete. " "Visible headers may be accessed explicitly if desired." msgstr "" +"По умолчанию Rmail отображает только видимые заголовки. Однако класс :class:" +"`!BabylMessage` использует исходные заголовки, поскольку они более полны. " +"При желании к видимым заголовкам можно получить доступ явным образом." msgid ":class:`!BabylMessage` instances offer the following methods:" -msgstr "" +msgstr "Экземпляры :class:`!BabylMessage` предлагают следующие методы:" msgid "Return a list of labels on the message." -msgstr "" +msgstr "Повернути список міток у повідомленні." msgid "Set the list of labels on the message to *labels*." -msgstr "" +msgstr "Установіть список міток у повідомленні на *мітки*." msgid "Add *label* to the list of labels on the message." -msgstr "" +msgstr "Додайте *label* до списку міток у повідомленні." msgid "Remove *label* from the list of labels on the message." -msgstr "" +msgstr "Видаліть *label* зі списку міток у повідомленні." msgid "" "Return a :class:`Message` instance whose headers are the message's visible " "headers and whose body is empty." msgstr "" +"Возвращает экземпляр :class:`Message`, заголовки которого являются видимыми " +"заголовками сообщения, а тело пусто." msgid "" "Set the message's visible headers to be the same as the headers in " @@ -1407,6 +1973,10 @@ msgid "" "class:`email.message.Message` instance, a string, or a file-like object " "(which should be open in text mode)." msgstr "" +"Налаштуйте видимі заголовки повідомлення такими ж, як заголовки в " +"*повідомленні*. Параметр *visible* має бути екземпляром :class:`Message`, " +"екземпляром :class:`email.message.Message`, рядком або файлоподібним " +"об’єктом (який має бути відкритий у текстовому режимі)." msgid "" "When a :class:`!BabylMessage` instance's original headers are modified, the " @@ -1419,14 +1989,25 @@ msgid "" "present in the original headers but not the visible headers are added to the " "visible headers." msgstr "" +"Когда исходные заголовки экземпляра :class:`!BabylMessage` изменяются, " +"видимые заголовки не изменяются автоматически для соответствия. Этот метод " +"обновляет видимые заголовки следующим образом: каждому видимому заголовку с " +"соответствующим исходным заголовком присваивается значение исходного " +"заголовка, каждый видимый заголовок без соответствующего исходного заголовка " +"удаляется, и любой из :mailheader:`Date`, :mailheader :`From`, :mailheader:" +"`Reply-To`, :mailheader:`To`, :mailheader:`CC` и :mailheader:`Subject`, " +"которые присутствуют в исходных заголовках, но не добавляются видимые " +"заголовки. видимые заголовки." msgid "" "When a :class:`!BabylMessage` instance is created based upon a :class:" "`MaildirMessage` instance, the following conversions take place:" msgstr "" +"Когда экземпляр :class:`!BabylMessage` создается на основе экземпляра :class:" +"`MaildirMessage`, происходят следующие преобразования:" msgid "\"forwarded\" label" -msgstr "" +msgstr "мітка \"переслано\"." msgid "" "When a :class:`!BabylMessage` instance is created based upon an :class:" @@ -1434,19 +2015,26 @@ msgid "" "and :mailheader:`X-Status` headers are omitted and the following conversions " "take place:" msgstr "" +"Когда экземпляр :class:`!BabylMessage` создается на основе экземпляра :class:" +"`mboxMessage` или :class:`MMDFMessage`, заголовки :mailheader:`Status` и :" +"mailheader:`X-Status` опускаются и происходят следующие преобразования:" msgid "" "When a :class:`!BabylMessage` instance is created based upon an :class:" "`MHMessage` instance, the following conversions take place:" msgstr "" +"Когда экземпляр :class:`!BabylMessage` создается на основе экземпляра :class:" +"`MHMessage`, происходят следующие преобразования:" msgid ":class:`!MMDFMessage` objects" -msgstr "" +msgstr ":class:`!MMDFMessage` объекты" msgid "" "A message with MMDF-specific behaviors. Parameter *message* has the same " "meaning as with the :class:`Message` constructor." msgstr "" +"Повідомлення зі специфічною для MMDF поведінкою. Параметр *message* має те " +"саме значення, що й у конструкторі :class:`Message`." msgid "" "As with message in an mbox mailbox, MMDF messages are stored with the " @@ -1454,16 +2042,25 @@ msgid "" "\"From \". Likewise, flags that indicate the state of the message are " "typically stored in :mailheader:`Status` and :mailheader:`X-Status` headers." msgstr "" +"Як і повідомлення в поштовій скриньці mbox, повідомлення MMDF зберігаються з " +"адресою відправника та датою доставки в початковому рядку, що починається з " +"\"Від\". Подібним чином прапорці, які вказують на стан повідомлення, " +"зазвичай зберігаються в заголовках :mailheader:`Status` і :mailheader:`X-" +"Status`." msgid "" "Conventional flags for MMDF messages are identical to those of mbox message " "and are as follows:" msgstr "" +"Звичайні позначки для повідомлень MMDF ідентичні прапорцям для повідомлень " +"mbox і такі:" msgid "" ":class:`!MMDFMessage` instances offer the following methods, which are " "identical to those offered by :class:`mboxMessage`:" msgstr "" +"Экземпляры :class:`!MMDFMessage` предлагают следующие методы, идентичные " +"тем, которые предлагает :class:`mboxMessage`:" msgid "" "When an :class:`!MMDFMessage` instance is created based upon a :class:" @@ -1471,35 +2068,44 @@ msgid "" "class:`MaildirMessage` instance's delivery date, and the following " "conversions take place:" msgstr "" +"Когда экземпляр :class:`!MMDFMessage` создается на основе экземпляра :class:" +"`MaildirMessage`, строка «От» генерируется на основе даты доставки " +"экземпляра :class:`MaildirMessage`, и происходят следующие преобразования:" msgid "" "When an :class:`!MMDFMessage` instance is created based upon an :class:" "`MHMessage` instance, the following conversions take place:" msgstr "" +"Когда экземпляр :class:`!MMDFMessage` создается на основе экземпляра :class:" +"`MHMessage`, происходят следующие преобразования:" msgid "" "When an :class:`!MMDFMessage` instance is created based upon a :class:" "`BabylMessage` instance, the following conversions take place:" msgstr "" +"Когда экземпляр :class:`!MMDFMessage` создается на основе экземпляра :class:" +"`BabylMessage`, происходят следующие преобразования:" msgid "" "When an :class:`!MMDFMessage` instance is created based upon an :class:" "`mboxMessage` instance, the \"From \" line is copied and all flags directly " "correspond:" msgstr "" +"Когда экземпляр :class:`!MMDFMessage` создается на основе экземпляра :class:" +"`mboxMessage`, копируется строка \"From\" и все флаги напрямую соответствуют:" msgid ":class:`mboxMessage` state" -msgstr "" +msgstr ":class:`mboxMessage` стан" msgid "Exceptions" msgstr "Wyjątki" msgid "" "The following exception classes are defined in the :mod:`!mailbox` module:" -msgstr "" +msgstr "Следующие классы исключений определены в модуле :mod:`!mailbox`:" msgid "The based class for all other module-specific exceptions." -msgstr "" +msgstr "Основний клас для всіх інших винятків, специфічних для модуля." msgid "" "Raised when a mailbox is expected but is not found, such as when " @@ -1507,11 +2113,17 @@ msgid "" "(and with the *create* parameter set to ``False``), or when opening a folder " "that does not exist." msgstr "" +"Викликається, коли поштова скринька очікується, але не знайдена, наприклад, " +"під час створення екземпляра підкласу :class:`Mailbox` із шляхом, якого не " +"існує (і з параметром *create*, встановленим на ``False``), або під час " +"відкриття папку, яка не існує." msgid "" "Raised when a mailbox is not empty but is expected to be, such as when " "deleting a folder that contains messages." msgstr "" +"Викликається, коли поштова скринька не порожня, але очікується, що вона буде " +"порожньою, наприклад, під час видалення папки, яка містить повідомлення." msgid "" "Raised when some mailbox-related condition beyond the control of the program " @@ -1519,11 +2131,19 @@ msgid "" "that another program already holds a lock, or when a uniquely generated file " "name already exists." msgstr "" +"Возникает, когда какое-либо состояние, связанное с почтовым ящиком, не " +"зависящее от программы, приводит к невозможности продолжения работы, " +"например, когда не удается получить блокировку, которую уже удерживает " +"другая программа, или когда уже существует уникально сгенерированное имя " +"файла." msgid "" "Raised when the data in a file cannot be parsed, such as when an :class:`MH` " "instance attempts to read a corrupted :file:`.mh_sequences` file." msgstr "" +"Викликається, коли дані у файлі неможливо проаналізувати, наприклад, коли " +"примірник :class:`MH` намагається прочитати пошкоджений файл :file:`." +"mh_sequences`." msgid "Examples" msgstr "Przykłady" @@ -1532,6 +2152,8 @@ msgid "" "A simple example of printing the subjects of all messages in a mailbox that " "seem interesting::" msgstr "" +"Простий приклад друку тем усіх повідомлень у поштовій скриньці, які здаються " +"цікавими:" msgid "" "import mailbox\n" @@ -1540,11 +2162,18 @@ msgid "" " if subject and 'python' in subject.lower():\n" " print(subject)" msgstr "" +"import mailbox\n" +"for message in mailbox.mbox('~/mbox'):\n" +" subject = message['subject'] # Could possibly be None.\n" +" if subject and 'python' in subject.lower():\n" +" print(subject)" msgid "" "To copy all mail from a Babyl mailbox to an MH mailbox, converting all of " "the format-specific information that can be converted::" msgstr "" +"Щоб скопіювати всю пошту з поштової скриньки Babyl до поштової скриньки MH, " +"перетворивши всю інформацію про певний формат, яку можна конвертувати:" msgid "" "import mailbox\n" @@ -1555,6 +2184,13 @@ msgid "" "destination.flush()\n" "destination.unlock()" msgstr "" +"import mailbox\n" +"destination = mailbox.MH('~/Mail')\n" +"destination.lock()\n" +"for message in mailbox.Babyl('~/RMAIL'):\n" +" destination.add(mailbox.MHMessage(message))\n" +"destination.flush()\n" +"destination.unlock()" msgid "" "This example sorts mail from several mailing lists into different mailboxes, " @@ -1562,6 +2198,10 @@ msgid "" "other programs, mail loss due to interruption of the program, or premature " "termination due to malformed messages in the mailbox::" msgstr "" +"Цей приклад сортує пошту з кількох списків розсилки в різні поштові " +"скриньки, намагаючись уникнути пошкодження пошти через одночасну модифікацію " +"іншими програмами, втрати пошти через переривання програми або передчасне " +"завершення через неправильно сформовані повідомлення в поштовій скриньці::" msgid "" "import mailbox\n" @@ -1602,3 +2242,40 @@ msgid "" "for box in boxes.itervalues():\n" " box.close()" msgstr "" +"import mailbox\n" +"import email.errors\n" +"\n" +"list_names = ('python-list', 'python-dev', 'python-bugs')\n" +"\n" +"boxes = {name: mailbox.mbox('~/email/%s' % name) for name in list_names}\n" +"inbox = mailbox.Maildir('~/Maildir', factory=None)\n" +"\n" +"for key in inbox.iterkeys():\n" +" try:\n" +" message = inbox[key]\n" +" except email.errors.MessageParseError:\n" +" continue # The message is malformed. Just leave it.\n" +"\n" +" for name in list_names:\n" +" list_id = message['list-id']\n" +" if list_id and name in list_id:\n" +" # Get mailbox to use\n" +" box = boxes[name]\n" +"\n" +" # Write copy to disk before removing original.\n" +" # If there's a crash, you might duplicate a message, but\n" +" # that's better than losing a message completely.\n" +" box.lock()\n" +" box.add(message)\n" +" box.flush()\n" +" box.unlock()\n" +"\n" +" # Remove original message\n" +" inbox.lock()\n" +" inbox.discard(key)\n" +" inbox.flush()\n" +" inbox.unlock()\n" +" break # Found destination, so stop looking.\n" +"\n" +"for box in boxes.itervalues():\n" +" box.close()" diff --git a/library/marshal.po b/library/marshal.po index 6e5951d774..01d1e98217 100644 --- a/library/marshal.po +++ b/library/marshal.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# haaritsubaki, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: haaritsubaki, 2023\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -183,7 +182,7 @@ msgid "module" msgstr "moduł" msgid "pickle" -msgstr "" +msgstr "pickle" msgid "shelve" msgstr "" diff --git a/library/math.po b/library/math.po index 7908b8cf93..3823b9681e 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-04 15:01+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -27,11 +25,15 @@ msgstr "" 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 "" +"Este módulo fornece acesso à constantes e funções matemáticas comuns, " +"incluindo aquelas definidas pelo padrão C." msgid "" "These functions cannot be used with complex numbers; use the functions of " @@ -43,454 +45,484 @@ msgid "" "of the unexpected complex number used as a parameter, so that the programmer " "can determine how and why it was generated in the first place." msgstr "" +"Ці функції не можна використовувати з комплексними числами; використовуйте " +"однойменні функції з модуля :mod:`cmath`, якщо вам потрібна підтримка " +"комплексних чисел. Розрізнення між функціями, які підтримують комплексні " +"числа, і тими, які не підтримують, зроблено, оскільки більшість користувачів " +"не хочуть вивчати стільки математики, скільки потрібно для розуміння " +"комплексних чисел. Отримання винятку замість комплексного результату " +"дозволяє раніше виявити неочікуване комплексне число, яке використовується " +"як параметр, щоб програміст міг визначити, як і чому воно взагалі було " +"згенероване." msgid "" "The following functions are provided by this module. Except when explicitly " "noted otherwise, all return values are floats." msgstr "" +"Цей модуль забезпечує такі функції. За винятком випадків, коли явно " +"зазначено інше, усі повернуті значення є числами з плаваючою точкою." msgid "**Number-theoretic functions**" -msgstr "" +msgstr "**Теоретико-числовые функции**" msgid ":func:`comb(n, k) `" -msgstr "" +msgstr ":func:`comb(n, k) `" msgid "" "Number of ways to choose *k* items from *n* items without repetition and " "without order" msgstr "" +"Количество способов выбрать *k* предметов из *n* предметов без повторения и " +"без порядка" msgid ":func:`factorial(n) `" -msgstr "" +msgstr ":func:`factorial(n) `" msgid "*n* factorial" -msgstr "" +msgstr "*n* факториал" msgid ":func:`gcd(*integers) `" -msgstr "" +msgstr ":func:`gcd(*integers) `" msgid "Greatest common divisor of the integer arguments" -msgstr "" +msgstr "Наибольший общий делитель целочисленных аргументов" msgid ":func:`isqrt(n) `" -msgstr "" +msgstr ":func:`isqrt(n) `" msgid "Integer square root of a nonnegative integer *n*" -msgstr "" +msgstr "Целый квадратный корень из неотрицательного целого числа *n*" msgid ":func:`lcm(*integers) `" -msgstr "" +msgstr ":func:`lcm(*integers) `" msgid "Least common multiple of the integer arguments" -msgstr "" +msgstr "Наименьшее общее кратное целочисленных аргументов" msgid ":func:`perm(n, k) `" -msgstr "" +msgstr ":func:`perm(n, k) `" msgid "" "Number of ways to choose *k* items from *n* items without repetition and " "with order" msgstr "" +"Количество способов выбрать *k* предметов из *n* предметов без повторения и " +"в порядке" msgid "**Floating point arithmetic**" -msgstr "" +msgstr "**Арифметика с плавающей запятой**" msgid ":func:`ceil(x) `" -msgstr "" +msgstr ":func:`ceil(x) `" msgid "Ceiling of *x*, the smallest integer greater than or equal to *x*" -msgstr "" +msgstr "Потолок *x*, наименьшее целое число, большее или равное *x*" msgid ":func:`fabs(x) `" -msgstr "" +msgstr ":func:`fabs(x) `" msgid "Absolute value of *x*" -msgstr "" +msgstr "Абсолютное значение *x*" msgid ":func:`floor(x) `" -msgstr "" +msgstr ":func:`floor(x) `" msgid "Floor of *x*, the largest integer less than or equal to *x*" -msgstr "" +msgstr "Этаж *x*, наибольшее целое число, меньшее или равное *x*" msgid ":func:`fma(x, y, z) `" -msgstr "" +msgstr ":func:`fma(x, y, z) `" msgid "Fused multiply-add operation: ``(x * y) + z``" -msgstr "" +msgstr "Объединенная операция умножения-сложения: ``(x * y) + z``" msgid ":func:`fmod(x, y) `" -msgstr "" +msgstr ":func:`fmod(x, y) `" msgid "Remainder of division ``x / y``" -msgstr "" +msgstr "*n* факториал" msgid ":func:`modf(x) `" -msgstr "" +msgstr ":func:`modf(x) `" msgid "Fractional and integer parts of *x*" -msgstr "" +msgstr "Дробная и целая части *x*" msgid ":func:`remainder(x, y) `" -msgstr "" +msgstr ":func:`remainder(x, y) `" msgid "Remainder of *x* with respect to *y*" -msgstr "" +msgstr "Остаток *x* относительно *y*" msgid ":func:`trunc(x) `" -msgstr "" +msgstr ":func:`trunc(x) `" msgid "Integer part of *x*" -msgstr "" +msgstr "Целая часть *x*" msgid "**Floating point manipulation functions**" -msgstr "" +msgstr "**Функции манипуляции с плавающей запятой**" msgid ":func:`copysign(x, y) `" -msgstr "" +msgstr ":func:`copysign(x, y) `" msgid "Magnitude (absolute value) of *x* with the sign of *y*" -msgstr "" +msgstr "Величина (абсолютное значение) *x* со знаком *y*" msgid ":func:`frexp(x) `" -msgstr "" +msgstr ":func:`frexp(x) `" msgid "Mantissa and exponent of *x*" -msgstr "" +msgstr "Мантисса и показатель *x*" msgid ":func:`isclose(a, b, rel_tol, abs_tol) `" -msgstr "" +msgstr ":func:`isclose(a, b, rel_tol, abs_tol) `" msgid "Check if the values *a* and *b* are close to each other" -msgstr "" +msgstr "Проверьте, близки ли значения *a* и *b* друг к другу." msgid ":func:`isfinite(x) `" -msgstr "" +msgstr ":func:`isfinite(x) `" msgid "Check if *x* is neither an infinity nor a NaN" -msgstr "" +msgstr "Проверьте, не является ли *x* ни бесконечностью, ни NaN." msgid ":func:`isinf(x) `" -msgstr "" +msgstr ":func:`isinf(x) `" msgid "Check if *x* is a positive or negative infinity" msgstr "" +"Проверьте, является ли *x* положительной или отрицательной бесконечностью." msgid ":func:`isnan(x) `" -msgstr "" +msgstr ":func:`isnan(x) `" msgid "Check if *x* is a NaN (not a number)" -msgstr "" +msgstr "Проверьте, является ли *x* NaN (а не числом)" msgid ":func:`ldexp(x, i) `" -msgstr "" +msgstr ":func:`ldexp(x, i) `" msgid "``x * (2**i)``, inverse of function :func:`frexp`" -msgstr "" +msgstr "``x * (2**i)``, обратная функции :func:`frexp`" msgid ":func:`nextafter(x, y, steps) `" -msgstr "" +msgstr ":func:`nextafter(x, y, steps) `" msgid "Floating-point value *steps* steps after *x* towards *y*" -msgstr "" +msgstr "Значение с плавающей запятой *шаги* шаги после *x* в сторону *y*" msgid ":func:`ulp(x) `" -msgstr "" +msgstr ":func:`ulp(x) `" msgid "Value of the least significant bit of *x*" -msgstr "" +msgstr "Значение младшего бита *x*" msgid "**Power, exponential and logarithmic functions**" -msgstr "" +msgstr "**Степеньевые, показательные и логарифмические функции**" msgid ":func:`cbrt(x) `" -msgstr "" +msgstr ":func:`cbrt(x) `" msgid "Cube root of *x*" -msgstr "" +msgstr "Кубический корень из *x*" msgid ":func:`exp(x) `" -msgstr "" +msgstr ":func:`exp(x) `" msgid "*e* raised to the power *x*" -msgstr "" +msgstr "*e* возведено в степень *x*" msgid ":func:`exp2(x) `" -msgstr "" +msgstr ":func:`exp2(x) `" msgid "*2* raised to the power *x*" -msgstr "" +msgstr "*2* возведен в степень *x*" msgid ":func:`expm1(x) `" -msgstr "" +msgstr ":func:`expm1(x) `" msgid "*e* raised to the power *x*, minus 1" -msgstr "" +msgstr "*e* возведено в степень *x*, минус 1" msgid ":func:`log(x, base) `" -msgstr "" +msgstr ":func:`log(x, base) `" msgid "Logarithm of *x* to the given base (*e* by default)" -msgstr "" +msgstr "Логарифм *x* по заданному основанию (по умолчанию *e*)" msgid ":func:`log1p(x) `" -msgstr "" +msgstr ":func:`log1p(x) `" msgid "Natural logarithm of *1+x* (base *e*)" -msgstr "" +msgstr "Натуральный логарифм *1+x* (по основанию *e*)" msgid ":func:`log2(x) `" -msgstr "" +msgstr ":func:`log2(x) `" msgid "Base-2 logarithm of *x*" -msgstr "" +msgstr "Логарифм по основанию 2 от *x*" msgid ":func:`log10(x) `" -msgstr "" +msgstr ":func:`log10(x) `" msgid "Base-10 logarithm of *x*" -msgstr "" +msgstr "Логарифм по основанию 10 от *x*" msgid ":func:`pow(x, y) `" -msgstr "" +msgstr ":func:`pow(x, y) `" msgid "*x* raised to the power *y*" -msgstr "" +msgstr "*x* возведен в степень *y*" msgid ":func:`sqrt(x) `" -msgstr "" +msgstr ":func:`sqrt(x) `" msgid "Square root of *x*" -msgstr "" +msgstr "Квадратный корень из *x*" msgid "**Summation and product functions**" -msgstr "" +msgstr "**Функции суммирования и произведения**" msgid ":func:`dist(p, q) `" -msgstr "" +msgstr ":func:`dist(p, q) `" msgid "" "Euclidean distance between two points *p* and *q* given as an iterable of " "coordinates" msgstr "" +"Евклидово расстояние между двумя точками *p* и *q*, заданными как итерация " +"координат" msgid ":func:`fsum(iterable) `" -msgstr "" +msgstr ":func:`fsum(iterable) `" msgid "Sum of values in the input *iterable*" -msgstr "" +msgstr "Сумма значений во входных данных *итерируемая*" msgid ":func:`hypot(*coordinates) `" -msgstr "" +msgstr ":func:`hypot(*coordinates) `" msgid "Euclidean norm of an iterable of coordinates" -msgstr "" +msgstr "Евклидова норма итерации координат" msgid ":func:`prod(iterable, start) `" -msgstr "" +msgstr ":func:`prod(iterable, start) `" msgid "Product of elements in the input *iterable* with a *start* value" -msgstr "" +msgstr "Произведение элементов входных данных *iterable* со значением *start*" msgid ":func:`sumprod(p, q) `" -msgstr "" +msgstr ":func:`sumprod(p, q) `" msgid "Sum of products from two iterables *p* and *q*" -msgstr "" +msgstr "Сумма произведений двух итераций *p* и *q*" msgid "**Angular conversion**" -msgstr "" +msgstr "**Угловое преобразование**" msgid ":func:`degrees(x) `" -msgstr "" +msgstr ":func:`degrees(x) `" msgid "Convert angle *x* from radians to degrees" -msgstr "" +msgstr "Перевести угол *x* из радиан в градусы" msgid ":func:`radians(x) `" -msgstr "" +msgstr ":func:`radians(x) `" msgid "Convert angle *x* from degrees to radians" -msgstr "" +msgstr "Перевести угол *x* из градусов в радианы" msgid "**Trigonometric functions**" -msgstr "" +msgstr "**Тригонометрические функции**" msgid ":func:`acos(x) `" -msgstr "" +msgstr ":func:`acos(x) `" msgid "Arc cosine of *x*" -msgstr "" +msgstr "Арккосинус *x*" msgid ":func:`asin(x) `" -msgstr "" +msgstr ":func:`asin(x) `" msgid "Arc sine of *x*" -msgstr "" +msgstr "Арксинус *x*" msgid ":func:`atan(x) `" -msgstr "" +msgstr ":func:`atan(x) `" msgid "Arc tangent of *x*" -msgstr "" +msgstr "Арктангенс *x*" msgid ":func:`atan2(y, x) `" -msgstr "" +msgstr ":func:`atan2(y, x) `" msgid "``atan(y / x)``" msgstr "``atan(y / x)``" msgid ":func:`cos(x) `" -msgstr "" +msgstr ":func:`cos(x) `" msgid "Cosine of *x*" -msgstr "" +msgstr "Косинус *x*" msgid ":func:`sin(x) `" -msgstr "" +msgstr ":func:`sin(x) `" msgid "Sine of *x*" -msgstr "" +msgstr "Синус *x*" msgid ":func:`tan(x) `" -msgstr "" +msgstr ":func:`tan(x) `" msgid "Tangent of *x*" -msgstr "" +msgstr "Тангенс *x*" msgid "**Hyperbolic functions**" -msgstr "" +msgstr "**Гиперболические функции**" msgid ":func:`acosh(x) `" -msgstr "" +msgstr ":func:`acosh(x) `" msgid "Inverse hyperbolic cosine of *x*" -msgstr "" +msgstr "Обратный гиперболический косинус *x*" msgid ":func:`asinh(x) `" -msgstr "" +msgstr ":func:`asinh(x) `" msgid "Inverse hyperbolic sine of *x*" -msgstr "" +msgstr "Обратный гиперболический синус *x*" msgid ":func:`atanh(x) `" -msgstr "" +msgstr ":func:`atanh(x) `" msgid "Inverse hyperbolic tangent of *x*" -msgstr "" +msgstr "Обратный гиперболический тангенс *x*" msgid ":func:`cosh(x) `" -msgstr "" +msgstr ":func:`cosh(x) `" msgid "Hyperbolic cosine of *x*" -msgstr "" +msgstr "Гиперболический косинус *x*" msgid ":func:`sinh(x) `" -msgstr "" +msgstr ":func:`sinh(x) `" msgid "Hyperbolic sine of *x*" -msgstr "" +msgstr "Гиперболический синус *x*" msgid ":func:`tanh(x) `" -msgstr "" +msgstr ":func:`tanh(x) `" msgid "Hyperbolic tangent of *x*" -msgstr "" +msgstr "Гиперболический тангенс *x*" msgid "**Special functions**" -msgstr "" +msgstr "**Специальные функции**" msgid ":func:`erf(x) `" -msgstr "" +msgstr ":func:`erf(x) `" msgid "`Error function `_ at *x*" -msgstr "" +msgstr "`Функция ошибки `_ в *x*" msgid ":func:`erfc(x) `" -msgstr "" +msgstr ":func:`erfc(x) `" msgid "" "`Complementary error function `_ at *x*" msgstr "" +"`Дополнительная функция ошибки `_ в *x*" msgid ":func:`gamma(x) `" -msgstr "" +msgstr ":func:`gamma(x) `" msgid "`Gamma function `_ at *x*" -msgstr "" +msgstr "`Гамма-функция `_ в *x*" msgid ":func:`lgamma(x) `" -msgstr "" +msgstr ":func:`lgamma(x) `" msgid "" "Natural logarithm of the absolute value of the `Gamma function `_ at *x*" msgstr "" +"Натуральный логарифм абсолютного значения `гамма-функции `_ в *x*" msgid "**Constants**" -msgstr "" +msgstr "**Константы**" msgid ":data:`pi`" msgstr ":data:`pi`" msgid "*π* = 3.141592..." -msgstr "" +msgstr "*π* = 3.141592..." msgid ":data:`e`" msgstr ":data:`e`" msgid "*e* = 2.718281..." -msgstr "" +msgstr "*e* = 2.718281..." msgid ":data:`tau`" msgstr ":data:`tau`" msgid "*τ* = 2\\ *π* = 6.283185..." -msgstr "" +msgstr "*τ* = 2\\ *π* = 6.283185..." msgid ":data:`inf`" msgstr ":data:`inf`" msgid "Positive infinity" -msgstr "" +msgstr "Положительная бесконечность" msgid ":data:`nan`" msgstr ":data:`nan`" msgid "\"Not a number\" (NaN)" -msgstr "" +msgstr "«Не число» (NaN)" msgid "Number-theoretic functions" -msgstr "" +msgstr "Теоретико-числовые функции" msgid "" "Return the number of ways to choose *k* items from *n* items without " "repetition and without order." msgstr "" +"Повертає кількість способів вибору *k* елементів з *n* елементів без " +"повторення та без порядку." msgid "" "Evaluates to ``n! / (k! * (n - k)!)`` when ``k <= n`` and evaluates to zero " "when ``k > n``." msgstr "" +"Оцінюється як ``n! / (k! * (n - k)!)`` коли ``k <= n`` and evaluates to zero " +"when ``k > n``." msgid "" "Also called the binomial coefficient because it is equivalent to the " "coefficient of k-th term in polynomial expansion of ``(1 + x)ⁿ``." msgstr "" +"Также называется биномиальным коэффициентом, потому что он эквивалентен " +"коэффициенту k-го члена в полиномиальном разложении ``(1 + x)ⁿ``." msgid "" "Raises :exc:`TypeError` if either of the arguments are not integers. Raises :" "exc:`ValueError` if either of the arguments are negative." msgstr "" +"Викликає :exc:`TypeError`, якщо один із аргументів не є цілим числом. " +"Викликає :exc:`ValueError`, якщо будь-який з аргументів негативний." -msgid "" -"Return *n* factorial as an integer. Raises :exc:`ValueError` if *n* is not " -"integral or is negative." -msgstr "" +msgid "Return factorial of the nonnegative integer *n*." +msgstr "Retorna fatorial do inteiro não negativo *n*." msgid "Floats with integral values (like ``5.0``) are no longer accepted." msgstr "" +"Плавающие числа с целыми значениями (например, ``5.0``) больше не " +"принимаются." msgid "" "Return the greatest common divisor of the specified integer arguments. If " @@ -499,17 +531,27 @@ msgid "" "zero, then the returned value is ``0``. ``gcd()`` without arguments returns " "``0``." msgstr "" +"Повертає найбільший спільний дільник указаних цілих аргументів. Якщо будь-" +"який з аргументів не дорівнює нулю, то повернуте значення є найбільшим " +"натуральним числом, яке є дільником усіх аргументів. Якщо всі аргументи " +"дорівнюють нулю, то повертається значення ``0``. ``gcd()`` без аргументів " +"повертає ``0``." msgid "" "Added support for an arbitrary number of arguments. Formerly, only two " "arguments were supported." msgstr "" +"Додано підтримку довільної кількості аргументів. Раніше підтримувалися лише " +"два аргументи." msgid "" "Return the integer square root of the nonnegative integer *n*. This is the " "floor of the exact square root of *n*, or equivalently the greatest integer " "*a* such that *a*\\ ² |nbsp| ≤ |nbsp| *n*." msgstr "" +"Повертає цілий квадратний корінь із цілого невід’ємного числа *n*. Це нижня " +"частина точного квадратного кореня з *n* або, що еквівалентно, найбільше " +"ціле число *a* таке, що *a*\\ ² |nbsp| ≤ |nbsp| *n*." msgid "" "For some applications, it may be more convenient to have the least integer " @@ -517,6 +559,10 @@ msgid "" "the exact square root of *n*. For positive *n*, this can be computed using " "``a = 1 + isqrt(n - 1)``." msgstr "" +"Для деяких програм може бути зручніше мати найменше ціле *a* таке, що *n* |" +"nbsp| ≤ |nbsp| *a*\\ ², або іншими словами, стеля точного квадратного кореня " +"з *n*. Для позитивного *n* це можна обчислити за допомогою ``a = 1 + isqrt(n " +"- 1)``." msgid "" "Return the least common multiple of the specified integer arguments. If all " @@ -525,39 +571,55 @@ msgid "" "zero, then the returned value is ``0``. ``lcm()`` without arguments returns " "``1``." msgstr "" +"Повертає найменше спільне кратне вказаних цілих аргументів. Якщо всі " +"аргументи відмінні від нуля, тоді повертається найменше натуральне число, " +"кратне всім аргументам. Якщо будь-який з аргументів дорівнює нулю, то " +"повертається значення ``0``. ``lcm()`` без аргументів повертає ``1``." msgid "" "Return the number of ways to choose *k* items from *n* items without " "repetition and with order." msgstr "" +"Повернути кількість способів вибору *k* елементів з *n* елементів без " +"повторення та з порядком." msgid "" "Evaluates to ``n! / (n - k)!`` when ``k <= n`` and evaluates to zero when " "``k > n``." msgstr "" +"Оцінюється як ``n! / (n - k)!`` коли ``k <= n`` and evaluates to zero when " +"``k > n``." msgid "" "If *k* is not specified or is ``None``, then *k* defaults to *n* and the " "function returns ``n!``." msgstr "" +"Если *k* не указано или равно ``None``, тогда *k* по умолчанию равно *n*, и " +"функция возвращает ``n!``." msgid "Floating point arithmetic" -msgstr "" +msgstr "Арифметика с плавающей запятой" msgid "" "Return the ceiling of *x*, the smallest integer greater than or equal to " "*x*. If *x* is not a float, delegates to :meth:`x.__ceil__ `, which should return an :class:`~numbers.Integral` value." msgstr "" +"Повертає максимальне значення *x*, найменше ціле число, більше або рівне " +"*x*. Якщо *x* не є числом з плаваючою точкою, делегує :meth:`x.__ceil__ " +"`, який має повернути значення :class:`~numbers.Integral`." msgid "Return the absolute value of *x*." -msgstr "" +msgstr "Повертає абсолютне значення *x*." msgid "" "Return the floor of *x*, the largest integer less than or equal to *x*. If " "*x* is not a float, delegates to :meth:`x.__floor__ `, " "which should return an :class:`~numbers.Integral` value." msgstr "" +"Повертає нижню частину *x*, найбільше ціле число, менше або дорівнює *x*. " +"Якщо *x* не є числом з плаваючою точкою, делегує :meth:`x.__floor__ `, який має повернути значення :class:`~numbers.Integral`." msgid "" "Fused multiply-add operation. Return ``(x * y) + z``, computed as though " @@ -565,6 +627,10 @@ msgid "" "``float`` format. This operation often provides better accuracy than the " "direct expression ``(x * y) + z``." msgstr "" +"Объединенная операция умножения-сложения. Возвращает ``(x * y) + z``, " +"вычисляемое как будто с бесконечной точностью и диапазоном, за которым " +"следует один раунд в формате ``float``. Эта операция часто обеспечивает " +"лучшую точность, чем прямое выражение ``(x * y) + z``." msgid "" "This function follows the specification of the fusedMultiplyAdd operation " @@ -573,6 +639,10 @@ msgid "" "``fma(inf, 0, nan)``. In these cases, ``math.fma`` returns a NaN, and does " "not raise any exception." msgstr "" +"Эта функция соответствует спецификации операции FusedMultiplyAdd, описанной " +"в стандарте IEEE 754. Стандарт оставляет один случай определяемым " +"реализацией, а именно результат ``fma(0, inf, nan)`` и ``fma(inf, 0, nan)``. " +"В этих случаях math.fma возвращает NaN и не вызывает никаких исключений." msgid "" "Return the floating-point remainder of ``x / y``, as defined by the platform " @@ -588,11 +658,27 @@ msgid "" "this reason, function :func:`fmod` is generally preferred when working with " "floats, while Python's ``x % y`` is preferred when working with integers." msgstr "" +"Возвращает остаток с плавающей запятой от ``x / y``, как определено функцией " +"библиотеки платформы C ``fmod(x, y)``. Обратите внимание, что выражение " +"Python ``x % y`` может не возвращать тот же результат. Целью стандарта C " +"является то, чтобы ``fmod(x, y)`` был точно (математически; с бесконечной " +"точностью) равным ``x - n*y`` для некоторого целого числа *n*, такого, что " +"результат имеет тот же знак, что и *x*, и величина меньше, чем ``abs(y)``. " +"Вместо этого ``x % y`` в Python возвращает результат со знаком *y* и может " +"быть не совсем вычислимым для аргументов с плавающей запятой. Например, " +"``fmod(-1e-100, 1e100)`` — это ``-1e-100``, но результатом Python ``-1e-100 " +"% 1e100`` будет ``1e100-1e-100`` `, которое невозможно представить в " +"точности как число с плавающей запятой, и округляется до удивительного числа " +"``1e100``. По этой причине функция :func:`fmod` обычно предпочтительнее при " +"работе с числами с плавающей запятой, а функция Python ``x % y`` " +"предпочтительнее при работе с целыми числами." msgid "" "Return the fractional and integer parts of *x*. Both results carry the sign " "of *x* and are floats." msgstr "" +"Повертає дробову та цілу частини *x*. Обидва результати мають знак *x* і є " +"числами з плаваючою точкою." msgid "" "Note that :func:`modf` has a different call/return pattern than its C " @@ -600,6 +686,10 @@ msgid "" "than returning its second return value through an 'output parameter' (there " "is no such thing in Python)." msgstr "" +"Обратите внимание, что :func:`modf` имеет другой шаблон вызова/возврата, чем " +"его эквиваленты на C: он принимает один аргумент и возвращает пару значений, " +"а не возвращает второе возвращаемое значение через «выходной " +"параметр» (такого не существует). вещь в Python)." msgid "" "Return the IEEE 754-style remainder of *x* with respect to *y*. For finite " @@ -609,6 +699,12 @@ msgid "" "*even* integer is used for ``n``. The remainder ``r = remainder(x, y)`` " "thus always satisfies ``abs(r) <= 0.5 * abs(y)``." msgstr "" +"Повертає залишок *x* у стилі IEEE 754 відносно *y*. Для кінцевого *x* і " +"кінцевого ненульового *y* це різниця ``x - n*y``, де ``n`` є найближчим " +"цілим числом до точного значення частки ``x / y`` . Якщо ``x / y`` " +"знаходиться точно посередині між двома послідовними цілими числами, для " +"``n`` використовується найближче *парне* ціле число. Таким чином, залишок " +"``r = залишок(x, y)`` завжди задовольняє ``abs(r) <= 0,5 * abs(y)``." msgid "" "Special cases follow IEEE 754: in particular, ``remainder(x, math.inf)`` is " @@ -616,11 +712,18 @@ msgid "" "x)`` raise :exc:`ValueError` for any non-NaN *x*. If the result of the " "remainder operation is zero, that zero will have the same sign as *x*." msgstr "" +"Спеціальні випадки відповідають стандарту IEEE 754: зокрема, ``remainder(x, " +"math.inf)`` є *x* для будь-якого кінцевого *x*, а ``remainder(x, 0)`` і " +"``remainder(math.inf). inf, x)`` підняти :exc:`ValueError` для будь-якого не-" +"NaN *x*. Якщо результатом операції залишку є нуль, цей нуль матиме той самий " +"знак, що й *x*." msgid "" "On platforms using IEEE 754 binary floating point, the result of this " "operation is always exactly representable: no rounding error is introduced." msgstr "" +"На платформах, использующих двоичную плавающую запятую IEEE 754, результат " +"этой операции всегда точно представим: ошибка округления не возникает." msgid "" "Return *x* with the fractional part removed, leaving the integer part. This " @@ -629,6 +732,11 @@ msgid "" "delegates to :meth:`x.__trunc__ `, which should return an :" "class:`~numbers.Integral` value." msgstr "" +"Поверніть *x* із видаленням дробової частини, залишаючи цілу частину. Це " +"округляє до 0: ``trunc()`` еквівалентно :func:`floor` для додатного *x* та " +"еквівалентно :func:`ceil` для від’ємного *x*. Якщо *x* не є числом з " +"плаваючою точкою, делегує :meth:`x.__trunc__ `, який має " +"повернути значення :class:`~numbers.Integral`." msgid "" "For the :func:`ceil`, :func:`floor`, and :func:`modf` functions, note that " @@ -637,15 +745,23 @@ msgid "" "(the same as the platform C double type), in which case any float *x* with " "``abs(x) >= 2**52`` necessarily has no fractional bits." msgstr "" +"Для функцій :func:`ceil`, :func:`floor` і :func:`modf` зауважте, що *всі* " +"числа з плаваючою комою досить великої величини є точними цілими числами. " +"Python зазвичай містить не більше 53 бітів точності (так само, як і " +"подвійний тип платформи C), у цьому випадку будь-яке число з плаваючою " +"речовиною *x* із ``abs(x) >= 2**52`` обов’язково не має дробових бітів. ." msgid "Floating point manipulation functions" -msgstr "" +msgstr "Функции манипуляции с плавающей запятой" msgid "" "Return a float with the magnitude (absolute value) of *x* but the sign of " "*y*. On platforms that support signed zeros, ``copysign(1.0, -0.0)`` " "returns *-1.0*." msgstr "" +"Повертає число з плаваючою точкою з величиною (абсолютним значенням) *x*, " +"але зі знаком *y*. На платформах, які підтримують нулі зі знаком, " +"``copysign(1.0, -0.0)`` повертає *-1.0*." msgid "" "Return the mantissa and exponent of *x* as the pair ``(m, e)``. *m* is a " @@ -653,6 +769,11 @@ msgid "" "zero, returns ``(0.0, 0)``, otherwise ``0.5 <= abs(m) < 1``. This is used " "to \"pick apart\" the internal representation of a float in a portable way." msgstr "" +"Повертає мантису та експонент *x* як пару ``(m, e)``. *m* є числом з " +"плаваючою точкою, а *e* є цілим числом таким чином, що ``x == m * 2**e`` " +"точно. Якщо *x* дорівнює нулю, повертає ``(0,0, 0)``, інакше ``0,5 <= abs(m) " +"< 1``. Це використовується, щоб \"розібрати\" внутрішнє представлення float " +"переносним способом." msgid "" "Note that :func:`frexp` has a different call/return pattern than its C " @@ -660,6 +781,10 @@ msgid "" "than returning its second return value through an 'output parameter' (there " "is no such thing in Python)." msgstr "" +"Обратите внимание, что :func:`frexp` имеет другой шаблон вызова/возврата, " +"чем его эквиваленты на C: он принимает один аргумент и возвращает пару " +"значений, а не возвращает второе возвращаемое значение через «выходной " +"параметр» (такого не существует). вещь в Python)." msgid "" "Return ``True`` if the values *a* and *b* are close to each other and " @@ -673,6 +798,10 @@ msgid "" "given absolute and relative tolerances. If no errors occur, the result will " "be: ``abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)``." msgstr "" +"Считаются ли два значения близкими или нет, определяется в соответствии с " +"заданными абсолютными и относительными допусками. Если ошибок не возникнет, " +"результатом будет: ``abs(ab) <= max(rel_tol * max(abs(a), abs(b)), " +"abs_tol)``." msgid "" "*rel_tol* is the relative tolerance -- it is the maximum allowed difference " @@ -682,6 +811,12 @@ msgid "" "within about 9 decimal digits. *rel_tol* must be nonnegative and less than " "``1.0``." msgstr "" +"*rel_tol* — это относительный допуск — это максимально допустимая разница " +"между *a* и *b* относительно большего абсолютного значения *a* или *b*. " +"Например, чтобы установить допуск 5 %, укажите rel_tol=0,05. Допуск по " +"умолчанию — «1e-09», который гарантирует, что два значения одинаковы в " +"пределах примерно 9 десятичных цифр. *rel_tol* должен быть неотрицательным и " +"меньше ``1.0``." msgid "" "*abs_tol* is the absolute tolerance; it defaults to ``0.0`` and it must be " @@ -690,6 +825,11 @@ msgid "" "and *rel_tol* less than ``1.0``. So add an appropriate positive *abs_tol* " "argument to the call." msgstr "" +"*abs_tol* — это абсолютный допуск; по умолчанию он равен ``0.0`` и должен " +"быть неотрицательным. При сравнении ``x`` с ``0.0``, ``isclose(x, 0)`` " +"вычисляется как ``abs(x) <= rel_tol * abs(x)``, что равно ``False`` для " +"любого ненулевого ``x`` и *rel_tol* меньшего, чем ``1.0``. Поэтому добавьте " +"соответствующий положительный аргумент *abs_tol* к вызову." msgid "" "The IEEE 754 special values of ``NaN``, ``inf``, and ``-inf`` will be " @@ -697,108 +837,132 @@ msgid "" "close to any other value, including ``NaN``. ``inf`` and ``-inf`` are only " "considered close to themselves." msgstr "" +"Спеціальні значення IEEE 754 ``NaN``, ``inf`` і ``-inf`` оброблятимуться " +"відповідно до правил IEEE. Зокрема, ``NaN`` не вважається близьким до будь-" +"якого іншого значення, включаючи ``NaN``. ``inf`` і ``-inf`` вважаються лише " +"близькими до самих себе." msgid ":pep:`485` -- A function for testing approximate equality" -msgstr "" +msgstr ":pep:`485` -- Функція для перевірки приблизної рівності" msgid "" "Return ``True`` if *x* is neither an infinity nor a NaN, and ``False`` " "otherwise. (Note that ``0.0`` *is* considered finite.)" msgstr "" +"Повертає ``True``, якщо *x* не є ні нескінченністю, ні NaN, і ``False`` в " +"іншому випадку. (Зверніть увагу, що ``0.0`` *вважається* кінцевим.)" msgid "" "Return ``True`` if *x* is a positive or negative infinity, and ``False`` " "otherwise." msgstr "" +"Повертає ``True``, якщо *x* є додатною або від’ємною нескінченністю, і " +"``False`` в іншому випадку." msgid "" "Return ``True`` if *x* is a NaN (not a number), and ``False`` otherwise." msgstr "" +"Повертає ``True``, якщо *x* є NaN (а не число), і ``False`` в іншому випадку." msgid "" "Return ``x * (2**i)``. This is essentially the inverse of function :func:" "`frexp`." -msgstr "" +msgstr "Повернути ``x * (2**i)``. По суті, це зворотна функція :func:`frexp`." msgid "Return the floating-point value *steps* steps after *x* towards *y*." msgstr "" +"Возвращает значение с плавающей запятой *шаги* шаги после *x* в сторону *y*." msgid "If *x* is equal to *y*, return *y*, unless *steps* is zero." -msgstr "" +msgstr "Если *x* равно *y*, верните *y*, если только *steps* не равно нулю." msgid "Examples:" msgstr "Przykłady:" msgid "``math.nextafter(x, math.inf)`` goes up: towards positive infinity." msgstr "" +"``math.nextafter(x, math.inf)`` йде вгору: до позитивної нескінченності." msgid "``math.nextafter(x, -math.inf)`` goes down: towards minus infinity." -msgstr "" +msgstr "``math.nextafter(x, -math.inf)`` йде вниз: до мінус нескінченності." msgid "``math.nextafter(x, 0.0)`` goes towards zero." -msgstr "" +msgstr "``math.nextafter(x, 0.0)`` рухається до нуля." msgid "``math.nextafter(x, math.copysign(math.inf, x))`` goes away from zero." -msgstr "" +msgstr "``math.nextafter(x, math.copysign(math.inf, x))`` відходить від нуля." msgid "See also :func:`math.ulp`." -msgstr "" +msgstr "Дивіться також :func:`math.ulp`." msgid "Added the *steps* argument." -msgstr "" +msgstr "Добавлен аргумент *steps*." msgid "Return the value of the least significant bit of the float *x*:" -msgstr "" +msgstr "Повертає значення молодшого біта числа з плаваючою точкою *x*:" msgid "If *x* is a NaN (not a number), return *x*." -msgstr "" +msgstr "Якщо *x* є NaN (а не числом), поверніть *x*." msgid "If *x* is negative, return ``ulp(-x)``." -msgstr "" +msgstr "Якщо *x* від’ємне, поверніть ``ulp(-x)``." msgid "If *x* is a positive infinity, return *x*." -msgstr "" +msgstr "Якщо *x* є позитивною нескінченністю, поверніть *x*." msgid "" "If *x* is equal to zero, return the smallest positive *denormalized* " "representable float (smaller than the minimum positive *normalized* float, :" "data:`sys.float_info.min `)." msgstr "" +"Якщо *x* дорівнює нулю, поверніть найменше додатне *деноралізоване* число з " +"плаваючою точкою (менше ніж мінімальне позитивне *нормалізоване* число з " +"плаваючою точкою, :data:`sys.float_info.min `)." msgid "" "If *x* is equal to the largest positive representable float, return the " "value of the least significant bit of *x*, such that the first float smaller " "than *x* is ``x - ulp(x)``." msgstr "" +"Якщо *x* дорівнює найбільшому додатному репрезентативному float, поверніть " +"значення молодшого значущого біта *x*, щоб перше число з плаваючою точкою, " +"менше за *x*, було ``x - ulp(x)``." msgid "" "Otherwise (*x* is a positive finite number), return the value of the least " "significant bit of *x*, such that the first float bigger than *x* is ``x + " "ulp(x)``." msgstr "" +"В іншому випадку (*x* — додатне скінченне число) поверніть значення " +"молодшого біта *x*, щоб перше число з плаваючою речовиною, більше за *x*, " +"було ``x + ulp(x)``." msgid "ULP stands for \"Unit in the Last Place\"." -msgstr "" +msgstr "ULP розшифровується як \"Unit in the Last Place\"." msgid "" "See also :func:`math.nextafter` and :data:`sys.float_info.epsilon `." msgstr "" +"Дивіться також :func:`math.nextafter` і :data:`sys.float_info.epsilon `." msgid "Power, exponential and logarithmic functions" -msgstr "" +msgstr "Степенные, показательные и логарифмические функции" msgid "Return the cube root of *x*." -msgstr "" +msgstr "Возвращает кубический корень *x*." msgid "" "Return *e* raised to the power *x*, where *e* = 2.718281... is the base of " "natural logarithms. This is usually more accurate than ``math.e ** x`` or " "``pow(math.e, x)``." msgstr "" +"Поверніть *e* у степені *x*, де *e* = 2,718281... є основою натуральних " +"логарифмів. Зазвичай це точніше, ніж ``math.e ** x`` або ``pow(math.e, x)``." msgid "Return *2* raised to the power *x*." -msgstr "" +msgstr "Верните *2*, возведенную в степень *x*." msgid "" "Return *e* raised to the power *x*, minus 1. Here *e* is the base of " @@ -807,34 +971,47 @@ msgid "" "wiki/Loss_of_significance>`_\\; the :func:`expm1` function provides a way to " "compute this quantity to full precision:" msgstr "" +"Верните *e*, возведенное в степень *x*, минус 1. Здесь *e* — это основание " +"натуральных логарифмов. Для небольших чисел с плавающей запятой *x* " +"вычитание в ``exp(x) - 1`` может привести к ``значительной потере точности " +"`_\\; функция :func:" +"`expm1` позволяет вычислить эту величину с полной точностью:" msgid "With one argument, return the natural logarithm of *x* (to base *e*)." -msgstr "" +msgstr "З одним аргументом повертає натуральний логарифм *x* (за основою *e*)." msgid "" "With two arguments, return the logarithm of *x* to the given *base*, " "calculated as ``log(x)/log(base)``." msgstr "" +"З двома аргументами повертає логарифм від *x* до заданої *основи*, " +"обчислений як ``log(x)/log(основа)``." msgid "" "Return the natural logarithm of *1+x* (base *e*). The result is calculated " "in a way which is accurate for *x* near zero." msgstr "" +"Повертає натуральний логарифм *1+x* (за основою *e*). Результат обчислюється " +"таким чином, що є точним для *x* біля нуля." msgid "" "Return the base-2 logarithm of *x*. This is usually more accurate than " "``log(x, 2)``." msgstr "" +"Повертає логарифм *x* за основою 2. Зазвичай це точніше, ніж ``log(x, 2)``." msgid "" ":meth:`int.bit_length` returns the number of bits necessary to represent an " "integer in binary, excluding the sign and leading zeros." msgstr "" +":meth:`int.bit_length` повертає кількість бітів, необхідну для представлення " +"цілого числа в двійковій формі, за винятком знака та нулів на початку." msgid "" "Return the base-10 logarithm of *x*. This is usually more accurate than " "``log(x, 10)``." msgstr "" +"Повертає логарифм *x* за основою 10. Зазвичай це точніше, ніж ``log(x, 10)``." msgid "" "Return *x* raised to the power *y*. Exceptional cases follow the IEEE 754 " @@ -843,41 +1020,58 @@ msgid "" "and *y* are finite, *x* is negative, and *y* is not an integer then ``pow(x, " "y)`` is undefined, and raises :exc:`ValueError`." msgstr "" +"Верните *x*, возведенное в степень *y*. В исключительных случаях, насколько " +"это возможно, следуйте стандарту IEEE 754. В частности, ``pow(1.0, x)`` и " +"``pow(x, 0.0)`` всегда возвращают ``1.0``, даже если *x* равно нулю или NaN. " +"Если оба *x* и *y* конечны, *x* отрицательное значение и *y* не является " +"целым числом, тогда ``pow(x, y)`` не определен и вызывает :exc:`ValueError`." msgid "" "Unlike the built-in ``**`` operator, :func:`math.pow` converts both its " "arguments to type :class:`float`. Use ``**`` or the built-in :func:`pow` " "function for computing exact integer powers." msgstr "" +"На відміну від вбудованого оператора ``**``, :func:`math.pow` перетворює " +"обидва свої аргументи на тип :class:`float`. Використовуйте ``**`` або " +"вбудовану функцію :func:`pow` для обчислення точних цілих степенів." msgid "" "The special cases ``pow(0.0, -inf)`` and ``pow(-0.0, -inf)`` were changed to " "return ``inf`` instead of raising :exc:`ValueError`, for consistency with " "IEEE 754." msgstr "" +"Особые случаи ``pow(0.0, -inf)`` и ``pow(-0.0, -inf)`` были изменены, чтобы " +"возвращать ``inf`` вместо вызова :exc:`ValueError`, для согласованности с " +"IEEE. 754." msgid "Return the square root of *x*." -msgstr "" +msgstr "Повертає квадратний корінь з *x*." msgid "Summation and product functions" -msgstr "" +msgstr "Суммирование и функции произведения" msgid "" "Return the Euclidean distance between two points *p* and *q*, each given as " "a sequence (or iterable) of coordinates. The two points must have the same " "dimension." msgstr "" +"Повертає евклідову відстань між двома точками *p* і *q*, кожна з яких задана " +"як послідовність (або повторювана) координат. Дві точки повинні мати " +"однаковий розмір." msgid "Roughly equivalent to::" -msgstr "" +msgstr "Приблизно еквівалентно::" msgid "sqrt(sum((px - qx) ** 2.0 for px, qx in zip(p, q)))" -msgstr "" +msgstr "sqrt(sum((px - qx) ** 2.0 for px, qx in zip(p, q)))" msgid "" "Return an accurate floating-point sum of values in the iterable. Avoids " "loss of precision by tracking multiple intermediate partial sums." msgstr "" +"Возвращает точную сумму значений с плавающей запятой в итерируемом объекте. " +"Избегает потери точности за счет отслеживания нескольких промежуточных " +"частичных сумм." msgid "" "The algorithm's accuracy depends on IEEE-754 arithmetic guarantees and the " @@ -886,6 +1080,11 @@ msgid "" "occasionally double-round an intermediate sum causing it to be off in its " "least significant bit." msgstr "" +"Точність алгоритму залежить від арифметичних гарантій IEEE-754 і типового " +"випадку, коли режим округлення є напівпарним. У деяких збірках, відмінних " +"від Windows, базова бібліотека C використовує розширену точність додавання " +"та іноді може подвоїти округлення проміжної суми, спричиняючи її вимкнення у " +"своєму молодшому розряді." msgid "" "For further discussion and two alternative approaches, see the `ASPN " @@ -893,46 +1092,63 @@ msgid "" "activestate.com/recipes/393090-binary-floating-point-summation-accurate-to-" "full-p/>`_\\." msgstr "" +"Для дальнейшего обсуждения и двух альтернативных подходов см. «Рецепты ASPN " +"для точного суммирования с плавающей запятой `_\\." msgid "" "Return the Euclidean norm, ``sqrt(sum(x**2 for x in coordinates))``. This is " "the length of the vector from the origin to the point given by the " "coordinates." msgstr "" +"Повертає евклідову норму, ``sqrt(sum(x**2 для x у координатах))``. Це " +"довжина вектора від початку координат до точки, заданої координатами." msgid "" "For a two dimensional point ``(x, y)``, this is equivalent to computing the " "hypotenuse of a right triangle using the Pythagorean theorem, ``sqrt(x*x + " "y*y)``." msgstr "" +"Для двовимірної точки ``(x, y)`` це еквівалентно обчисленню гіпотенузи " +"прямокутного трикутника за допомогою теореми Піфагора ``sqrt(x*x + y*y)``." msgid "" "Added support for n-dimensional points. Formerly, only the two dimensional " "case was supported." msgstr "" +"Додано підтримку n-вимірних точок. Раніше підтримувався лише двовимірний " +"випадок." msgid "" "Improved the algorithm's accuracy so that the maximum error is under 1 ulp " "(unit in the last place). More typically, the result is almost always " "correctly rounded to within 1/2 ulp." msgstr "" +"Покращено точність алгоритму, щоб максимальна помилка була менше 1 ulp " +"(одиниця на останньому місці). Як правило, результат майже завжди правильно " +"округлюється з точністю до 1/2 ulp." msgid "" "Calculate the product of all the elements in the input *iterable*. The " "default *start* value for the product is ``1``." msgstr "" +"Обчислити добуток усіх елементів у вхідному *iterable*. Типовим *початковим* " +"значенням для продукту є \"1\"." msgid "" "When the iterable is empty, return the start value. This function is " "intended specifically for use with numeric values and may reject non-numeric " "types." msgstr "" +"Коли iterable порожній, поверніть початкове значення. Ця функція призначена " +"спеціально для використання з числовими значеннями та може відхиляти " +"нечислові типи." msgid "Return the sum of products of values from two iterables *p* and *q*." -msgstr "" +msgstr "Возвращает сумму произведений значений двух итераций *p* и *q*." msgid "Raises :exc:`ValueError` if the inputs do not have the same length." -msgstr "" +msgstr "Вызывает :exc:`ValueError`, если входные данные имеют разную длину." msgid "sum(itertools.starmap(operator.mul, zip(p, q, strict=True)))" msgstr "" @@ -941,33 +1157,39 @@ msgid "" "For float and mixed int/float inputs, the intermediate products and sums are " "computed with extended precision." msgstr "" +"Для входных данных с плавающей запятой и смешанных значений типа int/float " +"промежуточные продукты и суммы вычисляются с повышенной точностью." msgid "Angular conversion" -msgstr "" +msgstr "Кутове перетворення" msgid "Convert angle *x* from radians to degrees." -msgstr "" +msgstr "Перетворіть кут *x* з радіан на градуси." msgid "Convert angle *x* from degrees to radians." -msgstr "" +msgstr "Переведіть кут *x* із градусів у радіани." msgid "Trigonometric functions" -msgstr "" +msgstr "Тригонометричні функції" msgid "" "Return the arc cosine of *x*, in radians. The result is between ``0`` and " "``pi``." -msgstr "" +msgstr "Повертає арккосинус *x* у радіанах. Результат між ``0`` і ``pi``." msgid "" "Return the arc sine of *x*, in radians. The result is between ``-pi/2`` and " "``pi/2``." msgstr "" +"Повертає арксинус *x* у радіанах. Результат знаходиться між ``-pi/2`` і " +"``pi/2``." msgid "" "Return the arc tangent of *x*, in radians. The result is between ``-pi/2`` " "and ``pi/2``." msgstr "" +"Повертає арктангенс *x* у радіанах. Результат знаходиться між ``-pi/2`` і " +"``pi/2``." msgid "" "Return ``atan(y / x)``, in radians. The result is between ``-pi`` and " @@ -977,33 +1199,42 @@ msgid "" "for the angle. For example, ``atan(1)`` and ``atan2(1, 1)`` are both " "``pi/4``, but ``atan2(-1, -1)`` is ``-3*pi/4``." msgstr "" +"Повертає ``atan(y / x)``, у радіанах. Результат знаходиться між ``-pi`` і " +"``pi``. Вектор у площині від початку координат до точки \"(x, y)\" утворює " +"цей кут із додатною віссю X. Суть :func:`atan2` полягає в тому, що йому " +"відомі знаки обох вхідних даних, тому він може обчислити правильний квадрант " +"для кута. Наприклад, ``atan(1)`` і ``atan2(1, 1)`` обидва є ``pi/4``, але " +"``atan2(-1, -1)`` є ``-3*pi/4``." msgid "Return the cosine of *x* radians." -msgstr "" +msgstr "Повертає косинус *x* радіан." msgid "Return the sine of *x* radians." -msgstr "" +msgstr "Повернути синус *x* радіан." msgid "Return the tangent of *x* radians." -msgstr "" +msgstr "Повертає тангенс *x* радіан." msgid "Hyperbolic functions" -msgstr "" +msgstr "Гіперболічні функції" msgid "" "`Hyperbolic functions `_ " "are analogs of trigonometric functions that are based on hyperbolas instead " "of circles." msgstr "" +"`Гиперболические функции `_ — это аналоги тригонометрических функций, основанные " +"на гиперболах вместо окружностей." msgid "Return the inverse hyperbolic cosine of *x*." -msgstr "" +msgstr "Повертає арккосинус *x*." msgid "Return the inverse hyperbolic sine of *x*." -msgstr "" +msgstr "Повертає гіперболічний арксинус *x*." msgid "Return the inverse hyperbolic tangent of *x*." -msgstr "" +msgstr "Повертає гіперболічний обернений тангенс *x*." msgid "Return the hyperbolic cosine of *x*." msgstr "Zwraca cosinus hiperboliczny z *x*." @@ -1015,24 +1246,33 @@ msgid "Return the hyperbolic tangent of *x*." msgstr "Zwraca tangens hiperboliczny z *x*." msgid "Special functions" -msgstr "" +msgstr "Спеціальні функції" msgid "" "Return the `error function `_ " "at *x*." msgstr "" +"Повертає `функцію помилки `_ у " +"*x*." msgid "" "The :func:`erf` function can be used to compute traditional statistical " "functions such as the `cumulative standard normal distribution `_::" msgstr "" +"Функцию :func:`erf` можно использовать для вычисления традиционных " +"статистических функций, таких как `кумулятивное стандартное нормальное " +"распределение `_::" msgid "" "def phi(x):\n" " 'Cumulative distribution function for the standard normal distribution'\n" " return (1.0 + erf(x / sqrt(2.0))) / 2.0" msgstr "" +"def phi(x):\n" +" 'Cumulative distribution function for the standard normal distribution'\n" +" return (1.0 + erf(x / sqrt(2.0))) / 2.0" msgid "" "Return the complementary error function at *x*. The `complementary error " @@ -1041,38 +1281,54 @@ msgid "" "from one would cause a `loss of significance `_\\." msgstr "" +"Повертає функцію додаткової помилки в *x*. `Додаткова функція помилок " +"`_ визначається як ``1.0 - " +"erf(x)``. Він використовується для великих значень *x*, де віднімання від " +"одиниці спричинило б `втрату значущості `_\\." msgid "" "Return the `Gamma function `_ " "at *x*." msgstr "" +"Повертає `Гамма-функцію `_ у " +"*x*." msgid "" "Return the natural logarithm of the absolute value of the Gamma function at " "*x*." msgstr "" +"Повертає натуральний логарифм абсолютного значення гамма-функції при *x*." msgid "Constants" msgstr "Stały" msgid "The mathematical constant *π* = 3.141592..., to available precision." -msgstr "" +msgstr "Математична константа *π* = 3,141592... з доступною точністю." msgid "The mathematical constant *e* = 2.718281..., to available precision." -msgstr "" +msgstr "Математична константа *e* = 2,718281... з доступною точністю." msgid "" "The mathematical constant *τ* = 6.283185..., to available precision. Tau is " "a circle constant equal to 2\\ *π*, the ratio of a circle's circumference to " "its radius. To learn more about Tau, check out Vi Hart's video `Pi is " -"(still) Wrong `_, 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 "" +"A constante matemática *τ* = 6.283185..., para a precisão disponível. Tau é " +"uma constante de círculo igual a 2\\ *π*, a razão entre a circunferência de " +"um círculo e seu raio. Para saber mais sobre Tau, confira o vídeo `Pi is " +"(still) Wrong `_ de Vi Hart, e comece a " +"comemorar o `dia do Tau `_ comendo duas vezes mais " +"torta!" msgid "" "A floating-point positive infinity. (For negative infinity, use ``-math." "inf``.) Equivalent to the output of ``float('inf')``." msgstr "" +"Додатна нескінченність із плаваючою комою. (Для негативної нескінченності " +"використовуйте ``-math.inf``.) Еквівалент виведення ``float('inf')``." msgid "" "A floating-point \"not a number\" (NaN) value. Equivalent to the output of " @@ -1082,9 +1338,15 @@ msgid "" "check whether a number is a NaN, use the :func:`isnan` function to test for " "NaNs instead of ``is`` or ``==``. Example:" msgstr "" +"Значение с плавающей запятой, не являющееся числом (NaN). Эквивалент вывода " +"``float('nan')``. В связи с требованиями стандарта IEEE-754 `_, ``math.nan`` и ``float('nan')`` не " +"учитываются. быть равным любому другому числовому значению, включая себя. " +"Чтобы проверить, является ли число NaN, используйте функцию :func:`isnan` " +"для проверки NaN вместо ``is`` или ``==``. Пример:" msgid "It is now always available." -msgstr "" +msgstr "Теперь он всегда доступен." msgid "" "The :mod:`math` module consists mostly of thin wrappers around the platform " @@ -1099,15 +1361,29 @@ msgid "" "are some exceptions to this rule, for example ``pow(float('nan'), 0.0)`` or " "``hypot(float('nan'), float('inf'))``." msgstr "" +"Модуль :mod:`math` складається здебільшого з тонких обгорток навколо функцій " +"математичної бібліотеки платформи C. Поведінка у виняткових випадках " +"відповідає додатку F стандарту C99, де це необхідно. Поточна реалізація " +"викличе :exc:`ValueError` для недійсних операцій, таких як ``sqrt(-1.0)`` " +"або ``log(0.0)`` (де C99 Додаток F рекомендує сигналізувати про недійсну " +"операцію або ділення на нуль), і :exc:`OverflowError` для результатів, які " +"переповнюються (наприклад, ``exp(1000.0)``). NaN не буде повернено жодною з " +"наведених вище функцій, якщо один або більше вхідних аргументів не були NaN; " +"у цьому випадку більшість функцій повертатиме NaN, але (знову ж таки " +"відповідно до Додатку F C99) є деякі винятки з цього правила, наприклад " +"``pow(float('nan'), 0.0)`` або ``hypot(float ('nan'), float('inf'))``." msgid "" "Note that Python makes no effort to distinguish signaling NaNs from quiet " "NaNs, and behavior for signaling NaNs remains unspecified. Typical behavior " "is to treat all NaNs as though they were quiet." msgstr "" +"Зауважте, що Python не робить жодних зусиль, щоб відрізнити сигнальні NaN " +"від тихих NaN, і поведінка для сигнальних NaN залишається невизначеною. " +"Типовою поведінкою є ставлення до всіх NaN так, ніби вони тихі." msgid "Module :mod:`cmath`" -msgstr "" +msgstr "Модуль :mod:`cmath`" msgid "Complex number versions of many of these functions." -msgstr "" +msgstr "Версії комплексних чисел багатьох із цих функцій." diff --git a/library/mimetypes.po b/library/mimetypes.po index 7f9f7b3cd4..c2bed1f278 100644 --- a/library/mimetypes.po +++ b/library/mimetypes.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/library/mmap.po b/library/mmap.po index c349b092b3..ceb7736ed6 100644 --- a/library/mmap.po +++ b/library/mmap.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-06-27 14:55+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -33,6 +33,8 @@ msgid "" "This module does not work or is not available on WebAssembly. See :ref:`wasm-" "availability` for more information." msgstr "" +"Этот модуль не работает или недоступен в WebAssembly. См. :ref:`wasm-" +"availability` для получения дополнительной информации." msgid "" "Memory-mapped file objects behave like both :class:`bytearray` and like :" @@ -253,7 +255,7 @@ msgid "" msgstr "" msgid "Writable :term:`bytes-like object` is now accepted." -msgstr "" +msgstr "Записуваний :term:`bytes-like object` тепер приймається." msgid "" "Flushes changes made to the in-memory copy of a file back to disk. Without " @@ -319,7 +321,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/modules.po b/library/modules.po index 4ab3d987c7..97c728b6eb 100644 --- a/library/modules.po +++ b/library/modules.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2025, 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.13\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: 2025-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-05-08 05:09+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 "Importing Modules" -msgstr "" +msgstr "Mengimpor Modul" msgid "" "The modules described in this chapter provide new ways to import other " diff --git a/library/multiprocessing.po b/library/multiprocessing.po index de9f1d7267..84511c93df 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-25 15:00+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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,10 +24,10 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!multiprocessing` --- Process-based parallelism" -msgstr "" +msgstr "Первое упоминание о совместном" msgid "**Source code:** :source:`Lib/multiprocessing/`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/multiprocessing/`" msgid "Availability" msgstr "Dostępność" @@ -40,6 +36,8 @@ msgid "" "This module is not supported on :ref:`mobile platforms ` or :ref:`WebAssembly platforms `." msgstr "" +"Этот модуль не поддерживается на :ref:`мобильных платформах ` или :ref:`платформах WebAssembly `." msgid "Introduction" msgstr "Wprowadzenie" @@ -53,6 +51,14 @@ msgid "" "module allows the programmer to fully leverage multiple processors on a " "given machine. It runs on both POSIX and Windows." msgstr "" +":mod:`multiprocessing` — это пакет, который поддерживает создание процессов " +"с использованием API, аналогичного модулю :mod:`threading`. Пакет :mod:" +"`multiprocessing` предлагает как локальный, так и удаленный параллелизм, " +"эффективно обходя :term:`Global Interpreter Lock <глобальную блокировку " +"интерпретатора>` за счет использования подпроцессов вместо потоков. " +"Благодаря этому модуль :mod:`multiprocessing` позволяет программисту " +"полностью использовать несколько процессоров на данной машине. Он работает " +"как в POSIX, так и в Windows." msgid "" "The :mod:`multiprocessing` module also introduces APIs which do not have " @@ -65,6 +71,14 @@ msgid "" "module. This basic example of data parallelism using :class:" "`~multiprocessing.pool.Pool`, ::" msgstr "" +"Модуль :mod:`multiprocessing` також представляє API, які не мають аналогів у " +"модулі :mod:`threading`. Яскравим прикладом цього є об’єкт :class:" +"`~multiprocessing.pool.Pool`, який пропонує зручний засіб розпаралелювання " +"виконання функції для кількох вхідних значень, розподіляючи вхідні дані між " +"процесами (паралелізм даних). Наступний приклад демонструє звичайну практику " +"визначення таких функцій у модулі, щоб дочірні процеси могли успішно " +"імпортувати цей модуль. Цей базовий приклад паралелізму даних з " +"використанням :class:`~multiprocessing.pool.Pool`, ::" msgid "" "from multiprocessing import Pool\n" @@ -76,12 +90,20 @@ msgid "" " with Pool(5) as p:\n" " print(p.map(f, [1, 2, 3]))" msgstr "" +"from multiprocessing import Pool\n" +"\n" +"def f(x):\n" +" return x*x\n" +"\n" +"if __name__ == '__main__':\n" +" with Pool(5) as p:\n" +" print(p.map(f, [1, 2, 3]))" msgid "will print to standard output ::" -msgstr "" +msgstr "друкуватиме стандартний вихід ::" msgid "[1, 4, 9]" -msgstr "" +msgstr "[1, 4, 9]" msgid "" ":class:`concurrent.futures.ProcessPoolExecutor` offers a higher level " @@ -91,9 +113,15 @@ msgid "" "allows the submission of work to the underlying process pool to be separated " "from waiting for the results." msgstr "" +":class:`concurrent.futures.ProcessPoolExecutor` предлагает интерфейс более " +"высокого уровня для передачи задач фоновому процессу без блокировки " +"выполнения вызывающего процесса. По сравнению с использованием интерфейса :" +"class:`~multiprocessing.pool.Pool` напрямую, API :mod:`concurrent.futures` " +"позволяет с большей легкостью отделить отправку работы в базовый пул " +"процессов от ожидания результатов." msgid "The :class:`Process` class" -msgstr "" +msgstr "Клас :class:`Process`" msgid "" "In :mod:`multiprocessing`, processes are spawned by creating a :class:" @@ -101,6 +129,10 @@ msgid "" "`Process` follows the API of :class:`threading.Thread`. A trivial example " "of a multiprocess program is ::" msgstr "" +"У :mod:`multiprocessing` процеси породжуються шляхом створення об’єкта :" +"class:`Process` і виклику його методу :meth:`~Process.start`. :class:" +"`Process` відповідає API :class:`threading.Thread`. Тривіальним прикладом " +"багатопроцесорної програми є:" msgid "" "from multiprocessing import Process\n" @@ -113,10 +145,19 @@ msgid "" " p.start()\n" " p.join()" msgstr "" +"from multiprocessing import Process\n" +"\n" +"def f(name):\n" +" print('hello', name)\n" +"\n" +"if __name__ == '__main__':\n" +" p = Process(target=f, args=('bob',))\n" +" p.start()\n" +" p.join()" msgid "" "To show the individual process IDs involved, here is an expanded example::" -msgstr "" +msgstr "Щоб показати ідентифікатори окремих процесів, ось розширений приклад:" msgid "" "from multiprocessing import Process\n" @@ -138,22 +179,44 @@ msgid "" " p.start()\n" " p.join()" msgstr "" +"from multiprocessing import Process\n" +"import os\n" +"\n" +"def info(title):\n" +" print(title)\n" +" print('module name:', __name__)\n" +" print('parent process:', os.getppid())\n" +" print('process id:', os.getpid())\n" +"\n" +"def f(name):\n" +" info('function f')\n" +" print('hello', name)\n" +"\n" +"if __name__ == '__main__':\n" +" info('main line')\n" +" p = Process(target=f, args=('bob',))\n" +" p.start()\n" +" p.join()" msgid "" "For an explanation of why the ``if __name__ == '__main__'`` part is " "necessary, see :ref:`multiprocessing-programming`." msgstr "" +"Щоб отримати пояснення, чому потрібна частина ``if __name__ == " +"'__main__''``, див. :ref:`multiprocessing-programming`." msgid "Contexts and start methods" -msgstr "" +msgstr "Контексти та методи запуску" msgid "" "Depending on the platform, :mod:`multiprocessing` supports three ways to " "start a process. These *start methods* are" msgstr "" +"Залежно від платформи :mod:`multiprocessing` підтримує три способи запуску " +"процесу. Це *методи запуску*" msgid "*spawn*" -msgstr "" +msgstr "*spawn*" msgid "" "The parent process starts a fresh Python interpreter process. The child " @@ -163,13 +226,20 @@ msgid "" "Starting a process using this method is rather slow compared to using *fork* " "or *forkserver*." msgstr "" +"Родительский процесс запускает новый процесс интерпретатора Python. Дочерний " +"процесс унаследует только те ресурсы, которые необходимы для запуска метода :" +"meth:`~Process.run` объекта процесса. В частности, не будут наследоваться " +"ненужные файловые дескрипторы и дескрипторы родительского процесса. Запуск " +"процесса с использованием этого метода происходит довольно медленно по " +"сравнению с использованием *fork* или *forkserver*." msgid "" "Available on POSIX and Windows platforms. The default on Windows and macOS." msgstr "" +"Доступно на платформах POSIX и Windows. По умолчанию в Windows и macOS." msgid "*fork*" -msgstr "" +msgstr "*fork*" msgid "" "The parent process uses :func:`os.fork` to fork the Python interpreter. The " @@ -177,6 +247,11 @@ msgid "" "process. All resources of the parent are inherited by the child process. " "Note that safely forking a multithreaded process is problematic." msgstr "" +"Батьківський процес використовує :func:`os.fork` для розгалуження " +"інтерпретатора Python. Дочірній процес, коли він починається, фактично " +"ідентичний батьківському процесу. Усі ресурси батьківського процесу " +"успадковуються дочірнім процесом. Зверніть увагу, що безпечне розгалуження " +"багатопотокового процесу є проблематичним." msgid "" "Available on POSIX systems. Currently the default on POSIX except macOS." @@ -194,9 +269,13 @@ msgid "" "a :exc:`DeprecationWarning`. Use a different start method. See the :func:`os." "fork` documentation for further explanation." msgstr "" +"Если Python способен обнаружить, что ваш процесс имеет несколько потоков, " +"функция :func:`os.fork`, которую этот метод запуска вызывает внутри себя, " +"вызовет :exc:`DeprecationWarning`. Используйте другой метод запуска. " +"Дополнительную информацию смотрите в документации :func:`os.fork`." msgid "*forkserver*" -msgstr "" +msgstr "*forkserver*" msgid "" "When the program starts and selects the *forkserver* start method, a server " @@ -206,6 +285,13 @@ msgid "" "or preloaded imports spawn threads as a side-effect so it is generally safe " "for it to use :func:`os.fork`. No unnecessary resources are inherited." msgstr "" +"Когда программа запускается и выбирает метод запуска *forkserver*, " +"запускается серверный процесс. С этого момента всякий раз, когда требуется " +"новый процесс, родительский процесс подключается к серверу и запрашивает " +"создание нового процесса. Серверный процесс fork является однопоточным, если " +"только системные библиотеки или предварительно загруженный импорт не " +"порождает потоки в качестве побочного эффекта, поэтому в целом безопасно " +"использовать :func:`os.fork`. Никакие ненужные ресурсы не наследуются." msgid "" "Available on POSIX platforms which support passing file descriptors over " @@ -217,12 +303,19 @@ msgid "" "platforms. Child processes no longer inherit all of the parents inheritable " "handles on Windows." msgstr "" +"*spawn* добавлен на все платформы POSIX, а *forkserver* добавлен на " +"некоторые платформы POSIX. Дочерние процессы больше не наследуют все " +"наследуемые дескрипторы родительских процессов в Windows." msgid "" "On macOS, the *spawn* start method is now the default. The *fork* start " "method should be considered unsafe as it can lead to crashes of the " "subprocess as macOS system libraries may start threads. See :issue:`33725`." msgstr "" +"В macOS метод запуска *spawn* теперь используется по умолчанию. Метод " +"запуска *fork* следует считать небезопасным, поскольку он может привести к " +"сбою подпроцесса, поскольку системные библиотеки macOS могут запускать " +"потоки. См. :issue:`33725`." msgid "" "On POSIX using the *spawn* or *forkserver* start methods will also start a " @@ -237,11 +330,25 @@ msgid "" "a limited number of named semaphores, and shared memory segments occupy some " "space in the main memory.)" msgstr "" +"В POSIX использование методов запуска *spawn* или *forkserver* также " +"запустит процесс *отслеживания ресурсов*, который отслеживает несвязанные " +"именованные системные ресурсы (такие как именованные семафоры или объекты :" +"class:`~multiprocessing.shared_memory.SharedMemory`), созданные процессы " +"программы. Когда все процессы завершатся, средство отслеживания ресурсов " +"отключает связь с любым оставшимся отслеживаемым объектом. Обычно их не " +"должно быть, но если процесс был завершен по сигналу, могут быть некоторые " +"«утечки» ресурсов. (Ни утекшие семафоры, ни сегменты общей памяти не будут " +"автоматически отключены до следующей перезагрузки. Это проблематично для " +"обоих объектов, поскольку система допускает только ограниченное количество " +"именованных семафоров, а сегменты общей памяти занимают некоторое " +"пространство в основной памяти.)" msgid "" "To select a start method you use the :func:`set_start_method` in the ``if " "__name__ == '__main__'`` clause of the main module. For example::" msgstr "" +"Щоб вибрати метод запуску, ви використовуєте :func:`set_start_method` в " +"пункті ``if __name__ == '__main__'`` головного модуля. Наприклад::" msgid "" "import multiprocessing as mp\n" @@ -257,16 +364,34 @@ msgid "" " print(q.get())\n" " p.join()" msgstr "" +"import multiprocessing as mp\n" +"\n" +"def foo(q):\n" +" q.put('hello')\n" +"\n" +"if __name__ == '__main__':\n" +" mp.set_start_method('spawn')\n" +" q = mp.Queue()\n" +" p = mp.Process(target=foo, args=(q,))\n" +" p.start()\n" +" print(q.get())\n" +" p.join()" msgid "" ":func:`set_start_method` should not be used more than once in the program." msgstr "" +":func:`set_start_method` не слід використовувати більше одного разу в " +"програмі." msgid "" "Alternatively, you can use :func:`get_context` to obtain a context object. " "Context objects have the same API as the multiprocessing module, and allow " "one to use multiple start methods in the same program. ::" msgstr "" +"Крім того, ви можете використовувати :func:`get_context`, щоб отримати " +"об’єкт контексту. Контекстні об’єкти мають той самий API, що й " +"багатопроцесорний модуль, і дозволяють використовувати кілька методів " +"запуску в одній програмі. ::" msgid "" "import multiprocessing as mp\n" @@ -282,6 +407,18 @@ msgid "" " print(q.get())\n" " p.join()" msgstr "" +"import multiprocessing as mp\n" +"\n" +"def foo(q):\n" +" q.put('hello')\n" +"\n" +"if __name__ == '__main__':\n" +" ctx = mp.get_context('spawn')\n" +" q = ctx.Queue()\n" +" p = ctx.Process(target=foo, args=(q,))\n" +" p.start()\n" +" print(q.get())\n" +" p.join()" msgid "" "Note that objects related to one context may not be compatible with " @@ -289,11 +426,18 @@ msgid "" "*fork* context cannot be passed to processes started using the *spawn* or " "*forkserver* start methods." msgstr "" +"Зауважте, що об’єкти, пов’язані з одним контекстом, можуть бути несумісними " +"з процесами для іншого контексту. Зокрема, блокування, створені за допомогою " +"контексту *fork*, не можна передати процесам, запущеним за допомогою методів " +"запуску *spawn* або *forkserver*." 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." msgstr "" +"Бібліотека, яка хоче використовувати певний метод запуску, ймовірно, повинна " +"використовувати :func:`get_context`, щоб уникнути втручання у вибір " +"користувача бібліотеки." msgid "" "The ``'spawn'`` and ``'forkserver'`` start methods generally cannot be used " @@ -301,22 +445,27 @@ msgid "" "**PyInstaller** and **cx_Freeze**) on POSIX systems. The ``'fork'`` start " "method may work if code does not use threads." msgstr "" +"Методы запуска ``'spawn'`` и ``forkserver'`` обычно не могут использоваться " +"с \"замороженными\" исполняемыми файлами (т.е. двоичными файлами, созданными " +"такими пакетами, как **PyInstaller** и **cx_Freeze**) в системах POSIX. . " +"Метод start ``'fork'`` может работать, если код не использует потоки." msgid "Exchanging objects between processes" -msgstr "" +msgstr "Обмін об'єктами між процесами" msgid "" ":mod:`multiprocessing` supports two types of communication channel between " "processes:" msgstr "" +":mod:`multiprocessing` підтримує два типи каналів зв'язку між процесами:" msgid "**Queues**" -msgstr "" +msgstr "**Queues**" msgid "" "The :class:`Queue` class is a near clone of :class:`queue.Queue`. For " "example::" -msgstr "" +msgstr "Клас :class:`Queue` є майже клоном :class:`queue.Queue`. Наприклад::" msgid "" "from multiprocessing import Process, Queue\n" @@ -331,19 +480,34 @@ msgid "" " print(q.get()) # prints \"[42, None, 'hello']\"\n" " p.join()" msgstr "" +"from multiprocessing import Process, Queue\n" +"\n" +"def f(q):\n" +" q.put([42, None, 'hello'])\n" +"\n" +"if __name__ == '__main__':\n" +" q = Queue()\n" +" p = Process(target=f, args=(q,))\n" +" p.start()\n" +" print(q.get()) # prints \"[42, None, 'hello']\"\n" +" p.join()" msgid "" "Queues are thread and process safe. Any object put into a :mod:" "`~multiprocessing` queue will be serialized." msgstr "" +"Очереди безопасны для потоков и процессов. Любой объект, помещенный в " +"очередь :mod:`~multiprocessing`, будет сериализован." msgid "**Pipes**" -msgstr "" +msgstr "**Pipes**" msgid "" "The :func:`Pipe` function returns a pair of connection objects connected by " "a pipe which by default is duplex (two-way). For example::" msgstr "" +"Функція :func:`Pipe` повертає пару об’єктів з’єднання, з’єднаних трубою, яка " +"за умовчанням є дуплексною (двосторонньою). Наприклад::" msgid "" "from multiprocessing import Process, Pipe\n" @@ -359,6 +523,18 @@ msgid "" " print(parent_conn.recv()) # prints \"[42, None, 'hello']\"\n" " p.join()" msgstr "" +"from multiprocessing import Process, Pipe\n" +"\n" +"def f(conn):\n" +" conn.send([42, None, 'hello'])\n" +" conn.close()\n" +"\n" +"if __name__ == '__main__':\n" +" parent_conn, child_conn = Pipe()\n" +" p = Process(target=f, args=(child_conn,))\n" +" p.start()\n" +" print(parent_conn.recv()) # prints \"[42, None, 'hello']\"\n" +" p.join()" msgid "" "The two connection objects returned by :func:`Pipe` represent the two ends " @@ -368,20 +544,31 @@ msgid "" "the *same* end of the pipe at the same time. Of course there is no risk of " "corruption from processes using different ends of the pipe at the same time." msgstr "" +"Два об’єкти з’єднання, які повертає :func:`Pipe`, представляють два кінці " +"труби. Кожен об’єкт підключення має методи :meth:`~Connection.send` і :meth:" +"`~Connection.recv` (серед інших). Зауважте, що дані в каналі можуть бути " +"пошкоджені, якщо два процеси (або потоки) намагаються зчитувати або писати в " +"*той самий* кінець каналу одночасно. Звичайно, немає ризику пошкодження " +"через процеси, що використовують різні кінці труби одночасно." msgid "" "The :meth:`~Connection.send` method serializes the object and :meth:" "`~Connection.recv` re-creates the object." msgstr "" +"Метод :meth:`~Connection.send` сериализует объект, а :meth:`~Connection." +"recv` воссоздает объект." msgid "Synchronization between processes" -msgstr "" +msgstr "Синхронізація між процесами" msgid "" ":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 "" +":mod:`multiprocessing` містить еквіваленти всіх примітивів синхронізації з :" +"mod:`threading`. Наприклад, можна використовувати блокування, щоб " +"гарантувати, що лише один процес друкує на стандартний вивід одночасно:" msgid "" "from multiprocessing import Process, Lock\n" @@ -399,33 +586,56 @@ msgid "" " for num in range(10):\n" " Process(target=f, args=(lock, num)).start()" msgstr "" +"from multiprocessing import Process, Lock\n" +"\n" +"def f(l, i):\n" +" l.acquire()\n" +" try:\n" +" print('hello world', i)\n" +" finally:\n" +" l.release()\n" +"\n" +"if __name__ == '__main__':\n" +" lock = Lock()\n" +"\n" +" for num in range(10):\n" +" Process(target=f, args=(lock, num)).start()" msgid "" "Without using the lock output from the different processes is liable to get " "all mixed up." msgstr "" +"Без використання блокування вихідні дані різних процесів можуть " +"переплутатися." msgid "Sharing state between processes" -msgstr "" +msgstr "Спільне використання стану між процесами" msgid "" "As mentioned above, when doing concurrent programming it is usually best to " "avoid using shared state as far as possible. This is particularly true when " "using multiple processes." msgstr "" +"Як згадувалося вище, під час паралельного програмування зазвичай краще " +"уникати використання спільного стану, наскільки це можливо. Це особливо " +"актуально при використанні кількох процесів." msgid "" "However, if you really do need to use some shared data then :mod:" "`multiprocessing` provides a couple of ways of doing so." msgstr "" +"Однак, якщо вам справді потрібно використовувати спільні дані, тоді :mod:" +"`multiprocessing` надає кілька способів зробити це." msgid "**Shared memory**" -msgstr "" +msgstr "**Shared memory**" msgid "" "Data can be stored in a shared memory map using :class:`Value` or :class:" "`Array`. For example, the following code ::" msgstr "" +"Дані можна зберігати в спільній карті пам’яті за допомогою :class:`Value` " +"або :class:`Array`. Наприклад, такий код::" msgid "" "from multiprocessing import Process, Value, Array\n" @@ -446,14 +656,33 @@ msgid "" " print(num.value)\n" " print(arr[:])" msgstr "" +"from multiprocessing import Process, Value, Array\n" +"\n" +"def f(n, a):\n" +" n.value = 3.1415927\n" +" for i in range(len(a)):\n" +" a[i] = -a[i]\n" +"\n" +"if __name__ == '__main__':\n" +" num = Value('d', 0.0)\n" +" arr = Array('i', range(10))\n" +"\n" +" p = Process(target=f, args=(num, arr))\n" +" p.start()\n" +" p.join()\n" +"\n" +" print(num.value)\n" +" print(arr[:])" msgid "will print ::" -msgstr "" +msgstr "akan mencetak ::" msgid "" "3.1415927\n" "[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]" msgstr "" +"3.1415927\n" +"[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]" msgid "" "The ``'d'`` and ``'i'`` arguments used when creating ``num`` and ``arr`` are " @@ -461,21 +690,32 @@ msgid "" "double precision float and ``'i'`` indicates a signed integer. These shared " "objects will be process and thread-safe." msgstr "" +"Аргументи ``'d'`` і ``'i'``, що використовуються під час створення ``num`` і " +"``arr``, є кодами типу, які використовуються модулем :mod:`array`: ``' d''`` " +"вказує на число з плаваючою точкою подвійної точності, а ``'i''`` вказує на " +"ціле число зі знаком. Ці спільні об’єкти будуть безпечними для процесу та " +"потоків." msgid "" "For more flexibility in using shared memory one can use the :mod:" "`multiprocessing.sharedctypes` module which supports the creation of " "arbitrary ctypes objects allocated from shared memory." msgstr "" +"Для більшої гнучкості використання спільної пам’яті можна використовувати " +"модуль :mod:`multiprocessing.sharedctypes`, який підтримує створення " +"довільних об’єктів ctypes, виділених із спільної пам’яті." msgid "**Server process**" -msgstr "" +msgstr "**Server process**" msgid "" "A manager object returned by :func:`Manager` controls a server process which " "holds Python objects and allows other processes to manipulate them using " "proxies." msgstr "" +"Об’єкт менеджера, який повертає :func:`Manager`, контролює серверний процес, " +"який містить об’єкти Python і дозволяє іншим процесам маніпулювати ними за " +"допомогою проксі-серверів." msgid "" "A manager returned by :func:`Manager` will support types :class:`list`, :" @@ -518,15 +758,23 @@ msgid "" "manager can be shared by processes on different computers over a network. " "They are, however, slower than using shared memory." msgstr "" +"Менеджери серверних процесів є більш гнучкими, ніж використання спільних " +"об’єктів пам’яті, оскільки вони можуть підтримувати довільні типи об’єктів. " +"Крім того, один менеджер може спільно використовуватися процесами на різних " +"комп’ютерах у мережі. Однак вони повільніші, ніж використання спільної " +"пам’яті." msgid "Using a pool of workers" -msgstr "" +msgstr "Використання пулу працівників" msgid "" "The :class:`~multiprocessing.pool.Pool` class represents a pool of worker " "processes. It has methods which allows tasks to be offloaded to the worker " "processes in a few different ways." msgstr "" +"Клас :class:`~multiprocessing.pool.Pool` представляє пул робочих процесів. " +"Він має методи, які дозволяють розвантажувати завдання на робочі процеси " +"кількома різними способами." msgid "For example::" msgstr "Dla przykładu::" @@ -578,11 +826,58 @@ msgid "" " # exiting the 'with'-block has stopped the pool\n" " print(\"Now the pool is closed and no longer available\")" msgstr "" +"from multiprocessing import Pool, TimeoutError\n" +"import time\n" +"import os\n" +"\n" +"def f(x):\n" +" return x*x\n" +"\n" +"if __name__ == '__main__':\n" +" # start 4 worker processes\n" +" with Pool(processes=4) as pool:\n" +"\n" +" # print \"[0, 1, 4,..., 81]\"\n" +" print(pool.map(f, range(10)))\n" +"\n" +" # print same numbers in arbitrary order\n" +" for i in pool.imap_unordered(f, range(10)):\n" +" print(i)\n" +"\n" +" # evaluate \"f(20)\" asynchronously\n" +" res = pool.apply_async(f, (20,)) # runs in *only* one process\n" +" print(res.get(timeout=1)) # prints \"400\"\n" +"\n" +" # evaluate \"os.getpid()\" asynchronously\n" +" res = pool.apply_async(os.getpid, ()) # runs in *only* one process\n" +" print(res.get(timeout=1)) # prints the PID of that " +"process\n" +"\n" +" # launching multiple evaluations asynchronously *may* use more " +"processes\n" +" multiple_results = [pool.apply_async(os.getpid, ()) for i in " +"range(4)]\n" +" print([res.get(timeout=1) for res in multiple_results])\n" +"\n" +" # make a single worker sleep for 10 seconds\n" +" res = pool.apply_async(time.sleep, (10,))\n" +" try:\n" +" print(res.get(timeout=1))\n" +" except TimeoutError:\n" +" print(\"We lacked patience and got a multiprocessing." +"TimeoutError\")\n" +"\n" +" print(\"For the moment, the pool remains available for more work\")\n" +"\n" +" # exiting the 'with'-block has stopped the pool\n" +" print(\"Now the pool is closed and no longer available\")" msgid "" "Note that the methods of a pool should only ever be used by the process " "which created it." msgstr "" +"Зверніть увагу, що методи пулу повинні використовуватися тільки тим " +"процесом, який його створив." msgid "" "Functionality within this package requires that the ``__main__`` module be " @@ -591,6 +886,11 @@ msgid "" "examples, such as the :class:`multiprocessing.pool.Pool` examples will not " "work in the interactive interpreter. For example::" msgstr "" +"Функціональність цього пакета вимагає, щоб модуль ``__main__`` міг " +"імпортуватися дочірніми елементами. Це описано в :ref:`multiprocessing-" +"programming`, проте тут варто звернути увагу на це. Це означає, що деякі " +"приклади, такі як приклади :class:`multiprocessing.pool.Pool` не " +"працюватимуть в інтерактивному інтерпретаторі. Наприклад::" msgid "" ">>> from multiprocessing import Pool\n" @@ -613,29 +913,56 @@ msgid "" "AttributeError: Can't get attribute 'f' on )>" msgstr "" +">>> from multiprocessing import Pool\n" +">>> p = Pool(5)\n" +">>> def f(x):\n" +"... return x*x\n" +"...\n" +">>> with p:\n" +"... p.map(f, [1,2,3])\n" +"Process PoolWorker-1:\n" +"Process PoolWorker-2:\n" +"Process PoolWorker-3:\n" +"Traceback (most recent call last):\n" +"Traceback (most recent call last):\n" +"Traceback (most recent call last):\n" +"AttributeError: Can't get attribute 'f' on )>\n" +"AttributeError: Can't get attribute 'f' on )>\n" +"AttributeError: Can't get attribute 'f' on )>" msgid "" "(If you try this it will actually output three full tracebacks interleaved " "in a semi-random fashion, and then you may have to stop the parent process " "somehow.)" msgstr "" +"(Якщо ви спробуєте це, він фактично виведе три повні трасування, чергувані " +"напіввипадковим чином, і тоді вам, можливо, доведеться якось зупинити " +"батьківський процес.)" msgid "Reference" -msgstr "" +msgstr "Referensi" msgid "" "The :mod:`multiprocessing` package mostly replicates the API of the :mod:" "`threading` module." msgstr "" +"Пакет :mod:`multiprocessing` здебільшого повторює API модуля :mod:" +"`threading`." msgid ":class:`Process` and exceptions" -msgstr "" +msgstr ":class:`Process` і винятки" msgid "" "Process objects represent activity that is run in a separate process. The :" "class:`Process` class has equivalents of all the methods of :class:" "`threading.Thread`." msgstr "" +"Об’єкти процесу представляють діяльність, яка виконується в окремому " +"процесі. Клас :class:`Process` має еквіваленти всіх методів :class:" +"`threading.Thread`." msgid "" "The constructor should always be called with keyword arguments. *group* " @@ -649,24 +976,41 @@ msgid "" "``False``. If ``None`` (the default), this flag will be inherited from the " "creating process." msgstr "" +"Конструктор всегда следует вызывать с ключевыми аргументами. *group* всегда " +"должно быть ``None``; он существует исключительно для совместимости с :class:" +"`threading.Thread`. *target* — это вызываемый объект, который будет " +"вызываться методом :meth:`run`. По умолчанию установлено значение None, что " +"означает, что ничего не вызывается. *name* — это имя процесса (подробнее " +"см. :attr:`name`). *args* — это кортеж аргументов для целевого вызова. " +"*kwargs* — это словарь аргументов ключевых слов для целевого вызова. Если он " +"указан, аргумент *daemon*, содержащий только ключевые слова, устанавливает " +"флаг процесса :attr:`daemon` в значение ``True`` или ``False``. Если " +"установлено значение «Нет» (по умолчанию), этот флаг будет унаследован от " +"процесса создания." msgid "" "By default, no arguments are passed to *target*. The *args* argument, which " "defaults to ``()``, can be used to specify a list or tuple of the arguments " "to pass to *target*." msgstr "" +"По умолчанию аргументы *target* не передаются. Аргумент *args*, который по " +"умолчанию имеет значение ``()``, может использоваться для указания списка " +"или кортежа аргументов, передаваемых в *target*." msgid "" "If a subclass overrides the constructor, it must make sure it invokes the " "base class constructor (:meth:`Process.__init__`) before doing anything else " "to the process." msgstr "" +"Якщо підклас перевизначає конструктор, він повинен переконатися, що він " +"викликає конструктор базового класу (:meth:`Process.__init__`), перш ніж " +"щось робити з процесом." msgid "Added the *daemon* parameter." -msgstr "" +msgstr "Добавлен параметр *daemon*." msgid "Method representing the process's activity." -msgstr "" +msgstr "Метод, що представляє діяльність процесу." msgid "" "You may override this method in a subclass. The standard :meth:`run` method " @@ -674,11 +1018,17 @@ msgid "" "argument, if any, with sequential and keyword arguments taken from the " "*args* and *kwargs* arguments, respectively." msgstr "" +"Ви можете перевизначити цей метод у підкласі. Стандартний метод :meth:`run` " +"викликає викликаний об’єкт, переданий конструктору об’єкта як цільовий " +"аргумент, якщо такий є, з послідовними аргументами та ключовими аргументами, " +"взятими з аргументів *args* і *kwargs* відповідно." msgid "" "Using a list or tuple as the *args* argument passed to :class:`Process` " "achieves the same effect." msgstr "" +"Использование списка или кортежа в качестве аргумента *args*, передаваемого " +"в :class:`Process`, дает тот же эффект." msgid "Example::" msgstr "Przykład::" @@ -692,14 +1042,23 @@ msgid "" ">>> p.run()\n" "1" msgstr "" +">>> from multiprocessing import Process\n" +">>> p = Process(target=print, args=[1])\n" +">>> p.run()\n" +"1\n" +">>> p = Process(target=print, args=(1,))\n" +">>> p.run()\n" +"1" msgid "Start the process's activity." -msgstr "" +msgstr "Запустіть процес." msgid "" "This must be called at most once per process object. It arranges for the " "object's :meth:`run` method to be invoked in a separate process." msgstr "" +"Це має бути викликано щонайбільше один раз на об’єкт процесу. Він " +"організовує виклик методу :meth:`run` об’єкта в окремому процесі." msgid "" "If the optional argument *timeout* is ``None`` (the default), the method " @@ -709,19 +1068,30 @@ msgid "" "times out. Check the process's :attr:`exitcode` to determine if it " "terminated." msgstr "" +"Якщо додатковий аргумент *timeout* має значення ``None`` (за замовчуванням), " +"метод блокується, доки процес, чий метод :meth:`join` викликається, не " +"завершиться. Якщо *timeout* є додатним числом, воно блокує щонайбільше " +"*timeout* секунд. Зауважте, що метод повертає ``None``, якщо його процес " +"завершується або якщо метод закінчився. Перевірте :attr:`exitcode` процесу, " +"щоб визначити, чи він завершився." msgid "A process can be joined many times." -msgstr "" +msgstr "До процесу можна приєднуватися багато разів." msgid "" "A process cannot join itself because this would cause a deadlock. It is an " "error to attempt to join a process before it has been started." msgstr "" +"Процес не може приєднатися до себе, оскільки це спричинить тупикову " +"блокування. Спроба приєднатися до процесу до його запуску є помилкою." msgid "" "The process's name. The name is a string used for identification purposes " "only. It has no semantics. Multiple processes may be given the same name." msgstr "" +"Назва процесу. Ім'я - це рядок, який використовується лише для " +"ідентифікації. Він не має семантики. Кілька процесів можуть мати однакові " +"назви." msgid "" "The initial name is set by the constructor. If no explicit name is provided " @@ -729,27 +1099,36 @@ msgid "" "`2`:...:N\\ :sub:`k`' is constructed, where each N\\ :sub:`k` is the N-th " "child of its parent." msgstr "" +"Початкове ім'я задається конструктором. Якщо конструктору не надано явної " +"назви, ім’я у формі 'Process-N\\ :sub:`1`:N\\ :sub:`2`:...:N\\ :sub:`k`' " +"побудований, де кожен N\\ :sub:`k` є N-м дочірнім елементом свого батька." msgid "Return whether the process is alive." -msgstr "" +msgstr "Повернути, чи процес активний." msgid "" "Roughly, a process object is alive from the moment the :meth:`start` method " "returns until the child process terminates." msgstr "" +"Приблизно, об’єкт процесу живий з моменту повернення методу :meth:`start` до " +"завершення дочірнього процесу." msgid "" "The process's daemon flag, a Boolean value. This must be set before :meth:" "`start` is called." msgstr "" +"Прапор демона процесу, логічне значення. Це має бути встановлено перед " +"викликом :meth:`start`." msgid "The initial value is inherited from the creating process." -msgstr "" +msgstr "Початкове значення успадковується від процесу створення." msgid "" "When a process exits, it attempts to terminate all of its daemonic child " "processes." msgstr "" +"Коли процес завершується, він намагається завершити всі свої демонічні " +"дочірні процеси." msgid "" "Note that a daemonic process is not allowed to create child processes. " @@ -758,77 +1137,111 @@ msgid "" "Unix daemons or services, they are normal processes that will be terminated " "(and not joined) if non-daemonic processes have exited." msgstr "" +"Зауважте, що демонічному процесу не дозволяється створювати дочірні процеси. " +"Інакше демонічний процес залишив би своїх нащадків сиротами, якщо він буде " +"припинений під час завершення процесу батьківського процесу. Крім того, це " +"**не** демони чи служби Unix, це звичайні процеси, які будуть припинені (і " +"не приєднані), якщо недемонічні процеси вийшли." msgid "" "In addition to the :class:`threading.Thread` API, :class:`Process` objects " "also support the following attributes and methods:" msgstr "" +"Окрім API :class:`threading.Thread`, об’єкти :class:`Process` також " +"підтримують такі атрибути та методи:" msgid "" "Return the process ID. Before the process is spawned, this will be ``None``." msgstr "" +"Поверніть ідентифікатор процесу. До того, як процес буде створено, це буде " +"``None``." msgid "" "The child's exit code. This will be ``None`` if the process has not yet " "terminated." -msgstr "" +msgstr "Код виходу дитини. Це буде ``None``, якщо процес ще не завершено." msgid "" "If the child's :meth:`run` method returned normally, the exit code will be " "0. If it terminated via :func:`sys.exit` with an integer argument *N*, the " "exit code will be *N*." msgstr "" +"Якщо дочірній метод :meth:`run` повернувся нормально, код виходу буде 0. " +"Якщо він закінчився через :func:`sys.exit` із цілим аргументом *N*, код " +"виходу буде *N*." msgid "" "If the child terminated due to an exception not caught within :meth:`run`, " "the exit code will be 1. If it was terminated by signal *N*, the exit code " "will be the negative value *-N*." msgstr "" +"Якщо дочірній процес завершився через виняток, який не було перехоплено в :" +"meth:`run`, код виходу буде 1. Якщо його було завершено сигналом *N*, код " +"виходу матиме від’ємне значення *-N*." msgid "The process's authentication key (a byte string)." -msgstr "" +msgstr "Ключ автентифікації процесу (рядок байтів)." msgid "" "When :mod:`multiprocessing` is initialized the main process is assigned a " "random string using :func:`os.urandom`." msgstr "" +"Коли :mod:`multiprocessing` ініціалізовано, головному процесу призначається " +"випадковий рядок за допомогою :func:`os.urandom`." msgid "" "When a :class:`Process` object is created, it will inherit the " "authentication key of its parent process, although this may be changed by " "setting :attr:`authkey` to another byte string." msgstr "" +"Коли об’єкт :class:`Process` створюється, він успадковує ключ автентифікації " +"свого батьківського процесу, хоча це можна змінити, встановивши :attr:" +"`authkey` інший байтовий рядок." msgid "See :ref:`multiprocessing-auth-keys`." -msgstr "" +msgstr "Перегляньте :ref:`multiprocessing-auth-keys`." msgid "" "A numeric handle of a system object which will become \"ready\" when the " "process ends." msgstr "" +"Числовий дескриптор системного об’єкта, який стане \"готовим\" після " +"завершення процесу." msgid "" "You can use this value if you want to wait on several events at once using :" "func:`multiprocessing.connection.wait`. Otherwise calling :meth:`join` is " "simpler." msgstr "" +"Вы можете использовать это значение, если хотите одновременно ожидать " +"нескольких событий, используя :func:`multiprocessing.connection.wait`. В " +"противном случае проще вызвать :meth:`join`." msgid "" "On Windows, this is an OS handle usable with the ``WaitForSingleObject`` and " "``WaitForMultipleObjects`` family of API calls. On POSIX, this is a file " "descriptor usable with primitives from the :mod:`select` module." msgstr "" +"В Windows это дескриптор ОС, который можно использовать с семейством вызовов " +"API WaitForSingleObject и WaitForMultipleObjects. В POSIX это файловый " +"дескриптор, используемый с примитивами из модуля :mod:`select`." msgid "" "Terminate the process. On POSIX this is done using the :py:const:`~signal." "SIGTERM` signal; on Windows :c:func:`!TerminateProcess` is used. Note that " "exit handlers and finally clauses, etc., will not be executed." msgstr "" +"Завершите процесс. В POSIX это делается с помощью сигнала :py:const:`~signal." +"SIGTERM`; в Windows используется :c:func:`!TerminateProcess`. Обратите " +"внимание, что обработчики выхода, предложенияfinally и т. д. не будут " +"выполнены." msgid "" "Note that descendant processes of the process will *not* be terminated -- " "they will simply become orphaned." msgstr "" +"Зверніть увагу, що процеси-нащадки процесу *не* будуть припинені -- вони " +"просто стануть сиротами." msgid "" "If this method is used when the associated process is using a pipe or queue " @@ -837,9 +1250,16 @@ msgid "" "semaphore etc. then terminating it is liable to cause other processes to " "deadlock." msgstr "" +"Якщо цей метод використовується, коли пов’язаний процес використовує канал " +"або чергу, канал або чергу можуть бути пошкоджені та можуть стати " +"непридатними для використання іншим процесом. Подібним чином, якщо процес " +"отримав блокування або семафор тощо, його завершення може призвести до " +"блокування інших процесів." msgid "Same as :meth:`terminate` but using the ``SIGKILL`` signal on POSIX." msgstr "" +"То же, что и :meth:`terminate`, но с использованием сигнала ``SIGKILL`` в " +"POSIX." msgid "" "Close the :class:`Process` object, releasing all resources associated with " @@ -847,15 +1267,22 @@ msgid "" "running. Once :meth:`close` returns successfully, most other methods and " "attributes of the :class:`Process` object will raise :exc:`ValueError`." msgstr "" +"Закрийте об’єкт :class:`Process`, звільнивши всі пов’язані з ним ресурси. :" +"exc:`ValueError` виникає, якщо основний процес все ще виконується. Після " +"успішного повернення :meth:`close` більшість інших методів і атрибутів " +"об’єкта :class:`Process` викличуть :exc:`ValueError`." msgid "" "Note that the :meth:`start`, :meth:`join`, :meth:`is_alive`, :meth:" "`terminate` and :attr:`exitcode` methods should only be called by the " "process that created the process object." msgstr "" +"Зауважте, що методи :meth:`start`, :meth:`join`, :meth:`is_alive`, :meth:" +"`terminate` і :attr:`exitcode` має викликати лише процес, який створив " +"об’єкт процесу ." msgid "Example usage of some of the methods of :class:`Process`:" -msgstr "" +msgstr "Приклад використання деяких методів :class:`Process`:" msgid "" ">>> import multiprocessing, time, signal\n" @@ -873,39 +1300,63 @@ msgid "" ">>> p.exitcode == -signal.SIGTERM\n" "True" msgstr "" +">>> import multiprocessing, time, signal\n" +">>> mp_context = multiprocessing.get_context('spawn')\n" +">>> p = mp_context.Process(target=time.sleep, args=(1000,))\n" +">>> print(p, p.is_alive())\n" +"<...Process ... initial> False\n" +">>> p.start()\n" +">>> print(p, p.is_alive())\n" +"<...Process ... started> True\n" +">>> p.terminate()\n" +">>> time.sleep(0.1)\n" +">>> print(p, p.is_alive())\n" +"<...Process ... stopped exitcode=-SIGTERM> False\n" +">>> p.exitcode == -signal.SIGTERM\n" +"True" msgid "The base class of all :mod:`multiprocessing` exceptions." -msgstr "" +msgstr "Базовий клас усіх винятків :mod:`multiprocessing`." msgid "" "Exception raised by :meth:`Connection.recv_bytes_into` when the supplied " "buffer object is too small for the message read." msgstr "" +"Исключение, вызываемое :meth:`Connection.recv_bytes_into`, когда " +"предоставленный объект буфера слишком мал для чтения сообщения." msgid "" "If ``e`` is an instance of :exc:`BufferTooShort` then ``e.args[0]`` will " "give the message as a byte string." msgstr "" +"Якщо ``e`` є екземпляром :exc:`BufferTooShort`, то ``e.args[0]`` видасть " +"повідомлення як рядок байтів." msgid "Raised when there is an authentication error." -msgstr "" +msgstr "Викликається, коли виникає помилка автентифікації." msgid "Raised by methods with a timeout when the timeout expires." -msgstr "" +msgstr "Викликається методами з тайм-аутом, коли час очікування закінчується." msgid "Pipes and Queues" -msgstr "" +msgstr "Труби та черги" msgid "" "When using multiple processes, one generally uses message passing for " "communication between processes and avoids having to use any synchronization " "primitives like locks." msgstr "" +"При використанні кількох процесів зазвичай використовується передача " +"повідомлень для зв’язку між процесами та уникається використання будь-яких " +"примітивів синхронізації, таких як блокування." msgid "" "For passing messages one can use :func:`Pipe` (for a connection between two " "processes) or a queue (which allows multiple producers and consumers)." msgstr "" +"Для передачі повідомлень можна використовувати :func:`Pipe` (для з’єднання " +"між двома процесами) або чергу (що дозволяє використовувати кілька " +"виробників і споживачів)." msgid "" "The :class:`Queue`, :class:`SimpleQueue` and :class:`JoinableQueue` types " @@ -915,6 +1366,12 @@ msgid "" "meth:`~queue.Queue.join` methods introduced into Python 2.5's :class:`queue." "Queue` class." msgstr "" +"Типи :class:`Queue`, :class:`SimpleQueue` і :class:`JoinableQueue` є чергами " +"багатьох виробників і споживачів :abbr:`FIFO (першим увійшов, першим " +"вийшов)`, змодельованими на основі :class:`queue.Queue` клас у стандартній " +"бібліотеці. Вони відрізняються тим, що :class:`Queue` не має методів :meth:" +"`~queue.Queue.task_done` і :meth:`~queue.Queue.join`, представлених у :class:" +"`queue.Queue` Python 2.5 клас." msgid "" "If you use :class:`JoinableQueue` then you **must** call :meth:" @@ -922,6 +1379,10 @@ msgid "" "semaphore used to count the number of unfinished tasks may eventually " "overflow, raising an exception." msgstr "" +"Якщо ви використовуєте :class:`JoinableQueue`, тоді ви **має** викликати :" +"meth:`JoinableQueue.task_done` для кожного завдання, вилученого з черги, " +"інакше семафор, який використовується для підрахунку кількості незавершених " +"завдань, може зрештою переповнитися, викликаючи виняток." msgid "" "One difference from other Python queue implementations, is that :mod:" @@ -929,17 +1390,28 @@ msgid "" "using :mod:`pickle`. The object return by the get method is a re-created " "object that does not share memory with the original object." msgstr "" +"Одним из отличий от других реализаций очередей Python является то, что " +"очереди :mod:`multiprocessing` сериализуют все объекты, которые помещаются в " +"них, с помощью :mod:`pickle`. Объект, возвращаемый методом get, представляет " +"собой воссозданный объект, который не использует общую память с исходным " +"объектом." msgid "" "Note that one can also create a shared queue by using a manager object -- " "see :ref:`multiprocessing-managers`." msgstr "" +"Зауважте, що можна також створити спільну чергу за допомогою об’єкта " +"менеджера – див. :ref:`multiprocessing-managers`." 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`." msgstr "" +":mod:`multiprocessing` використовує звичайні винятки :exc:`queue.Empty` і :" +"exc:`queue.Full`, щоб сигналізувати про час очікування. Вони недоступні в " +"просторі імен :mod:`multiprocessing`, тому їх потрібно імпортувати з :mod:" +"`queue`." msgid "" "When an object is put on a queue, the object is pickled and a background " @@ -948,12 +1420,20 @@ msgid "" "practical difficulties -- if they really bother you then you can instead use " "a queue created with a :ref:`manager `." msgstr "" +"Коли об’єкт ставиться в чергу, об’єкт очищається, а фоновий потік пізніше " +"скидає обрані дані в базовий канал. Це має деякі наслідки, які є трохи " +"дивними, але не повинні викликати жодних практичних труднощів - якщо вони " +"дійсно вас турбують, ви можете натомість використати чергу, створену за " +"допомогою :ref:`manager `." msgid "" "After putting an object on an empty queue there may be an infinitesimal " "delay before the queue's :meth:`~Queue.empty` method returns :const:`False` " "and :meth:`~Queue.get_nowait` can return without raising :exc:`queue.Empty`." msgstr "" +"Після розміщення об’єкта в порожній черзі може виникнути нескінченно мала " +"затримка, перш ніж метод :meth:`~Queue.empty` черги поверне :const:`False`, " +"а :meth:`~Queue.get_nowait` зможе повернутися без виклику :exc:`queue.Empty`." msgid "" "If multiple processes are enqueuing objects, it is possible for the objects " @@ -961,6 +1441,9 @@ msgid "" "the same process will always be in the expected order with respect to each " "other." msgstr "" +"Якщо кілька процесів ставлять об’єкти в чергу, об’єкти можуть бути отримані " +"на іншому кінці не за порядком. Однак об’єкти, поставлені в чергу одним і " +"тим же процесом, завжди будуть в очікуваному порядку один відносно одного." msgid "" "If a process is killed using :meth:`Process.terminate` or :func:`os.kill` " @@ -968,6 +1451,10 @@ msgid "" "likely to become corrupted. This may cause any other process to get an " "exception when it tries to use the queue later on." msgstr "" +"Якщо процес зупинено за допомогою :meth:`Process.terminate` або :func:`os." +"kill` під час спроби використання :class:`Queue`, то дані в черзі, ймовірно, " +"будуть пошкоджені. Це може призвести до того, що будь-який інший процес " +"отримає виняток, коли він спробує використати чергу пізніше." msgid "" "As mentioned above, if a child process has put items on a queue (and it has " @@ -975,6 +1462,10 @@ msgid "" "cancel_join_thread>`), then that process will not terminate until all " "buffered items have been flushed to the pipe." msgstr "" +"Як згадувалося вище, якщо дочірній процес поставив елементи в чергу (і він " +"не використовував :meth:`JoinableQueue.cancel_join_thread `), тоді цей процес не завершиться, доки всі " +"буферизовані елементи не будуть скинуті в канал." msgid "" "This means that if you try joining that process you may get a deadlock " @@ -983,21 +1474,32 @@ msgid "" "parent process may hang on exit when it tries to join all its non-daemonic " "children." msgstr "" +"Це означає, що якщо ви спробуєте приєднатися до цього процесу, ви можете " +"отримати тупикову блокування, якщо ви не впевнені, що всі елементи, які були " +"поставлені в чергу, використано. Так само, якщо дочірній процес є " +"недемонічним, тоді батьківський процес може зависнути при виході, коли він " +"намагається приєднатися до всіх своїх недемонічних дочірніх процесів." msgid "" "Note that a queue created using a manager does not have this issue. See :" "ref:`multiprocessing-programming`." msgstr "" +"Зауважте, що черга, створена за допомогою менеджера, не має цієї проблеми. " +"Дивіться :ref:`multiprocessing-programming`." msgid "" "For an example of the usage of queues for interprocess communication see :" "ref:`multiprocessing-examples`." msgstr "" +"Для прикладу використання черг для міжпроцесного зв’язку див. :ref:" +"`multiprocessing-examples`." msgid "" "Returns a pair ``(conn1, conn2)`` of :class:`~multiprocessing.connection." "Connection` objects representing the ends of a pipe." msgstr "" +"Повертає пару об’єктів ``(conn1, conn2)`` :class:`~multiprocessing." +"connection.Connection`, що представляють кінці труби." msgid "" "If *duplex* is ``True`` (the default) then the pipe is bidirectional. If " @@ -1005,51 +1507,74 @@ msgid "" "used for receiving messages and ``conn2`` can only be used for sending " "messages." msgstr "" +"Якщо *duplex* має значення ``True`` (за замовчуванням), тоді канал є " +"двонаправленим. Якщо *duplex* має значення ``False``, тоді канал є " +"односпрямованим: ``conn1`` можна використовувати лише для отримання " +"повідомлень, а ``conn2`` — лише для надсилання повідомлень." msgid "" "The :meth:`~multiprocessing.Connection.send` method serializes the object " "using :mod:`pickle` and the :meth:`~multiprocessing.Connection.recv` re-" "creates the object." msgstr "" +"Метод :meth:`~multiprocessing.Connection.send` сериализует объект с помощью :" +"mod:`pickle`, а :meth:`~multiprocessing.Connection.recv` воссоздает объект." msgid "" "Returns a process shared queue implemented using a pipe and a few locks/" "semaphores. When a process first puts an item on the queue a feeder thread " "is started which transfers objects from a buffer into the pipe." 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." msgstr "" +"Звичайні винятки :exc:`queue.Empty` і :exc:`queue.Full` із модуля :mod:" +"`queue` стандартної бібліотеки створюються, щоб повідомити про час " +"очікування." msgid "" ":class:`Queue` implements all the methods of :class:`queue.Queue` except " "for :meth:`~queue.Queue.task_done` and :meth:`~queue.Queue.join`." msgstr "" +":class:`Queue` реалізує всі методи :class:`queue.Queue`, крім :meth:`~queue." +"Queue.task_done` і :meth:`~queue.Queue.join`." msgid "" "Return the approximate size of the queue. Because of multithreading/" "multiprocessing semantics, this number is not reliable." msgstr "" +"Повертає приблизний розмір черги. Через семантику багатопоточності/" +"багатопроцесорності це число ненадійне." msgid "" "Note that this may raise :exc:`NotImplementedError` on platforms like macOS " "where ``sem_getvalue()`` is not implemented." msgstr "" +"Обратите внимание, что это может вызвать ошибку :exc:`NotImplementedError` " +"на таких платформах, как macOS, где ``sem_getvalue()`` не реализован." msgid "" "Return ``True`` if the queue is empty, ``False`` otherwise. Because of " "multithreading/multiprocessing semantics, this is not reliable." msgstr "" +"Повертає ``True``, якщо черга порожня, ``False`` інакше. Через семантику " +"багатопоточності/багатопроцесорності це ненадійно." msgid "May raise an :exc:`OSError` on closed queues. (not guaranteed)" msgstr "" +"Может вызвать ошибку :exc:`OSError` в закрытых очередях. (не гарантировано)" msgid "" "Return ``True`` if the queue is full, ``False`` otherwise. Because of " "multithreading/multiprocessing semantics, this is not reliable." msgstr "" +"Повертає ``True``, якщо черга заповнена, ``False`` інакше. Через семантику " +"багатопоточності/багатопроцесорності це ненадійно." msgid "" "Put obj into the queue. If the optional argument *block* is ``True`` (the " @@ -1060,14 +1585,23 @@ msgid "" "an item on the queue if a free slot is immediately available, else raise " "the :exc:`queue.Full` exception (*timeout* is ignored in that case)." msgstr "" +"Помістіть obj у чергу. Якщо необов’язковий аргумент *block* має значення " +"``True`` (за замовчуванням), а *timeout* має значення ``None`` (за " +"замовчуванням), за потреби блокуйте, доки не з’явиться вільний слот. Якщо " +"*timeout* є додатним числом, він блокує щонайбільше *timeout* секунд і " +"викликає виняток :exc:`queue.Full`, якщо протягом цього часу не було " +"вільного місця. В іншому випадку (*block* має значення ``False``), помістіть " +"елемент у чергу, якщо вільний слот є негайно доступним, інакше викликайте " +"виняток :exc:`queue.Full` (*timeout* у цьому випадку ігнорується)." msgid "" "If the queue is closed, :exc:`ValueError` is raised instead of :exc:" "`AssertionError`." msgstr "" +"Якщо чергу закрито, замість :exc:`AssertionError` виникає :exc:`ValueError`." msgid "Equivalent to ``put(obj, False)``." -msgstr "" +msgstr "Еквівалент ``put(obj, False)``." msgid "" "Remove and return an item from the queue. If optional args *block* is " @@ -1078,25 +1612,42 @@ msgid "" "return an item if one is immediately available, else raise the :exc:`queue." "Empty` exception (*timeout* is ignored in that case)." msgstr "" +"Видалити та повернути елемент із черги. Якщо необов’язкові аргументи *block* " +"мають значення ``True`` (за замовчуванням), а *timeout* — ``None`` (за " +"замовчуванням), за потреби блокуйте, доки елемент не стане доступним. Якщо " +"*timeout* є додатним числом, він блокує щонайбільше *timeout* секунд і " +"викликає виняток :exc:`queue.Empty`, якщо жоден елемент не був доступний " +"протягом цього часу. В іншому випадку (блок має значення ``False``), " +"повертає елемент, якщо він одразу доступний, інакше викликає виняток :exc:" +"`queue.Empty` (у цьому випадку *timeout* ігнорується)." msgid "" "If the queue is closed, :exc:`ValueError` is raised instead of :exc:" "`OSError`." -msgstr "" +msgstr "Якщо чергу закрито, замість :exc:`OSError` виникає :exc:`ValueError`." msgid "Equivalent to ``get(False)``." -msgstr "" +msgstr "Еквівалент ``get(False)``." msgid "" ":class:`multiprocessing.Queue` has a few additional methods not found in :" "class:`queue.Queue`. These methods are usually unnecessary for most code:" msgstr "" +":class:`multiprocessing.Queue` має кілька додаткових методів, яких немає в :" +"class:`queue.Queue`. Ці методи зазвичай непотрібні для більшості коду:" + +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 "" @@ -1104,18 +1655,27 @@ msgid "" "been called. It blocks until the background thread exits, ensuring that all " "data in the buffer has been flushed to the pipe." msgstr "" +"Приєднайтеся до фонової нитки. Це можна використовувати лише після виклику :" +"meth:`close`. Він блокується, доки не завершиться фоновий потік, гарантуючи, " +"що всі дані в буфері скинуті в канал." msgid "" "By default if a process is not the creator of the queue then on exit it will " "attempt to join the queue's background thread. The process can call :meth:" "`cancel_join_thread` to make :meth:`join_thread` do nothing." msgstr "" +"За замовчуванням, якщо процес не є творцем черги, після виходу він спробує " +"приєднатися до фонового потоку черги. Процес може викликати :meth:" +"`cancel_join_thread`, щоб змусити :meth:`join_thread` нічого не робити." msgid "" "Prevent :meth:`join_thread` from blocking. In particular, this prevents the " "background thread from being joined automatically when the process exits -- " "see :meth:`join_thread`." msgstr "" +"Запобігти блокуванню :meth:`join_thread`. Зокрема, це запобігає " +"автоматичному приєднанню фонового потоку під час завершення процесу -- див. :" +"meth:`join_thread`." msgid "" "A better name for this method might be ``allow_exit_without_flush()``. It " @@ -1124,6 +1684,11 @@ msgid "" "to exit immediately without waiting to flush enqueued data to the underlying " "pipe, and you don't care about lost data." msgstr "" +"Кращою назвою для цього методу може бути ``allow_exit_without_flush()``. " +"Ймовірно, це спричинить втрату даних у черзі, і вам майже напевно не " +"потрібно буде їх використовувати. Насправді він доступний лише тоді, коли " +"вам потрібно, щоб поточний процес завершився негайно, не чекаючи, щоб " +"скинути дані з черги в основний канал, і ви не дбаєте про втрачені дані." msgid "" "This class's functionality requires a functioning shared semaphore " @@ -1133,35 +1698,43 @@ msgid "" "information. The same holds true for any of the specialized queue types " "listed below." msgstr "" +"Функціональність цього класу вимагає функціонуючої спільної реалізації " +"семафора в головній операційній системі. Без нього функціональні можливості " +"цього класу будуть вимкнені, а спроби створити екземпляр :class:`Queue` " +"призведуть до :exc:`ImportError`. Додаткову інформацію див. :issue:`3770`. " +"Те саме стосується будь-якого зі спеціалізованих типів черги, перелічених " +"нижче." msgid "" "It is a simplified :class:`Queue` type, very close to a locked :class:`Pipe`." msgstr "" - -msgid "Close the queue: release internal resources." -msgstr "" +"Це спрощений тип :class:`Queue`, дуже схожий на заблокований :class:`Pipe`." 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." msgstr "" +"Після закриття чергу більше не можна використовувати. Наприклад, методи :" +"meth:`get`, :meth:`put` і :meth:`empty` більше не можна викликати." msgid "Return ``True`` if the queue is empty, ``False`` otherwise." -msgstr "" +msgstr "Повертає ``True``, якщо черга порожня, ``False`` інакше." msgid "Always raises an :exc:`OSError` if the SimpleQueue is closed." -msgstr "" +msgstr "Всегда вызывает ошибку :exc:`OSError`, если SimpleQueue закрыта." msgid "Remove and return an item from the queue." -msgstr "" +msgstr "Видалити та повернути елемент із черги." msgid "Put *item* into the queue." -msgstr "" +msgstr "Поставте *товар* в чергу." msgid "" ":class:`JoinableQueue`, a :class:`Queue` subclass, is a queue which " "additionally has :meth:`task_done` and :meth:`join` methods." msgstr "" +":class:`JoinableQueue`, підклас :class:`Queue`, це черга, яка додатково має " +"методи :meth:`task_done` і :meth:`join`." msgid "" "Indicate that a formerly enqueued task is complete. Used by queue " @@ -1169,20 +1742,29 @@ msgid "" "call to :meth:`task_done` tells the queue that the processing on the task is " "complete." msgstr "" +"Вказує на те, що завдання, яке раніше було в черзі, виконано. " +"Використовується споживачами черги. Для кожного :meth:`~Queue.get`, який " +"використовується для отримання завдання, наступний виклик :meth:`task_done` " +"повідомляє черзі, що обробку завдання завершено." msgid "" "If a :meth:`~queue.Queue.join` is currently blocking, it will resume when " "all items have been processed (meaning that a :meth:`task_done` call was " "received for every item that had been :meth:`~Queue.put` into the queue)." msgstr "" +"Якщо :meth:`~queue.Queue.join` зараз блокується, воно відновиться, коли всі " +"елементи будуть оброблені (це означає, що виклик :meth:`task_done` отримано " +"для кожного елемента, який був :meth:`~Queue.put` в чергу)." msgid "" "Raises a :exc:`ValueError` if called more times than there were items placed " "in the queue." msgstr "" +"Викликає :exc:`ValueError`, якщо викликається стільки разів, скільки було " +"елементів у черзі." msgid "Block until all items in the queue have been gotten and processed." -msgstr "" +msgstr "Блокуйте, доки не буде отримано та оброблено всі елементи в черзі." msgid "" "The count of unfinished tasks goes up whenever an item is added to the " @@ -1191,64 +1773,84 @@ msgid "" "the count of unfinished tasks drops to zero, :meth:`~queue.Queue.join` " "unblocks." msgstr "" +"Кількість незавершених завдань зростає щоразу, коли елемент додається до " +"черги. Підрахунок зменшується щоразу, коли споживач викликає :meth:" +"`task_done`, щоб вказати, що елемент отримано та вся робота над ним " +"завершена. Коли кількість незавершених завдань падає до нуля, :meth:`~queue." +"Queue.join` розблоковується." msgid "Miscellaneous" -msgstr "" +msgstr "Diğer" msgid "Return list of all live children of the current process." -msgstr "" +msgstr "Повернути список усіх живих дітей поточного процесу." msgid "" "Calling this has the side effect of \"joining\" any processes which have " "already finished." msgstr "" +"Виклик цього має побічний ефект \"приєднання\" до будь-яких процесів, які " +"вже завершилися." msgid "Return the number of CPUs in the system." -msgstr "" +msgstr "Повертає кількість процесорів у системі." msgid "" "This number is not equivalent to the number of CPUs the current process can " "use. The number of usable CPUs can be obtained with :func:`os." "process_cpu_count` (or ``len(os.sched_getaffinity(0))``)." msgstr "" +"Это число не эквивалентно количеству процессоров, которые может использовать " +"текущий процесс. Количество используемых процессоров можно получить с " +"помощью :func:`os.process_cpu_count` (или ``len(os.sched_getaffinity(0))``)." msgid "" "When the number of CPUs cannot be determined a :exc:`NotImplementedError` is " "raised." msgstr "" +"Коли кількість ЦП не може бути визначена, виникає :exc:`NotImplementedError`." 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 <-" "X>` flag or :envvar:`PYTHON_CPU_COUNT` as this is merely a wrapper around " "the :mod:`os` cpu count APIs." msgstr "" +"Возвращаемое значение также можно переопределить с помощью флага :option:`-X " +"cpu_count <-X>` или :envvar:`PYTHON_CPU_COUNT`, поскольку это всего лишь " +"оболочка API-интерфейсов :mod:`os` подсчета процессоров." msgid "" "Return the :class:`Process` object corresponding to the current process." -msgstr "" +msgstr "Повертає об’єкт :class:`Process`, що відповідає поточному процесу." msgid "An analogue of :func:`threading.current_thread`." -msgstr "" +msgstr "Аналог :func:`threading.current_thread`." msgid "" "Return the :class:`Process` object corresponding to the parent process of " "the :func:`current_process`. For the main process, ``parent_process`` will " "be ``None``." msgstr "" +"Повертає об’єкт :class:`Process`, що відповідає батьківському процесу :func:" +"`current_process`. Для основного процесу ``parent_process`` буде ``None``." msgid "" "Add support for when a program which uses :mod:`multiprocessing` has been " -"frozen to produce a Windows executable. (Has been tested with **py2exe**, " +"frozen to produce an executable. (Has been tested with **py2exe**, " "**PyInstaller** and **cx_Freeze**.)" msgstr "" +"增加对于使用 :mod:`multiprocessing` 的程序已被冻结以产生可执行文件的支持。 " +"(针对 **py2exe**, **PyInstaller** 和 **cx_Freeze** 时行了测试。)" msgid "" "One needs to call this function straight after the ``if __name__ == " "'__main__'`` line of the main module. For example::" msgstr "" +"Цю функцію потрібно викликати відразу після рядка ``if __name__ == " +"'__main__'`` головного модуля. Наприклад::" msgid "" "from multiprocessing import Process, freeze_support\n" @@ -1260,18 +1862,31 @@ msgid "" " freeze_support()\n" " Process(target=f).start()" msgstr "" +"from multiprocessing import Process, freeze_support\n" +"\n" +"def f():\n" +" print('hello world!')\n" +"\n" +"if __name__ == '__main__':\n" +" freeze_support()\n" +" Process(target=f).start()" msgid "" "If the ``freeze_support()`` line is omitted then trying to run the frozen " "executable will raise :exc:`RuntimeError`." msgstr "" +"Якщо рядок ``freeze_support()`` пропущено, спроба запустити заморожений " +"виконуваний файл викличе :exc:`RuntimeError`." 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 "" +"当启动方法不是 *spawn* 时调用 ``freeze_support()`` 不会有效果。 此外,如果该" +"模块被 Python 解释器正常运行(程序未被冻结),则 ``freeze_support()`` 也不会" +"有效果。" msgid "" "Returns a list of the supported start methods, the first of which is the " @@ -1279,53 +1894,70 @@ msgid "" "``'forkserver'``. Not all platforms support all methods. See :ref:" "`multiprocessing-start-methods`." msgstr "" +"Возвращает список поддерживаемых методов запуска, первый из которых " +"используется по умолчанию. Возможные методы запуска: fork, spawn и " +"forkserver. Не все платформы поддерживают все методы. См. :ref:" +"`мультипроцессорные-стартовые методы`." msgid "" "Return a context object which has the same attributes as the :mod:" "`multiprocessing` module." msgstr "" +"Повертає об’єкт контексту, який має ті самі атрибути, що й модуль :mod:" +"`multiprocessing`." 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 default " +"method. 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 has not been set and *allow_none* is ``False``, " +"then the start method is set to the default and the name is returned. If the " +"start method has not been set and *allow_none* is ``True`` then ``None`` is " +"returned." msgstr "" msgid "" "The return value can be ``'fork'``, ``'spawn'``, ``'forkserver'`` or " "``None``. See :ref:`multiprocessing-start-methods`." msgstr "" +"Возвращаемое значение может быть ``'fork'``, ``'spawn'``, ``'forkserver'`` " +"или ``None``. См. :ref:`мультипроцессорные-стартовые методы`." msgid "" "On macOS, the *spawn* start method is now the default. The *fork* start " "method should be considered unsafe as it can lead to crashes of the " "subprocess. See :issue:`33725`." msgstr "" +"У macOS метод запуску *spawn* тепер є типовим. Метод запуску *fork* слід " +"вважати небезпечним, оскільки він може призвести до збою підпроцесу. Див. :" +"issue:`33725`." 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 ::" msgstr "" +"Встановіть шлях інтерпретатора Python для використання під час запуску " +"дочірнього процесу. (За замовчуванням використовується :data:`sys." +"executable`). Вбудовувачі, ймовірно, повинні будуть зробити щось на зразок:" msgid "set_executable(os.path.join(sys.exec_prefix, 'pythonw.exe'))" -msgstr "" +msgstr "set_executable(os.path.join(sys.exec_prefix, 'pythonw.exe'))" msgid "before they can create child processes." -msgstr "" +msgstr "перш ніж вони зможуть створити дочірні процеси." msgid "Now supported on POSIX when the ``'spawn'`` start method is used." -msgstr "" +msgstr "Теперь поддерживается в POSIX при использовании метода запуска spawn." msgid "Accepts a :term:`path-like object`." msgstr "" @@ -1337,16 +1969,25 @@ msgid "" "can be used as a performance enhancement to avoid repeated work in every " "process." msgstr "" +"Установите список имен модулей для основного процесса forkserver, который " +"будет пытаться импортировать, чтобы их уже импортированное состояние " +"наследовалось разветвленными процессами. Любой :exc:`ImportError` при этом " +"игнорируется. Это можно использовать для повышения производительности, чтобы " +"избежать повторной работы в каждом процессе." msgid "" "For this to work, it must be called before the forkserver process has been " "launched (before creating a :class:`Pool` or starting a :class:`Process`)." msgstr "" +"Чтобы это работало, его необходимо вызвать до запуска процесса forkserver " +"(перед созданием :class:`Pool` или запуском :class:`Process`)." msgid "" "Only meaningful when using the ``'forkserver'`` start method. See :ref:" "`multiprocessing-start-methods`." msgstr "" +"Имеет смысл только при использовании метода запуска forkserver. См. :ref:" +"`мультипроцессорные-стартовые методы`." msgid "" "Set the method which should be used to start child processes. The *method* " @@ -1356,14 +1997,25 @@ msgid "" "method is set to ``None``. If *method* is ``None`` and *force* is ``False`` " "then the context is set to the default context." msgstr "" +"Установите метод, который должен использоваться для запуска дочерних " +"процессов. Аргументом *method* может быть ``'fork'``, ``'spawn'`` или " +"``'forkserver'``. Вызывает :exc:`RuntimeError`, если метод запуска уже " +"установлен и *force* не имеет значения ``True``. Если *method* имеет " +"значение «None» и *force* имеет значение «True», то для метода запуска " +"устанавливается значение «None». Если *method* имеет значение None, а " +"*force* имеет значение False, тогда контекст устанавливается в контекст по " +"умолчанию." msgid "" "Note that this should be called at most once, and it should be protected " "inside the ``if __name__ == '__main__'`` clause of the main module." msgstr "" +"Зверніть увагу, що це має бути викликано щонайбільше один раз, і його слід " +"захистити всередині пропозиції ``if __name__ == '__main__'`` головного " +"модуля." msgid "See :ref:`multiprocessing-start-methods`." -msgstr "" +msgstr "См. :ref:`multiprocessing-start-methods`." msgid "" ":mod:`multiprocessing` contains no analogues of :func:`threading." @@ -1371,61 +2023,84 @@ msgid "" "func:`threading.setprofile`, :class:`threading.Timer`, or :class:`threading." "local`." msgstr "" +":mod:`multiprocessing` не містить аналогів :func:`threading.active_count`, :" +"func:`threading.enumerate`, :func:`threading.settrace`, :func:`threading." +"setprofile`, :class:`threading.Timer` або :class:`threading.local`." msgid "Connection Objects" -msgstr "" +msgstr "Objek Koneksi" msgid "" "Connection objects allow the sending and receiving of picklable objects or " "strings. They can be thought of as message oriented connected sockets." msgstr "" +"Об’єкти підключення дозволяють надсилати та отримувати об’єкти або рядки, " +"які можна вибрати. Їх можна розглядати як підключені сокети, орієнтовані на " +"повідомлення." msgid "" "Connection objects are usually created using :func:`Pipe ` -- see also :ref:`multiprocessing-listeners-clients`." msgstr "" +"Об’єкти підключення зазвичай створюються за допомогою :func:`Pipe " +"` -- див. також :ref:`multiprocessing-listeners-" +"clients`." msgid "" "Send an object to the other end of the connection which should be read " "using :meth:`recv`." msgstr "" +"Надішліть об’єкт на інший кінець з’єднання, який слід прочитати за " +"допомогою :meth:`recv`." msgid "" "The object must be picklable. Very large pickles (approximately 32 MiB+, " "though it depends on the OS) may raise a :exc:`ValueError` exception." msgstr "" +"Об'єкт має бути маринованим. Дуже великі pickles (приблизно 32 MiB+, хоча це " +"залежить від ОС) можуть викликати виняток :exc:`ValueError`." msgid "" "Return an object sent from the other end of the connection using :meth:" "`send`. Blocks until there is something to receive. Raises :exc:`EOFError` " "if there is nothing left to receive and the other end was closed." msgstr "" +"Повернути об’єкт, надісланий з іншого кінця з’єднання за допомогою :meth:" +"`send`. Блокує, поки не буде що отримати. Викликає :exc:`EOFError`, якщо не " +"залишилося нічого для отримання, а інший кінець був закритий." msgid "Return the file descriptor or handle used by the connection." msgstr "" +"Повертає дескриптор файлу або дескриптор, який використовується підключенням." msgid "Close the connection." -msgstr "" +msgstr "Закрийте з'єднання." msgid "This is called automatically when the connection is garbage collected." -msgstr "" +msgstr "Це викликається автоматично, коли підключення збирається сміттям." msgid "Return whether there is any data available to be read." -msgstr "" +msgstr "Повернути, чи є дані для читання." msgid "" "If *timeout* is not specified then it will return immediately. If *timeout* " "is a number then this specifies the maximum time in seconds to block. If " "*timeout* is ``None`` then an infinite timeout is used." msgstr "" +"Якщо *timeout* не вказано, він негайно повернеться. Якщо *timeout* є числом, " +"це вказує максимальний час у секундах для блокування. Якщо *timeout* має " +"значення ``None``, тоді використовується нескінченний тайм-аут." msgid "" "Note that multiple connection objects may be polled at once by using :func:" "`multiprocessing.connection.wait`." msgstr "" +"Зауважте, що кілька об’єктів з’єднання можна опитувати одночасно за " +"допомогою :func:`multiprocessing.connection.wait`." msgid "Send byte data from a :term:`bytes-like object` as a complete message." msgstr "" +"Надіслати байтові дані з :term:`bytes-like object` як повне повідомлення." msgid "" "If *offset* is given then data is read from that position in *buffer*. If " @@ -1433,6 +2108,10 @@ msgid "" "buffers (approximately 32 MiB+, though it depends on the OS) may raise a :" "exc:`ValueError` exception" msgstr "" +"Якщо вказано *зсув*, дані зчитуються з цієї позиції в *буфері*. Якщо задано " +"*size*, то стільки байтів буде прочитано з буфера. Дуже великі буфери " +"(приблизно 32 MiB+, хоча це залежить від ОС) можуть викликати виключення :" +"exc:`ValueError`" msgid "" "Return a complete message of byte data sent from the other end of the " @@ -1440,16 +2119,23 @@ msgid "" "exc:`EOFError` if there is nothing left to receive and the other end has " "closed." msgstr "" +"Повертає повне повідомлення байтових даних, надісланих з іншого кінця " +"з’єднання, у вигляді рядка. Блокує, поки не буде що отримати. Викликає :exc:" +"`EOFError`, якщо не залишилося нічого для отримання, а інший кінець закрито." msgid "" "If *maxlength* is specified and the message is longer than *maxlength* then :" "exc:`OSError` is raised and the connection will no longer be readable." msgstr "" +"Якщо вказано *maxlength* і повідомлення довше, ніж *maxlength*, тоді " +"виникає :exc:`OSError` і з’єднання більше не читається." msgid "" "This function used to raise :exc:`IOError`, which is now an alias of :exc:" "`OSError`." msgstr "" +"Раніше ця функція викликала :exc:`IOError`, який тепер є псевдонімом :exc:" +"`OSError`." msgid "" "Read into *buffer* a complete message of byte data sent from the other end " @@ -1457,29 +2143,44 @@ msgid "" "until there is something to receive. Raises :exc:`EOFError` if there is " "nothing left to receive and the other end was closed." msgstr "" +"Прочитайте в *buffer* повне повідомлення байтових даних, надісланих з іншого " +"кінця з’єднання, і поверніть кількість байтів у повідомленні. Блокує, поки " +"не буде що отримати. Викликає :exc:`EOFError`, якщо не залишилося нічого для " +"отримання, а інший кінець був закритий." msgid "" "*buffer* must be a writable :term:`bytes-like object`. If *offset* is given " "then the message will be written into the buffer from that position. Offset " "must be a non-negative integer less than the length of *buffer* (in bytes)." msgstr "" +"*buffer* має бути доступним для запису :term:`bytes-like object`. Якщо " +"задано *offset*, повідомлення буде записано в буфер із цієї позиції. Зсув " +"має бути невід’ємним цілим числом, меншим за довжину *буфера* (у байтах)." msgid "" "If the buffer is too short then a :exc:`BufferTooShort` exception is raised " "and the complete message is available as ``e.args[0]`` where ``e`` is the " "exception instance." msgstr "" +"Якщо буфер закороткий, виникає виняток :exc:`BufferTooShort`, і повне " +"повідомлення доступне як ``e.args[0]``, де ``e`` є винятком." msgid "" "Connection objects themselves can now be transferred between processes " "using :meth:`Connection.send` and :meth:`Connection.recv`." msgstr "" +"Самі об’єкти підключення тепер можна передавати між процесами за допомогою :" +"meth:`Connection.send` і :meth:`Connection.recv`." msgid "" "Connection objects also now support the context management protocol -- see :" "ref:`typecontextmanager`. :meth:`~contextmanager.__enter__` returns the " "connection object, and :meth:`~contextmanager.__exit__` calls :meth:`close`." msgstr "" +"Объекты соединения теперь также поддерживают протокол управления контекстом " +"— см. :ref:`typecontextmanager`. :meth:`~contextmanager.__enter__` " +"возвращает объект соединения, а :meth:`~contextmanager.__exit__` вызывает :" +"meth:`close`." msgid "For example:" msgstr "Na przykład::" @@ -1502,12 +2203,31 @@ msgid "" ">>> arr2\n" "array('i', [0, 1, 2, 3, 4, 0, 0, 0, 0, 0])" msgstr "" +">>> from multiprocessing import Pipe\n" +">>> a, b = Pipe()\n" +">>> a.send([1, 'hello', None])\n" +">>> b.recv()\n" +"[1, 'hello', None]\n" +">>> b.send_bytes(b'thank you')\n" +">>> a.recv_bytes()\n" +"b'thank you'\n" +">>> import array\n" +">>> arr1 = array.array('i', range(5))\n" +">>> arr2 = array.array('i', [0] * 10)\n" +">>> a.send_bytes(arr1)\n" +">>> count = b.recv_bytes_into(arr2)\n" +">>> assert count == len(arr1) * arr1.itemsize\n" +">>> arr2\n" +"array('i', [0, 1, 2, 3, 4, 0, 0, 0, 0, 0])" msgid "" "The :meth:`Connection.recv` method automatically unpickles the data it " "receives, which can be a security risk unless you can trust the process " "which sent the message." msgstr "" +"Метод :meth:`Connection.recv` автоматично видаляє отримані дані, що може " +"становити загрозу безпеці, якщо ви не можете довіряти процесу, який надіслав " +"повідомлення." msgid "" "Therefore, unless the connection object was produced using :func:`Pipe` you " @@ -1515,58 +2235,78 @@ msgid "" "methods after performing some sort of authentication. See :ref:" "`multiprocessing-auth-keys`." msgstr "" +"Таким чином, якщо об’єкт підключення не було створено за допомогою :func:" +"`Pipe`, ви повинні використовувати лише методи :meth:`~Connection.recv` і :" +"meth:`~Connection.send` після виконання певної автентифікації. Перегляньте :" +"ref:`multiprocessing-auth-keys`." msgid "" "If a process is killed while it is trying to read or write to a pipe then " "the data in the pipe is likely to become corrupted, because it may become " "impossible to be sure where the message boundaries lie." msgstr "" +"Якщо процес зупиняється під час спроби читання або запису в канал, то дані в " +"каналі, ймовірно, будуть пошкоджені, тому що може стати неможливо точно " +"визначити, де пролягають межі повідомлення." msgid "Synchronization primitives" -msgstr "" +msgstr "Примітиви синхронізації" msgid "" "Generally synchronization primitives are not as necessary in a multiprocess " "program as they are in a multithreaded program. See the documentation for :" "mod:`threading` module." msgstr "" +"Зазвичай примітиви синхронізації не такі необхідні в багатопроцесовій " +"програмі, як у багатопотоковій програмі. Перегляньте документацію для " +"модуля :mod:`threading`." msgid "" "Note that one can also create synchronization primitives by using a manager " "object -- see :ref:`multiprocessing-managers`." msgstr "" +"Зауважте, що можна також створити примітиви синхронізації за допомогою " +"об’єкта менеджера – див. :ref:`multiprocessing-managers`." msgid "A barrier object: a clone of :class:`threading.Barrier`." -msgstr "" +msgstr "Бар’єрний об’єкт: клон :class:`threading.Barrier`." msgid "" "A bounded semaphore object: a close analog of :class:`threading." "BoundedSemaphore`." msgstr "" +"Обмежений семафорний об’єкт: близький аналог :class:`threading." +"BoundedSemaphore`." msgid "" "A solitary difference from its close analog exists: its ``acquire`` method's " "first argument is named *block*, as is consistent with :meth:`Lock.acquire`." msgstr "" +"Існує єдина відмінність від його близького аналога: перший аргумент методу " +"``acquire`` має назву *block*, що узгоджується з :meth:`Lock.acquire`." msgid "" "On macOS, this is indistinguishable from :class:`Semaphore` because " "``sem_getvalue()`` is not implemented on that platform." msgstr "" +"У macOS це неможливо відрізнити від :class:`Semaphore`, оскільки " +"``sem_getvalue()`` не реалізовано на цій платформі." msgid "A condition variable: an alias for :class:`threading.Condition`." -msgstr "" +msgstr "Змінна умови: псевдонім для :class:`threading.Condition`." msgid "" "If *lock* is specified then it should be a :class:`Lock` or :class:`RLock` " "object from :mod:`multiprocessing`." msgstr "" +"Якщо вказано *lock*, це має бути об’єкт :class:`Lock` або :class:`RLock` із :" +"mod:`multiprocessing`." msgid "The :meth:`~threading.Condition.wait_for` method was added." -msgstr "" +msgstr "Додано метод :meth:`~threading.Condition.wait_for`." msgid "A clone of :class:`threading.Event`." -msgstr "" +msgstr "Клон :class:`threading.Event`." msgid "" "A non-recursive lock object: a close analog of :class:`threading.Lock`. Once " @@ -1577,20 +2317,32 @@ msgid "" "`multiprocessing.Lock` as it applies to either processes or threads, except " "as noted." msgstr "" +"Нерекурсивний об’єкт блокування: близький аналог :class:`threading.Lock`. " +"Після того, як процес або потік отримав блокування, наступні спроби отримати " +"його від будь-якого процесу або потоку будуть блокуватися, доки його не буде " +"звільнено; будь-який процес або потік може його звільнити. Концепції та " +"поведінка :class:`threading.Lock`, які застосовуються до потоків, відтворені " +"тут у :class:`multiprocessing.Lock`, оскільки вони застосовуються до " +"процесів або потоків, за винятком зазначених випадків." msgid "" "Note that :class:`Lock` is actually a factory function which returns an " "instance of ``multiprocessing.synchronize.Lock`` initialized with a default " "context." msgstr "" +"Зауважте, що :class:`Lock` насправді є фабричною функцією, яка повертає " +"примірник ``multiprocessing.synchronize.Lock``, ініціалізований контекстом " +"за замовчуванням." msgid "" ":class:`Lock` supports the :term:`context manager` protocol and thus may be " "used in :keyword:`with` statements." msgstr "" +":class:`Lock` підтримує протокол :term:`context manager` і тому може " +"використовуватися в :keyword:`with` операторах." msgid "Acquire a lock, blocking or non-blocking." -msgstr "" +msgstr "Отримайте блокування, блокування або неблокування." msgid "" "With the *block* argument set to ``True`` (the default), the method call " @@ -1598,12 +2350,21 @@ msgid "" "return ``True``. Note that the name of this first argument differs from " "that in :meth:`threading.Lock.acquire`." msgstr "" +"Якщо для аргументу *block* встановлено значення ``True`` (за замовчуванням), " +"виклик методу блокуватиметься, доки блокування не перейде в розблокований " +"стан, а потім встановлюватиме для нього значення ``True`` і повертатиме " +"``True``. Зауважте, що назва цього першого аргументу відрізняється від такої " +"в :meth:`threading.Lock.acquire`." msgid "" "With the *block* argument set to ``False``, the method call does not block. " "If the lock is currently in a locked state, return ``False``; otherwise set " "the lock to a locked state and return ``True``." msgstr "" +"Якщо для аргументу *block* встановлено значення ``False``, виклик методу не " +"блокується. Якщо блокування зараз у заблокованому стані, поверніть " +"``False``; інакше встановіть блокування в заблокований стан і поверніть " +"``True``." msgid "" "When invoked with a positive, floating-point value for *timeout*, block for " @@ -1617,16 +2378,31 @@ msgid "" "``False`` and is thus ignored. Returns ``True`` if the lock has been " "acquired or ``False`` if the timeout period has elapsed." msgstr "" +"При виклику з додатним значенням з плаваючою комою для *timeout*, блокувати " +"щонайбільше на кількість секунд, визначену *timeout*, доки не вдасться " +"отримати блокування. Виклики з від’ємним значенням для *timeout* " +"еквівалентні *timeout* рівному нулю. Виклики зі значенням *timeout* ``None`` " +"(за замовчуванням) встановлюють період очікування як нескінченний. Зауважте, " +"що обробка негативних значень або значень ``None`` для *timeout* " +"відрізняється від реалізованої поведінки в :meth:`threading.Lock.acquire`. " +"Аргумент *timeout* не має практичного значення, якщо для аргументу *block* " +"встановлено значення ``False`` і, таким чином, він ігнорується. Повертає " +"``True``, якщо блокування отримано, або ``False``, якщо період очікування " +"минув." msgid "" "Release a lock. This can be called from any process or thread, not only the " "process or thread which originally acquired the lock." msgstr "" +"Відпустіть блокування. Це може бути викликано з будь-якого процесу або " +"потоку, а не тільки процесу або потоку, який спочатку отримав блокування." msgid "" "Behavior is the same as in :meth:`threading.Lock.release` except that when " "invoked on an unlocked lock, a :exc:`ValueError` is raised." msgstr "" +"Поведінка така ж, як у :meth:`threading.Lock.release`, за винятком того, що " +"під час виклику для розблокованого блокування виникає :exc:`ValueError`." msgid "" "A recursive lock object: a close analog of :class:`threading.RLock`. A " @@ -1635,17 +2411,28 @@ msgid "" "thread may acquire it again without blocking; that process or thread must " "release it once for each time it has been acquired." msgstr "" +"Об’єкт рекурсивного блокування: близький аналог :class:`threading.RLock`. " +"Рекурсивне блокування має бути звільнено процесом або потоком, який його " +"отримав. Після того як процес або потік отримав рекурсивне блокування, той " +"самий процес або потік може отримати його знову без блокування; цей процес " +"або потік повинен випускати його один раз за кожен раз, коли його було " +"отримано." msgid "" "Note that :class:`RLock` is actually a factory function which returns an " "instance of ``multiprocessing.synchronize.RLock`` initialized with a default " "context." msgstr "" +"Зауважте, що :class:`RLock` насправді є фабричною функцією, яка повертає " +"екземпляр ``multiprocessing.synchronize.RLock``, ініціалізований контекстом " +"за замовчуванням." msgid "" ":class:`RLock` supports the :term:`context manager` protocol and thus may be " "used in :keyword:`with` statements." msgstr "" +":class:`RLock` підтримує протокол :term:`context manager` і тому може " +"використовуватися в :keyword:`with` операторах." msgid "" "When invoked with the *block* argument set to ``True``, block until the lock " @@ -1658,6 +2445,15 @@ msgid "" "of :meth:`threading.RLock.acquire`, starting with the name of the argument " "itself." msgstr "" +"При виклику з аргументом *block*, встановленим у значення ``True``, " +"блокувати, доки блокування не буде в розблокованому стані (не належить " +"жодному процесу або потоку), якщо блокування вже не належить поточному " +"процесу або потоку. Тоді поточний процес або потік отримує право власності " +"на блокування (якщо він ще не має права власності), а рівень рекурсії " +"всередині блокування збільшується на одиницю, що призводить до повернення " +"значення ``True``. Зауважте, що є кілька відмінностей у поведінці цього " +"першого аргументу порівняно з реалізацією :meth:`threading.RLock.acquire`, " +"починаючи з назви самого аргументу." msgid "" "When invoked with the *block* argument set to ``False``, do not block. If " @@ -1668,12 +2464,22 @@ msgid "" "thread takes ownership and the recursion level is incremented, resulting in " "a return value of ``True``." msgstr "" +"При виклику з аргументом *block*, встановленим на ``False``, не блокувати. " +"Якщо блокування вже було отримано (і, отже, ним володіє) інший процес або " +"потік, поточний процес або потік не приймає права власності, а рівень " +"рекурсії в межах блокування не змінюється, що призводить до повернення " +"значення ``False`` . Якщо блокування знаходиться в розблокованому стані, " +"поточний процес або потік приймає право власності, і рівень рекурсії " +"збільшується, що призводить до повернення значення ``True``." msgid "" "Use and behaviors of the *timeout* argument are the same as in :meth:`Lock." "acquire`. Note that some of these behaviors of *timeout* differ from the " "implemented behaviors in :meth:`threading.RLock.acquire`." msgstr "" +"Використання та поведінка аргументу *timeout* такі ж, як і в :meth:`Lock." +"acquire`. Зауважте, що деякі з цих дій *timeout* відрізняються від " +"реалізованих у :meth:`threading.RLock.acquire`." msgid "" "Release a lock, decrementing the recursion level. If after the decrement " @@ -1683,6 +2489,13 @@ msgid "" "after the decrement the recursion level is still nonzero, the lock remains " "locked and owned by the calling process or thread." msgstr "" +"Зніміть блокування, зменшивши рівень рекурсії. Якщо після зменшення рівень " +"рекурсії дорівнює нулю, скиньте блокування до розблокованого (не належить " +"жодному процесу чи потоку), а якщо будь-які інші процеси чи потоки " +"заблоковані в очікуванні розблокування блокування, дозвольте рівно одному з " +"них продовжити. Якщо після декременту рівень рекурсії все ще ненульовий, " +"блокування залишається заблокованим і належить процесу або потоку, що " +"викликає." msgid "" "Only call this method when the calling process or thread owns the lock. An :" @@ -1691,14 +2504,22 @@ msgid "" "state. Note that the type of exception raised in this situation differs " "from the implemented behavior in :meth:`threading.RLock.release`." msgstr "" +"Викликайте цей метод лише тоді, коли процес або потік, що викликає, володіє " +"блокуванням. Помилка :exc:`AssertionError` виникає, якщо цей метод " +"викликається процесом або потоком, відмінним від власника, або якщо " +"блокування знаходиться в розблокованому стані (не належить). Зауважте, що " +"тип винятку, викликаного в цій ситуації, відрізняється від реалізованої " +"поведінки в :meth:`threading.RLock.release`." msgid "A semaphore object: a close analog of :class:`threading.Semaphore`." -msgstr "" +msgstr "Об’єкт семафор: близький аналог :class:`threading.Semaphore`." msgid "" "On macOS, ``sem_timedwait`` is unsupported, so calling ``acquire()`` with a " "timeout will emulate that function's behavior using a sleeping loop." msgstr "" +"У macOS ``sem_timedwait`` не підтримується, тому виклик ``acquire()`` із " +"тайм-аутом буде емулювати поведінку цієї функції за допомогою циклу сну." msgid "" "Some of this package's functionality requires a functioning shared semaphore " @@ -1707,26 +2528,39 @@ msgid "" "import it will result in an :exc:`ImportError`. See :issue:`3770` for " "additional information." msgstr "" +"Для деяких функцій цього пакета необхідна функціональна реалізація спільного " +"семафора в головній операційній системі. Без нього модуль :mod:" +"`multiprocessing.synchronize` буде вимкнено, а спроби його імпортувати " +"призведуть до :exc:`ImportError`. Додаткову інформацію див. :issue:`3770`." msgid "Shared :mod:`ctypes` Objects" -msgstr "" +msgstr "Спільні об’єкти :mod:`ctypes`" msgid "" "It is possible to create shared objects using shared memory which can be " "inherited by child processes." msgstr "" +"Можна створювати спільні об’єкти, використовуючи спільну пам’ять, яку можуть " +"успадковувати дочірні процеси." msgid "" "Return a :mod:`ctypes` object allocated from shared memory. By default the " "return value is actually a synchronized wrapper for the object. The object " "itself can be accessed via the *value* attribute of a :class:`Value`." msgstr "" +"Повертає об’єкт :mod:`ctypes`, виділений зі спільної пам’яті. За " +"замовчуванням значення, що повертається, фактично є синхронізованою " +"оболонкою для об’єкта. До самого об’єкта можна отримати доступ через атрибут " +"*value* :class:`Value`." msgid "" "*typecode_or_type* determines the type of the returned object: it is either " "a ctypes type or a one character typecode of the kind used by the :mod:" "`array` module. *\\*args* is passed on to the constructor for the type." msgstr "" +"*typecode_or_type* визначає тип повернутого об’єкта: це або тип ctypes, або " +"односимвольний код типу, який використовується модулем :mod:`array`. " +"*\\*args* передається конструктору для типу." msgid "" "If *lock* is ``True`` (the default) then a new recursive lock object is " @@ -1736,33 +2570,49 @@ msgid "" "be automatically protected by a lock, so it will not necessarily be " "\"process-safe\"." msgstr "" +"Якщо *lock* має значення ``True`` (за замовчуванням), тоді створюється новий " +"об’єкт рекурсивного блокування для синхронізації доступу до значення. Якщо " +"*lock* є об’єктом :class:`Lock` або :class:`RLock`, то він " +"використовуватиметься для синхронізації доступу до значення. Якщо *lock* має " +"значення ``False``, тоді доступ до повернутого об’єкта не буде автоматично " +"захищений блокуванням, тому він не обов’язково буде \"безпечним для " +"процесу\"." msgid "" "Operations like ``+=`` which involve a read and write are not atomic. So " "if, for instance, you want to atomically increment a shared value it is " "insufficient to just do ::" msgstr "" +"Такі операції, як ``+=``, які передбачають читання та запис, не є " +"атомарними. Отже, якщо, наприклад, ви хочете атомарно збільшити спільне " +"значення, недостатньо просто зробити ::" msgid "counter.value += 1" -msgstr "" +msgstr "counter.value += 1" msgid "" "Assuming the associated lock is recursive (which it is by default) you can " "instead do ::" msgstr "" +"Якщо припустити, що пов’язане блокування є рекурсивним (що є за " +"замовчуванням), ви можете замість цього зробити:" msgid "" "with counter.get_lock():\n" " counter.value += 1" msgstr "" +"with counter.get_lock():\n" +" counter.value += 1" msgid "Note that *lock* is a keyword-only argument." -msgstr "" +msgstr "Зверніть увагу, що *lock* є аргументом лише для ключового слова." msgid "" "Return a ctypes array allocated from shared memory. By default the return " "value is actually a synchronized wrapper for the array." msgstr "" +"Повертає масив ctypes, виділений зі спільної пам’яті. За замовчуванням " +"значення, що повертається, фактично є синхронізованою оболонкою для масиву." msgid "" "*typecode_or_type* determines the type of the elements of the returned " @@ -1772,6 +2622,12 @@ msgid "" "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 "" +"*typecode_or_type* визначає тип елементів повернутого масиву: це або тип " +"ctypes, або односимвольний код типу, який використовується модулем :mod:" +"`array`. Якщо *size_or_initializer* є цілим числом, воно визначає довжину " +"масиву, і масив буде спочатку обнулений. В іншому випадку " +"*size_or_initializer* — це послідовність, яка використовується для " +"ініціалізації масиву, довжина якої визначає довжину масиву." msgid "" "If *lock* is ``True`` (the default) then a new lock object is created to " @@ -1781,23 +2637,34 @@ msgid "" "automatically protected by a lock, so it will not necessarily be \"process-" "safe\"." msgstr "" +"Якщо *lock* має значення ``True`` (за замовчуванням), тоді створюється новий " +"об’єкт блокування для синхронізації доступу до значення. Якщо *lock* є " +"об’єктом :class:`Lock` або :class:`RLock`, то він використовуватиметься для " +"синхронізації доступу до значення. Якщо *lock* має значення ``False``, тоді " +"доступ до повернутого об’єкта не буде автоматично захищений блокуванням, " +"тому він не обов’язково буде \"безпечним для процесу\"." msgid "Note that *lock* is a keyword only argument." -msgstr "" +msgstr "Зауважте, що *lock* є лише ключовим аргументом." msgid "" "Note that an array of :data:`ctypes.c_char` has *value* and *raw* attributes " "which allow one to use it to store and retrieve strings." msgstr "" +"Зауважте, що масив :data:`ctypes.c_char` має атрибути *value* і *raw*, які " +"дозволяють використовувати його для зберігання та отримання рядків." msgid "The :mod:`multiprocessing.sharedctypes` module" -msgstr "" +msgstr "Модуль :mod:`multiprocessing.sharedctypes`" msgid "" "The :mod:`multiprocessing.sharedctypes` module provides functions for " "allocating :mod:`ctypes` objects from shared memory which can be inherited " "by child processes." msgstr "" +"Модуль :mod:`multiprocessing.sharedctypes` надає функції для виділення " +"об’єктів :mod:`ctypes` зі спільної пам’яті, які можуть бути успадковані " +"дочірніми процесами." msgid "" "Although it is possible to store a pointer in shared memory remember that " @@ -1806,9 +2673,13 @@ msgid "" "second process and trying to dereference the pointer from the second process " "may cause a crash." msgstr "" +"Хоча можна зберігати вказівник у спільній пам’яті, пам’ятайте, що це " +"посилатиметься на розташування в адресному просторі певного процесу. Однак " +"вказівник, швидше за все, буде недійсним у контексті другого процесу, і " +"спроба розіменувати вказівник з другого процесу може спричинити збій." msgid "Return a ctypes array allocated from shared memory." -msgstr "" +msgstr "Повертає масив ctypes, виділений зі спільної пам’яті." msgid "" "*typecode_or_type* determines the type of the elements of the returned " @@ -1818,33 +2689,51 @@ msgid "" "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 "" +"*typecode_or_type* визначає тип елементів повернутого масиву: це або тип " +"ctypes, або односимвольний код типу, який використовується модулем :mod:" +"`array`. Якщо *size_or_initializer* є цілим числом, воно визначає довжину " +"масиву, і масив буде спочатку обнулено. В іншому випадку " +"*size_or_initializer* — це послідовність, яка використовується для " +"ініціалізації масиву і довжина якої визначає довжину масиву." msgid "" "Note that setting and getting an element is potentially non-atomic -- use :" "func:`Array` instead to make sure that access is automatically synchronized " "using a lock." msgstr "" +"Зауважте, що встановлення й отримання елемента потенційно не є атомарним — " +"замість цього використовуйте :func:`Array`, щоб переконатися, що доступ " +"автоматично синхронізується за допомогою блокування." msgid "Return a ctypes object allocated from shared memory." -msgstr "" +msgstr "Повертає об’єкт ctypes, виділений зі спільної пам’яті." msgid "" "Note that setting and getting the value is potentially non-atomic -- use :" "func:`Value` instead to make sure that access is automatically synchronized " "using a lock." msgstr "" +"Зауважте, що встановлення й отримання значення потенційно не є атомарним — " +"замість цього використовуйте :func:`Value`, щоб переконатися, що доступ " +"автоматично синхронізується за допомогою блокування." msgid "" "Note that an array of :data:`ctypes.c_char` has ``value`` and ``raw`` " "attributes which allow one to use it to store and retrieve strings -- see " "documentation for :mod:`ctypes`." msgstr "" +"Зауважте, що масив :data:`ctypes.c_char` має атрибути ``value`` і ``raw``, " +"які дозволяють використовувати його для зберігання та отримання рядків - " +"дивіться документацію для :mod:`ctypes`." msgid "" "The same as :func:`RawArray` except that depending on the value of *lock* a " "process-safe synchronization wrapper may be returned instead of a raw ctypes " "array." msgstr "" +"Те саме, що :func:`RawArray`, за винятком того, що залежно від значення " +"*lock* замість необробленого масиву ctypes може повертатися обгортка " +"синхронізації, безпечна для процесу." msgid "" "If *lock* is ``True`` (the default) then a new lock object is created to " @@ -1854,90 +2743,117 @@ msgid "" "returned object will not be automatically protected by a lock, so it will " "not necessarily be \"process-safe\"." msgstr "" +"Якщо *lock* має значення ``True`` (за замовчуванням), тоді створюється новий " +"об’єкт блокування для синхронізації доступу до значення. Якщо *lock* є " +"об’єктом :class:`~multiprocessing.Lock` або :class:`~multiprocessing.RLock`, " +"то він використовуватиметься для синхронізації доступу до значення. Якщо " +"*lock* має значення ``False``, тоді доступ до повернутого об’єкта не буде " +"автоматично захищений блокуванням, тому він не обов’язково буде \"безпечним " +"для процесу\"." 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 " "object." msgstr "" +"Те саме, що :func:`RawValue`, за винятком того, що залежно від значення " +"*lock* замість необробленого об’єкта ctypes може повертатися безпечна для " +"процесу оболонка синхронізації." msgid "" "Return a ctypes object allocated from shared memory which is a copy of the " "ctypes object *obj*." msgstr "" +"Повертає об’єкт ctypes, виділений зі спільної пам’яті, який є копією об’єкта " +"ctypes *obj*." msgid "" "Return a process-safe wrapper object for a ctypes object which uses *lock* " "to synchronize access. If *lock* is ``None`` (the default) then a :class:" "`multiprocessing.RLock` object is created automatically." msgstr "" +"Повертає безпечний для процесу об’єкт оболонки для об’єкта ctypes, який " +"використовує *lock* для синхронізації доступу. Якщо *lock* має значення " +"``None`` (за замовчуванням), то об’єкт :class:`multiprocessing.RLock` " +"створюється автоматично." msgid "" "A synchronized wrapper will have two methods in addition to those of the " "object it wraps: :meth:`get_obj` returns the wrapped object and :meth:" "`get_lock` returns the lock object used for synchronization." msgstr "" +"Синхронізована оболонка матиме два методи на додаток до методів об’єкта, " +"який вона обертає: :meth:`get_obj` повертає обгорнутий об’єкт, а :meth:" +"`get_lock` повертає об’єкт блокування, який використовується для " +"синхронізації." msgid "" "Note that accessing the ctypes object through the wrapper can be a lot " "slower than accessing the raw ctypes object." msgstr "" +"Зверніть увагу, що доступ до об’єкта ctypes через оболонку може бути " +"набагато повільнішим, ніж доступ до необробленого об’єкта ctypes." msgid "Synchronized objects support the :term:`context manager` protocol." -msgstr "" +msgstr "Синхронізовані об’єкти підтримують протокол :term:`context manager`." msgid "" "The table below compares the syntax for creating shared ctypes objects from " "shared memory with the normal ctypes syntax. (In the table ``MyStruct`` is " "some subclass of :class:`ctypes.Structure`.)" msgstr "" +"У наведеній нижче таблиці порівнюється синтаксис для створення спільних " +"об’єктів ctypes зі спільної пам’яті зі звичайним синтаксисом ctypes. (У " +"таблиці ``MyStruct`` є деякий підклас :class:`ctypes.Structure`.)" msgid "ctypes" -msgstr "" +msgstr "ctypes" msgid "sharedctypes using type" -msgstr "" +msgstr "sharedctypes за допомогою типу" msgid "sharedctypes using typecode" -msgstr "" +msgstr "sharedctypes з використанням коду типу" msgid "c_double(2.4)" -msgstr "" +msgstr "c_double (2,4)" msgid "RawValue(c_double, 2.4)" -msgstr "" +msgstr "RawValue(c_double, 2,4)" msgid "RawValue('d', 2.4)" -msgstr "" +msgstr "RawValue('d', 2,4)" msgid "MyStruct(4, 6)" -msgstr "" +msgstr "MyStruct(4, 6)" msgid "RawValue(MyStruct, 4, 6)" -msgstr "" +msgstr "RawValue(MyStruct, 4, 6)" msgid "(c_short * 7)()" -msgstr "" +msgstr "(c_short * 7)()" msgid "RawArray(c_short, 7)" -msgstr "" +msgstr "RawArray(c_short, 7)" msgid "RawArray('h', 7)" -msgstr "" +msgstr "RawArray('h', 7)" msgid "(c_int * 3)(9, 2, 8)" -msgstr "" +msgstr "(c_int * 3)(9, 2, 8)" msgid "RawArray(c_int, (9, 2, 8))" -msgstr "" +msgstr "RawArray(c_int, (9, 2, 8))" msgid "RawArray('i', (9, 2, 8))" -msgstr "" +msgstr "RawArray('i', (9, 2, 8))" msgid "" "Below is an example where a number of ctypes objects are modified by a child " "process::" msgstr "" +"Нижче наведено приклад, коли кілька об’єктів ctypes змінено дочірнім " +"процесом:" msgid "" "from multiprocessing import Process, Lock\n" @@ -1972,9 +2888,40 @@ msgid "" " print(s.value)\n" " print([(a.x, a.y) for a in A])" msgstr "" +"from multiprocessing import Process, Lock\n" +"from multiprocessing.sharedctypes import Value, Array\n" +"from ctypes import Structure, c_double\n" +"\n" +"class Point(Structure):\n" +" _fields_ = [('x', c_double), ('y', c_double)]\n" +"\n" +"def modify(n, x, s, A):\n" +" n.value **= 2\n" +" x.value **= 2\n" +" s.value = s.value.upper()\n" +" for a in A:\n" +" a.x **= 2\n" +" a.y **= 2\n" +"\n" +"if __name__ == '__main__':\n" +" lock = Lock()\n" +"\n" +" n = Value('i', 7)\n" +" x = Value(c_double, 1.0/3.0, lock=False)\n" +" s = Array('c', b'hello world', lock=lock)\n" +" A = Array(Point, [(1.875,-6.25), (-5.75,2.0), (2.375,9.5)], lock=lock)\n" +"\n" +" p = Process(target=modify, args=(n, x, s, A))\n" +" p.start()\n" +" p.join()\n" +"\n" +" print(n.value)\n" +" print(x.value)\n" +" print(s.value)\n" +" print([(a.x, a.y) for a in A])" msgid "The results printed are ::" -msgstr "" +msgstr "Надруковані результати:" msgid "" "49\n" @@ -1982,9 +2929,13 @@ msgid "" "HELLO WORLD\n" "[(3.515625, 39.0625), (33.0625, 4.0), (5.640625, 90.25)]" msgstr "" +"49\n" +"0.1111111111111111\n" +"HELLO WORLD\n" +"[(3.515625, 39.0625), (33.0625, 4.0), (5.640625, 90.25)]" msgid "Managers" -msgstr "" +msgstr "Менеджери" msgid "" "Managers provide a way to create data which can be shared between different " @@ -1993,6 +2944,11 @@ msgid "" "*shared objects*. Other processes can access the shared objects by using " "proxies." msgstr "" +"Менеджери надають можливість створювати дані, якими можна ділитися між " +"різними процесами, включно з загальним доступом через мережу між процесами, " +"що виконуються на різних машинах. Об’єкт менеджера контролює серверний " +"процес, який керує *спільними об’єктами*. Інші процеси можуть отримати " +"доступ до спільних об’єктів за допомогою проксі-серверів." msgid "" "Returns a started :class:`~multiprocessing.managers.SyncManager` object " @@ -2000,26 +2956,39 @@ msgid "" "manager object corresponds to a spawned child process and has methods which " "will create shared objects and return corresponding proxies." msgstr "" +"Повертає запущений об’єкт :class:`~multiprocessing.managers.SyncManager`, " +"який можна використовувати для спільного використання об’єктів між " +"процесами. Повернений об’єкт менеджера відповідає породженому дочірньому " +"процесу та має методи, які створюватимуть спільні об’єкти та повертатимуть " +"відповідні проксі-сервери." msgid "" "Manager processes will be shutdown as soon as they are garbage collected or " "their parent process exits. The manager classes are defined in the :mod:" "`multiprocessing.managers` module:" msgstr "" +"Процеси менеджера буде закрито, щойно їх буде зібрано сміття або їхній " +"батьківський процес завершиться. Класи менеджерів визначені в модулі :mod:" +"`multiprocessing.managers`:" msgid "Create a BaseManager object." -msgstr "" +msgstr "Створіть об’єкт BaseManager." msgid "" "Once created one should call :meth:`start` or ``get_server()." "serve_forever()`` to ensure that the manager object refers to a started " "manager process." msgstr "" +"Після створення потрібно викликати :meth:`start` або ``get_server()." +"serve_forever()``, щоб переконатися, що об’єкт менеджера посилається на " +"запущений процес менеджера." msgid "" "*address* is the address on which the manager process listens for new " "connections. If *address* is ``None`` then an arbitrary one is chosen." msgstr "" +"*адреса* — це адреса, на якій процес менеджера прослуховує нові підключення. " +"Якщо *адреса* має значення ``None``, тоді вибирається довільна адреса." msgid "" "*authkey* is the authentication key which will be used to check the validity " @@ -2027,16 +2996,25 @@ msgid "" "then ``current_process().authkey`` is used. Otherwise *authkey* is used and " "it must be a byte string." msgstr "" +"*authkey* — це ключ автентифікації, який використовуватиметься для перевірки " +"дійсності вхідних підключень до процесу сервера. Якщо *authkey* має значення " +"``None``, тоді використовується ``current_process().authkey``. В іншому " +"випадку використовується *authkey*, і це має бути рядок байтів." msgid "" "*serializer* must be ``'pickle'`` (use :mod:`pickle` serialization) or " "``'xmlrpclib'`` (use :mod:`xmlrpc.client` serialization)." msgstr "" +"*serializer* должен быть ``'pickle'`` (используйте сериализацию :mod:" +"`pickle`) или ``'xmlrpclib'`` (используйте сериализацию :mod:`xmlrpc." +"client`)." msgid "" "*ctx* is a context object, or ``None`` (use the current context). See the :" "func:`get_context` function." msgstr "" +"*ctx* — объект контекста или «Нет» (используйте текущий контекст). См. " +"функцию :func:`get_context`." msgid "" "*shutdown_timeout* is a timeout in seconds used to wait until the process " @@ -2044,20 +3022,29 @@ msgid "" "shutdown times out, the process is terminated. If terminating the process " "also times out, the process is killed." msgstr "" +"*shutdown_timeout* — это тайм-аут в секундах, используемый для ожидания " +"завершения процесса, используемого менеджером, в методе :meth:`shutdown`. " +"Если время выключения истекло, процесс завершается. Если время завершения " +"процесса также истекает, процесс завершается." msgid "Added the *shutdown_timeout* parameter." -msgstr "" +msgstr "Добавлен параметр *shutdown_timeout*." msgid "" "Start a subprocess to start the manager. If *initializer* is not ``None`` " "then the subprocess will call ``initializer(*initargs)`` when it starts." msgstr "" +"Запустіть підпроцес, щоб запустити менеджер. Якщо *initializer* не ``None``, " +"тоді підпроцес викличе ``initializer(*initargs)`` під час запуску." msgid "" "Returns a :class:`Server` object which represents the actual server under " "the control of the Manager. The :class:`Server` object supports the :meth:" "`serve_forever` method::" msgstr "" +"Повертає об’єкт :class:`Server`, який представляє фактичний сервер під " +"керуванням менеджера. Об’єкт :class:`Server` підтримує метод :meth:" +"`serve_forever`::" msgid "" ">>> from multiprocessing.managers import BaseManager\n" @@ -2065,12 +3052,17 @@ msgid "" ">>> server = manager.get_server()\n" ">>> server.serve_forever()" msgstr "" +">>> from multiprocessing.managers import BaseManager\n" +">>> manager = BaseManager(address=('', 50000), authkey=b'abc')\n" +">>> server = manager.get_server()\n" +">>> server.serve_forever()" msgid ":class:`Server` additionally has an :attr:`address` attribute." -msgstr "" +msgstr ":class:`Server` додатково має атрибут :attr:`address`." msgid "Connect a local manager object to a remote manager process::" msgstr "" +"Підключіть об’єкт локального менеджера до віддаленого процесу менеджера:" msgid "" ">>> from multiprocessing.managers import BaseManager\n" @@ -2085,19 +3077,25 @@ msgid "" "Stop the process used by the manager. This is only available if :meth:" "`start` has been used to start the server process." msgstr "" +"Зупиніть процес, який використовує менеджер. Це доступно, лише якщо :meth:" +"`start` було використано для запуску процесу сервера." msgid "This can be called multiple times." -msgstr "" +msgstr "Це можна викликати кілька разів." msgid "" "A classmethod which can be used for registering a type or callable with the " "manager class." msgstr "" +"Метод класу, який можна використовувати для реєстрації типу або виклику в " +"класі менеджера." msgid "" "*typeid* is a \"type identifier\" which is used to identify a particular " "type of shared object. This must be a string." msgstr "" +"*typeid* — це \"ідентифікатор типу\", який використовується для " +"ідентифікації певного типу спільного об’єкта. Це має бути рядок." msgid "" "*callable* is a callable used for creating objects for this type " @@ -2105,12 +3103,19 @@ msgid "" "the :meth:`connect` method, or if the *create_method* argument is ``False`` " "then this can be left as ``None``." msgstr "" +"*callable* — це виклик, який використовується для створення об’єктів для " +"ідентифікатора цього типу. Якщо екземпляр менеджера буде підключено до " +"сервера за допомогою методу :meth:`connect` або якщо аргумент " +"*create_method* має значення ``False``, тоді це можна залишити як ``None``." msgid "" "*proxytype* is a subclass of :class:`BaseProxy` which is used to create " "proxies for shared objects with this *typeid*. If ``None`` then a proxy " "class is created automatically." msgstr "" +"*proxytype* є підкласом :class:`BaseProxy`, який використовується для " +"створення проксі для спільних об’єктів із цим *typeid*. Якщо ``None``, то " +"проксі-клас створюється автоматично." msgid "" "*exposed* is used to specify a sequence of method names which proxies for " @@ -2121,6 +3126,14 @@ msgid "" "\"public method\" means any attribute which has a :meth:`~object.__call__` " "method and whose name does not begin with ``'_'``.)" msgstr "" +"*exposed* використовується для визначення послідовності назв методів, до " +"яких проксі-серверам для цього typeid має бути дозволено доступ за " +"допомогою :meth:`BaseProxy._callmethod`. (Якщо *exposed* має значення " +"``None``, тоді замість нього використовується :attr:`proxytype._exposed_`, " +"якщо він існує.) У випадку, коли відкритий список не вказано, усі " +"\"загальнодоступні методи\" спільного об’єкта будуть доступними. . (Тут " +"\"публічний метод\" означає будь-який атрибут, який має метод :meth:`~object." +"__call__` і ім’я якого не починається з ``'_'``.)" msgid "" "*method_to_typeid* is a mapping used to specify the return type of those " @@ -2130,18 +3143,30 @@ msgid "" "not a key of this mapping or if the mapping is ``None`` then the object " "returned by the method will be copied by value." msgstr "" +"*method_to_typeid* — це зіставлення, яке використовується для визначення " +"типу повернення тих відкритих методів, які мають повертати проксі. Він " +"відображає назви методів у рядках typeid. (Якщо *method_to_typeid* має " +"значення ``None``, тоді замість нього використовується :attr:`proxytype." +"_method_to_typeid_`, якщо він існує.) Якщо назва методу не є ключем цього " +"відображення або якщо відображення має значення ``None``, тоді об'єкт, " +"повернутий методом, буде скопійовано за значенням." msgid "" "*create_method* determines whether a method should be created with name " "*typeid* which can be used to tell the server process to create a new shared " "object and return a proxy for it. By default it is ``True``." msgstr "" +"*create_method* визначає, чи слід створювати метод з іменем *typeid*, яке " +"можна використовувати, щоб наказати серверному процесу створити новий " +"спільний об’єкт і повернути для нього проксі. За замовчуванням це ``True``." msgid ":class:`BaseManager` instances also have one read-only property:" msgstr "" +"Екземпляри :class:`BaseManager` також мають одну властивість лише для " +"читання:" msgid "The address used by the manager." -msgstr "" +msgstr "Адреса, яку використовує менеджер." msgid "" "Manager objects support the context management protocol -- see :ref:" @@ -2149,99 +3174,137 @@ msgid "" "process (if it has not already started) and then returns the manager " "object. :meth:`~contextmanager.__exit__` calls :meth:`shutdown`." msgstr "" +"Об’єкти менеджера підтримують протокол керування контекстом – див. :ref:" +"`typecontextmanager`. :meth:`~contextmanager.__enter__` запускає серверний " +"процес (якщо він ще не запущений), а потім повертає об’єкт менеджера. :meth:" +"`~contextmanager.__exit__` викликає :meth:`shutdown`." msgid "" "In previous versions :meth:`~contextmanager.__enter__` did not start the " "manager's server process if it was not already started." msgstr "" +"У попередніх версіях :meth:`~contextmanager.__enter__` не запускав серверний " +"процес менеджера, якщо він ще не був запущений." msgid "" "A subclass of :class:`BaseManager` which can be used for the synchronization " "of processes. Objects of this type are returned by :func:`multiprocessing." "Manager`." msgstr "" +"Підклас :class:`BaseManager`, який можна використовувати для синхронізації " +"процесів. Об’єкти цього типу повертає :func:`multiprocessing.Manager`." msgid "" "Its methods create and return :ref:`multiprocessing-proxy_objects` for a " "number of commonly used data types to be synchronized across processes. This " "notably includes shared lists and dictionaries." msgstr "" +"Його методи створюють і повертають :ref:`multiprocessing-proxy_objects` для " +"ряду типів даних, які зазвичай використовуються, щоб синхронізувати між " +"процесами. Це, зокрема, включає спільні списки та словники." msgid "" "Create a shared :class:`threading.Barrier` object and return a proxy for it." msgstr "" +"Створіть спільний об’єкт :class:`threading.Barrier` і поверніть для нього " +"проксі." msgid "" "Create a shared :class:`threading.BoundedSemaphore` object and return a " "proxy for it." msgstr "" +"Створіть спільний об’єкт :class:`threading.BoundedSemaphore` і поверніть для " +"нього проксі." msgid "" "Create a shared :class:`threading.Condition` object and return a proxy for " "it." msgstr "" +"Створіть спільний об’єкт :class:`threading.Condition` і поверніть для нього " +"проксі." msgid "" "If *lock* is supplied then it should be a proxy for a :class:`threading." "Lock` or :class:`threading.RLock` object." msgstr "" +"Якщо вказано *lock*, це має бути проксі для об’єкта :class:`threading.Lock` " +"або :class:`threading.RLock`." msgid "" "Create a shared :class:`threading.Event` object and return a proxy for it." msgstr "" +"Створіть спільний об’єкт :class:`threading.Event` і поверніть для нього " +"проксі." msgid "" "Create a shared :class:`threading.Lock` object and return a proxy for it." msgstr "" +"Створіть спільний об’єкт :class:`threading.Lock` і поверніть для нього " +"проксі." msgid "Create a shared :class:`Namespace` object and return a proxy for it." msgstr "" +"Створіть спільний об’єкт :class:`Namespace` і поверніть для нього проксі." msgid "Create a shared :class:`queue.Queue` object and return a proxy for it." msgstr "" +"Створіть спільний об’єкт :class:`queue.Queue` і поверніть для нього проксі." msgid "" "Create a shared :class:`threading.RLock` object and return a proxy for it." msgstr "" +"Створіть спільний об’єкт :class:`threading.RLock` і поверніть для нього " +"проксі." msgid "" "Create a shared :class:`threading.Semaphore` object and return a proxy for " "it." msgstr "" +"Створіть спільний об’єкт :class:`threading.Semaphore` і поверніть для нього " +"проксі." msgid "Create an array and return a proxy for it." -msgstr "" +msgstr "Створіть масив і поверніть для нього проксі." msgid "" "Create an object with a writable ``value`` attribute and return a proxy for " "it." msgstr "" +"Створіть об’єкт із доступним для запису атрибутом \"значення\" та поверніть " +"для нього проксі-сервер." msgid "Create a shared :class:`dict` object and return a proxy for it." -msgstr "" +msgstr "Створіть спільний об’єкт :class:`dict` і поверніть для нього проксі." msgid "Create a shared :class:`list` object and return a proxy for it." -msgstr "" +msgstr "Створіть спільний об’єкт :class:`list` і поверніть для нього проксі." msgid "" "Shared objects are capable of being nested. For example, a shared container " "object such as a shared list can contain other shared objects which will all " "be managed and synchronized by the :class:`SyncManager`." msgstr "" +"Спільні об’єкти можуть бути вкладеними. Наприклад, спільний об’єкт-" +"контейнер, такий як спільний список, може містити інші спільні об’єкти, " +"якими керуватиме та синхронізуватиме :class:`SyncManager`." msgid "A type that can register with :class:`SyncManager`." -msgstr "" +msgstr "Тип, який можна зареєструвати в :class:`SyncManager`." msgid "" "A namespace object has no public methods, but does have writable attributes. " "Its representation shows the values of its attributes." msgstr "" +"Об’єкт простору імен не має відкритих методів, але має атрибути, доступні " +"для запису. Його подання показує значення його атрибутів." msgid "" "However, when using a proxy for a namespace object, an attribute beginning " "with ``'_'`` will be an attribute of the proxy and not an attribute of the " "referent:" msgstr "" +"Однак, коли використовується проксі для об’єкта простору імен, атрибут, що " +"починається з ``'_''`` буде атрибутом проксі, а не атрибутом референта:" msgid "" ">>> mp_context = multiprocessing.get_context('spawn')\n" @@ -2253,15 +3316,26 @@ msgid "" ">>> print(Global)\n" "Namespace(x=10, y='hello')" msgstr "" +">>> mp_context = multiprocessing.get_context('spawn')\n" +">>> manager = mp_context.Manager()\n" +">>> Global = manager.Namespace()\n" +">>> Global.x = 10\n" +">>> Global.y = 'hello'\n" +">>> Global._z = 12.3 # this is an attribute of the proxy\n" +">>> print(Global)\n" +"Namespace(x=10, y='hello')" msgid "Customized managers" -msgstr "" +msgstr "Індивідуальні менеджери" msgid "" "To create one's own manager, one creates a subclass of :class:`BaseManager` " "and uses the :meth:`~BaseManager.register` classmethod to register new types " "or callables with the manager class. For example::" msgstr "" +"Щоб створити власний менеджер, потрібно створити підклас :class:" +"`BaseManager` і використовувати метод класу :meth:`~BaseManager.register` " +"для реєстрації нових типів або викликів у класі менеджера. Наприклад::" msgid "" "from multiprocessing.managers import BaseManager\n" @@ -2283,19 +3357,42 @@ msgid "" " print(maths.add(4, 3)) # prints 7\n" " print(maths.mul(7, 8)) # prints 56" msgstr "" +"from multiprocessing.managers import BaseManager\n" +"\n" +"class MathsClass:\n" +" def add(self, x, y):\n" +" return x + y\n" +" def mul(self, x, y):\n" +" return x * y\n" +"\n" +"class MyManager(BaseManager):\n" +" pass\n" +"\n" +"MyManager.register('Maths', MathsClass)\n" +"\n" +"if __name__ == '__main__':\n" +" with MyManager() as manager:\n" +" maths = manager.Maths()\n" +" print(maths.add(4, 3)) # prints 7\n" +" print(maths.mul(7, 8)) # prints 56" msgid "Using a remote manager" -msgstr "" +msgstr "Використання віддаленого менеджера" msgid "" "It is possible to run a manager server on one machine and have clients use " "it from other machines (assuming that the firewalls involved allow it)." msgstr "" +"Можна запустити керуючий сервер на одній машині, а клієнти " +"використовуватимуть його з інших машин (за умови, що задіяні брандмауери " +"дозволяють це)." msgid "" "Running the following commands creates a server for a single shared queue " "which remote clients can access::" msgstr "" +"Виконання наступних команд створює сервер для однієї спільної черги, до якої " +"мають доступ віддалені клієнти:" msgid "" ">>> from multiprocessing.managers import BaseManager\n" @@ -2307,9 +3404,17 @@ msgid "" ">>> s = m.get_server()\n" ">>> s.serve_forever()" msgstr "" +">>> from multiprocessing.managers import BaseManager\n" +">>> from queue import Queue\n" +">>> queue = Queue()\n" +">>> class QueueManager(BaseManager): pass\n" +">>> QueueManager.register('get_queue', callable=lambda:queue)\n" +">>> m = QueueManager(address=('', 50000), authkey=b'abracadabra')\n" +">>> s = m.get_server()\n" +">>> s.serve_forever()" msgid "One client can access the server as follows::" -msgstr "" +msgstr "Один клієнт може отримати доступ до сервера наступним чином:" msgid "" ">>> from multiprocessing.managers import BaseManager\n" @@ -2321,9 +3426,17 @@ msgid "" ">>> queue = m.get_queue()\n" ">>> queue.put('hello')" msgstr "" +">>> from multiprocessing.managers import BaseManager\n" +">>> class QueueManager(BaseManager): pass\n" +">>> QueueManager.register('get_queue')\n" +">>> m = QueueManager(address=('foo.bar.org', 50000), " +"authkey=b'abracadabra')\n" +">>> m.connect()\n" +">>> queue = m.get_queue()\n" +">>> queue.put('hello')" msgid "Another client can also use it::" -msgstr "" +msgstr "Інший клієнт також може використовувати його:" msgid "" ">>> from multiprocessing.managers import BaseManager\n" @@ -2336,11 +3449,22 @@ msgid "" ">>> queue.get()\n" "'hello'" msgstr "" +">>> from multiprocessing.managers import BaseManager\n" +">>> class QueueManager(BaseManager): pass\n" +">>> QueueManager.register('get_queue')\n" +">>> m = QueueManager(address=('foo.bar.org', 50000), " +"authkey=b'abracadabra')\n" +">>> m.connect()\n" +">>> queue = m.get_queue()\n" +">>> queue.get()\n" +"'hello'" msgid "" "Local processes can also access that queue, using the code from above on the " "client to access it remotely::" msgstr "" +"Локальні процеси також можуть отримати доступ до цієї черги, використовуючи " +"код вище на клієнті для доступу до неї віддалено:" msgid "" ">>> from multiprocessing import Process, Queue\n" @@ -2362,15 +3486,36 @@ msgid "" ">>> s = m.get_server()\n" ">>> s.serve_forever()" msgstr "" +">>> from multiprocessing import Process, Queue\n" +">>> from multiprocessing.managers import BaseManager\n" +">>> class Worker(Process):\n" +"... def __init__(self, q):\n" +"... self.q = q\n" +"... super().__init__()\n" +"... def run(self):\n" +"... self.q.put('local hello')\n" +"...\n" +">>> queue = Queue()\n" +">>> w = Worker(queue)\n" +">>> w.start()\n" +">>> class QueueManager(BaseManager): pass\n" +"...\n" +">>> QueueManager.register('get_queue', callable=lambda: queue)\n" +">>> m = QueueManager(address=('', 50000), authkey=b'abracadabra')\n" +">>> s = m.get_server()\n" +">>> s.serve_forever()" msgid "Proxy Objects" -msgstr "" +msgstr "Проксі об'єкти" msgid "" "A proxy is an object which *refers* to a shared object which lives " "(presumably) in a different process. The shared object is said to be the " "*referent* of the proxy. Multiple proxy objects may have the same referent." msgstr "" +"Проксі — це об’єкт, який *посилається* на спільний об’єкт, який живе " +"(імовірно) в іншому процесі. Спільний об’єкт називається *референтом* " +"проксі. Кілька проксі-об’єктів можуть мати один і той же референт." msgid "" "A proxy object has methods which invoke corresponding methods of its " @@ -2378,6 +3523,9 @@ msgid "" "available through the proxy). In this way, a proxy can be used just like " "its referent can:" msgstr "" +"Проксі-об’єкт має методи, які викликають відповідні методи його референта " +"(хоча не кожен метод референта обов’язково буде доступним через проксі). " +"Таким чином, проксі можна використовувати так само, як і його референт:" msgid "" ">>> mp_context = multiprocessing.get_context('spawn')\n" @@ -2392,12 +3540,25 @@ msgid "" ">>> l[2:5]\n" "[4, 9, 16]" msgstr "" +">>> mp_context = multiprocessing.get_context('spawn')\n" +">>> manager = mp_context.Manager()\n" +">>> l = manager.list([i*i for i in range(10)])\n" +">>> print(l)\n" +"[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]\n" +">>> print(repr(l))\n" +"\n" +">>> l[4]\n" +"16\n" +">>> l[2:5]\n" +"[4, 9, 16]" msgid "" "Notice that applying :func:`str` to a proxy will return the representation " "of the referent, whereas applying :func:`repr` will return the " "representation of the proxy." msgstr "" +"Зауважте, що застосування :func:`str` до проксі поверне подання референта, " +"тоді як застосування :func:`repr` поверне подання проксі." msgid "" "An important feature of proxy objects is that they are picklable so they can " @@ -2405,6 +3566,10 @@ msgid "" "`multiprocessing-proxy_objects`. This permits nesting of these managed " "lists, dicts, and other :ref:`multiprocessing-proxy_objects`:" msgstr "" +"Важливою особливістю проксі-об’єктів є те, що їх можна вибирати, тому їх " +"можна передавати між процесами. Таким чином, референт може містити :ref:" +"`multiprocessing-proxy_objects`. Це дозволяє вкладати ці керовані списки, " +"dicts та інші :ref:`multiprocessing-proxy_objects`:" msgid "" ">>> a = manager.list()\n" @@ -2416,9 +3581,18 @@ msgid "" ">>> print(a[0], b)\n" "['hello'] ['hello']" msgstr "" +">>> a = manager.list()\n" +">>> b = manager.list()\n" +">>> a.append(b) # referent of a now contains referent of b\n" +">>> print(a, b)\n" +"[] []\n" +">>> b.append('hello')\n" +">>> print(a[0], b)\n" +"['hello'] ['hello']" msgid "Similarly, dict and list proxies may be nested inside one another::" msgstr "" +"Подібним чином, проксі dict і список можуть бути вкладені один в одного:" msgid "" ">>> l_outer = manager.list([ manager.dict() for i in range(2) ])\n" @@ -2432,6 +3606,16 @@ msgid "" ">>> print(l_outer[1])\n" "{'c': 3, 'z': 26}" msgstr "" +">>> l_outer = manager.list([ manager.dict() for i in range(2) ])\n" +">>> d_first_inner = l_outer[0]\n" +">>> d_first_inner['a'] = 1\n" +">>> d_first_inner['b'] = 2\n" +">>> l_outer[1]['c'] = 3\n" +">>> l_outer[1]['z'] = 26\n" +">>> print(l_outer[0])\n" +"{'a': 1, 'b': 2}\n" +">>> print(l_outer[1])\n" +"{'c': 3, 'z': 26}" msgid "" "If standard (non-proxy) :class:`list` or :class:`dict` objects are contained " @@ -2442,6 +3626,13 @@ msgid "" "through the manager and so to effectively modify such an item, one could re-" "assign the modified value to the container proxy::" msgstr "" +"Якщо стандартні (не проксі) :class:`list` або :class:`dict` об’єкти " +"містяться в референті, модифікації цих змінних значень не поширюватимуться " +"через менеджер, оскільки проксі не може дізнатися, коли значення що " +"містяться в них, змінено. Однак збереження значення в проксі-контейнері (що " +"запускає ``__setitem__`` в проксі-об’єкті) поширюється через менеджер, тому " +"для ефективної зміни такого елемента можна повторно призначити змінене " +"значення проксі-серверу контейнера: :" msgid "" "# create a list proxy and append a mutable object (a dictionary)\n" @@ -2455,17 +3646,32 @@ msgid "" "# updating the dictionary, the proxy is notified of the change\n" "lproxy[0] = d" msgstr "" +"# create a list proxy and append a mutable object (a dictionary)\n" +"lproxy = manager.list()\n" +"lproxy.append({})\n" +"# now mutate the dictionary\n" +"d = lproxy[0]\n" +"d['a'] = 1\n" +"d['b'] = 2\n" +"# at this point, the changes to d are not yet synced, but by\n" +"# updating the dictionary, the proxy is notified of the change\n" +"lproxy[0] = d" msgid "" "This approach is perhaps less convenient than employing nested :ref:" "`multiprocessing-proxy_objects` for most use cases but also demonstrates a " "level of control over the synchronization." msgstr "" +"Цей підхід, можливо, менш зручний, ніж використання вкладених :ref:" +"`multiprocessing-proxy_objects` для більшості випадків використання, але " +"також демонструє рівень контролю над синхронізацією." msgid "" "The proxy types in :mod:`multiprocessing` do nothing to support comparisons " "by value. So, for instance, we have:" msgstr "" +"Проксі-типи в :mod:`multiprocessing` не підтримують порівняння за значенням. " +"Так, наприклад, ми маємо:" msgid "" ">>> manager.list([1,2,3]) == [1,2,3]\n" @@ -2476,35 +3682,38 @@ msgstr "" msgid "" "One should just use a copy of the referent instead when making comparisons." -msgstr "" +msgstr "Під час порівнянь слід просто використовувати копію референта." msgid "Proxy objects are instances of subclasses of :class:`BaseProxy`." -msgstr "" +msgstr "Проксі-об’єкти є екземплярами підкласів :class:`BaseProxy`." msgid "Call and return the result of a method of the proxy's referent." -msgstr "" +msgstr "Виклик і повернення результату методу референта проксі." msgid "" "If ``proxy`` is a proxy whose referent is ``obj`` then the expression ::" -msgstr "" +msgstr "Якщо ``proxy`` є проксі, референтом якого є ``obj``, тоді вираз ::" msgid "proxy._callmethod(methodname, args, kwds)" -msgstr "" +msgstr "proxy._callmethod(methodname, args, kwds)" msgid "will evaluate the expression ::" -msgstr "" +msgstr "обчислить вираз ::" msgid "getattr(obj, methodname)(*args, **kwds)" -msgstr "" +msgstr "getattr(obj, methodname)(*args, **kwds)" msgid "in the manager's process." -msgstr "" +msgstr "в процесі менеджера." msgid "" "The returned value will be a copy of the result of the call or a proxy to a " "new shared object -- see documentation for the *method_to_typeid* argument " "of :meth:`BaseManager.register`." msgstr "" +"Поверненим значенням буде копія результату виклику або проксі для нового " +"спільного об’єкта – див. документацію щодо аргументу *method_to_typeid* :" +"meth:`BaseManager.register`." msgid "" "If an exception is raised by the call, then is re-raised by :meth:" @@ -2512,14 +3721,19 @@ msgid "" "then this is converted into a :exc:`RemoteError` exception and is raised by :" "meth:`_callmethod`." msgstr "" +"Якщо виклик викликає виняток, він повторно викликається :meth:`_callmethod`. " +"Якщо в процесі менеджера виникає інший виняток, він перетворюється на " +"виняток :exc:`RemoteError` і викликається :meth:`_callmethod`." msgid "" "Note in particular that an exception will be raised if *methodname* has not " "been *exposed*." msgstr "" +"Зокрема, зауважте, що виняток буде створено, якщо *methodname* не було " +"*виявлено*." msgid "An example of the usage of :meth:`_callmethod`:" -msgstr "" +msgstr "Приклад використання :meth:`_callmethod`:" msgid "" ">>> l = manager.list(range(10))\n" @@ -2532,55 +3746,78 @@ msgid "" "...\n" "IndexError: list index out of range" msgstr "" +">>> l = manager.list(range(10))\n" +">>> l._callmethod('__len__')\n" +"10\n" +">>> l._callmethod('__getitem__', (slice(2, 7),)) # equivalent to l[2:7]\n" +"[2, 3, 4, 5, 6]\n" +">>> l._callmethod('__getitem__', (20,)) # equivalent to l[20]\n" +"Traceback (most recent call last):\n" +"...\n" +"IndexError: list index out of range" msgid "Return a copy of the referent." -msgstr "" +msgstr "Повернути копію референту." msgid "If the referent is unpicklable then this will raise an exception." -msgstr "" +msgstr "Якщо референт неможливо вибрати, це спричинить виняток." msgid "Return a representation of the proxy object." -msgstr "" +msgstr "Повертає представлення проксі-об’єкта." msgid "Return the representation of the referent." -msgstr "" +msgstr "Повернути представлення референта." msgid "Cleanup" -msgstr "" +msgstr "Прибирати" msgid "" "A proxy object uses a weakref callback so that when it gets garbage " "collected it deregisters itself from the manager which owns its referent." msgstr "" +"Проксі-об’єкт використовує зворотний виклик weakref, щоб, коли він збирає " +"сміття, він скасовує реєстрацію в менеджері, якому належить його референт." msgid "" "A shared object gets deleted from the manager process when there are no " "longer any proxies referring to it." msgstr "" +"Спільний об’єкт видаляється з процесу менеджера, коли більше немає проксі-" +"серверів, які посилаються на нього." msgid "Process Pools" -msgstr "" +msgstr "Пули процесів" msgid "" "One can create a pool of processes which will carry out tasks submitted to " "it with the :class:`Pool` class." msgstr "" +"Можна створити пул процесів, які виконуватимуть передані йому завдання за " +"допомогою класу :class:`Pool`." msgid "" "A process pool object which controls a pool of worker processes to which " "jobs can be submitted. It supports asynchronous results with timeouts and " "callbacks and has a parallel map implementation." msgstr "" +"Об’єкт пулу процесів, який керує пулом робочих процесів, до яких можна " +"надсилати завдання. Він підтримує асинхронні результати з тайм-аутами та " +"зворотними викликами та має реалізацію паралельної карти." msgid "" "*processes* is the number of worker processes to use. If *processes* is " "``None`` then the number returned by :func:`os.process_cpu_count` is used." msgstr "" +"*processes* — количество используемых рабочих процессов. Если *processes* " +"имеет значение None, то используется число, возвращаемое :func:`os." +"process_cpu_count`." msgid "" "If *initializer* is not ``None`` then each worker process will call " "``initializer(*initargs)`` when it starts." msgstr "" +"Якщо *initializer* не ``None``, тоді кожен робочий процес викличе " +"``initializer(*initargs)`` під час свого запуску." msgid "" "*maxtasksperchild* is the number of tasks a worker process can complete " @@ -2588,6 +3825,10 @@ msgid "" "unused resources to be freed. The default *maxtasksperchild* is ``None``, " "which means worker processes will live as long as the pool." msgstr "" +"*maxtasksperchild* — це кількість завдань, які робочий процес може виконати, " +"перш ніж він вийде та буде замінений новим робочим процесом, щоб звільнити " +"невикористані ресурси. Типовим значенням *maxtasksperchild* є ``None``, що " +"означає, що робочі процеси живуть стільки ж, скільки пул." msgid "" "*context* can be used to specify the context used for starting the worker " @@ -2595,11 +3836,17 @@ msgid "" "`multiprocessing.Pool` or the :meth:`Pool` method of a context object. In " "both cases *context* is set appropriately." msgstr "" +"*context* можна використовувати для визначення контексту, який " +"використовується для запуску робочих процесів. Зазвичай пул створюється за " +"допомогою функції :func:`multiprocessing.Pool` або методу :meth:`Pool` " +"контекстного об’єкта. В обох випадках *контекст* встановлено належним чином." msgid "" "Note that the methods of the pool object should only be called by the " "process which created the pool." msgstr "" +"Зауважте, що методи об’єкта пулу має викликати тільки процес, який створив " +"пул." msgid "" ":class:`multiprocessing.pool` objects have internal resources that need to " @@ -2607,23 +3854,33 @@ msgid "" "manager or by calling :meth:`close` and :meth:`terminate` manually. Failure " "to do this can lead to the process hanging on finalization." msgstr "" +"Об’єкти :class:`multiprocessing.pool` мають внутрішні ресурси, якими " +"потрібно належним чином керувати (як і будь-яким іншим ресурсом), " +"використовуючи пул як контекстний менеджер або викликаючи :meth:`close` і :" +"meth:`terminate` вручну. Якщо цього не зробити, процес може призупинити " +"завершення." msgid "" "Note that it is **not correct** to rely on the garbage collector to destroy " "the pool as CPython does not assure that the finalizer of the pool will be " "called (see :meth:`object.__del__` for more information)." msgstr "" +"Зауважте, що **некоректно** покладатися на збирач сміття для знищення пулу, " +"оскільки CPython не гарантує, що буде викликано фіналізатор пулу (див. :meth:" +"`object.__del__` для отримання додаткової інформації)." msgid "Added the *maxtasksperchild* parameter." -msgstr "" +msgstr "Добавлен параметр *maxtasksperchild*." msgid "Added the *context* parameter." -msgstr "" +msgstr "Добавлен параметр *context*." msgid "" "*processes* uses :func:`os.process_cpu_count` by default, instead of :func:" "`os.cpu_count`." msgstr "" +"*processes* по умолчанию использует :func:`os.process_cpu_count` вместо :" +"func:`os.cpu_count`." msgid "" "Worker processes within a :class:`Pool` typically live for the complete " @@ -2634,6 +3891,13 @@ msgid "" "one. The *maxtasksperchild* argument to the :class:`Pool` exposes this " "ability to the end user." msgstr "" +"Робочі процеси в межах :class:`Pool` зазвичай живі протягом повної " +"тривалості робочої черги пулу. Частий шаблон, який зустрічається в інших " +"системах (таких як Apache, mod_wsgi тощо) для звільнення ресурсів, які " +"зберігаються робочими засобами, полягає в тому, щоб дозволити робочому в " +"межах пулу завершити лише певний обсяг роботи перед виходом, очищенням і " +"породженням нового процесу на заміну старого. Аргумент *maxtasksperchild* " +"для :class:`Pool` надає цю можливість кінцевому користувачеві." msgid "" "Call *func* with arguments *args* and keyword arguments *kwds*. It blocks " @@ -2641,11 +3905,17 @@ msgid "" "suited for performing work in parallel. Additionally, *func* is only " "executed in one of the workers of the pool." msgstr "" +"Виклик *func* з аргументами *args* і ключовими аргументами *kwds*. " +"Блокується, поки не буде готовий результат. Враховуючи ці блоки, :meth:" +"`apply_async` краще підходить для виконання роботи паралельно. Крім того, " +"*func* виконується лише в одному з воркерів пулу." msgid "" "A variant of the :meth:`apply` method which returns a :class:" "`~multiprocessing.pool.AsyncResult` object." msgstr "" +"Варіант методу :meth:`apply`, який повертає об’єкт :class:`~multiprocessing." +"pool.AsyncResult`." msgid "" "If *callback* is specified then it should be a callable which accepts a " @@ -2653,49 +3923,73 @@ msgid "" "that is unless the call failed, in which case the *error_callback* is " "applied instead." msgstr "" +"Якщо вказано *callback*, це має бути виклик, який приймає один аргумент. " +"Коли результат стає готовим, до нього застосовується *callback*, якщо тільки " +"виклик не вдався, у цьому випадку замість нього застосовується " +"*error_callback*." msgid "" "If *error_callback* is specified then it should be a callable which accepts " "a single argument. If the target function fails, then the *error_callback* " "is called with the exception instance." msgstr "" +"Якщо вказано *error_callback*, це має бути виклик, який приймає один " +"аргумент. Якщо цільова функція дає збій, то *error_callback* викликається з " +"екземпляром винятку." msgid "" "Callbacks should complete immediately since otherwise the thread which " "handles the results will get blocked." msgstr "" +"Зворотні виклики мають завершитися негайно, інакше потік, який обробляє " +"результати, буде заблоковано." msgid "" "A parallel equivalent of the :func:`map` built-in function (it supports only " "one *iterable* argument though, for multiple iterables see :meth:`starmap`). " "It blocks until the result is ready." msgstr "" +"Паралельний еквівалент вбудованої функції :func:`map` (хоча вона підтримує " +"лише один аргумент *iterable*, для кількох ітерацій див. :meth:`starmap`). " +"Блокується, поки не буде готовий результат." msgid "" "This method chops the iterable into a number of chunks which it submits to " "the process pool as separate tasks. The (approximate) size of these chunks " "can be specified by setting *chunksize* to a positive integer." msgstr "" +"Цей метод розбиває iterable на декілька фрагментів, які він надсилає до пулу " +"процесів як окремі завдання. (Приблизний) розмір цих фрагментів можна " +"вказати, встановивши для *chunksize* додатне ціле число." msgid "" "Note that it may cause high memory usage for very long iterables. Consider " "using :meth:`imap` or :meth:`imap_unordered` with explicit *chunksize* " "option for better efficiency." msgstr "" +"Зауважте, що це може спричинити велике використання пам’яті для дуже довгих " +"ітерацій. Розгляньте можливість використання :meth:`imap` або :meth:" +"`imap_unordered` з явним параметром *chunksize* для кращої ефективності." msgid "" "A variant of the :meth:`.map` method which returns a :class:" "`~multiprocessing.pool.AsyncResult` object." msgstr "" +"Варіант методу :meth:`.map`, який повертає об’єкт :class:`~multiprocessing." +"pool.AsyncResult`." msgid "A lazier version of :meth:`.map`." -msgstr "" +msgstr "Ленича версія :meth:`.map`." msgid "" "The *chunksize* argument is the same as the one used by the :meth:`.map` " "method. For very long iterables using a large value for *chunksize* can " "make the job complete **much** faster than using the default value of ``1``." msgstr "" +"Аргумент *chunksize* такий самий, як той, який використовується методом :" +"meth:`.map`. Для дуже довгих ітерацій використання великого значення для " +"*chunksize* може зробити роботу завершеною **набагато** швидше, ніж " +"використання значення за замовчуванням ``1``." msgid "" "Also if *chunksize* is ``1`` then the :meth:`!next` method of the iterator " @@ -2703,55 +3997,79 @@ msgid "" "``next(timeout)`` will raise :exc:`multiprocessing.TimeoutError` if the " "result cannot be returned within *timeout* seconds." msgstr "" +"Крім того, якщо *chunksize* дорівнює ``1``, тоді метод :meth:`!next` " +"ітератора, який повертає метод :meth:`imap`, має додатковий параметр " +"*timeout*: ``next(timeout)`` викличе :exc:`multiprocessing.TimeoutError`, " +"якщо результат не може бути повернутий протягом *часу очікування* секунд." msgid "" "The same as :meth:`imap` except that the ordering of the results from the " "returned iterator should be considered arbitrary. (Only when there is only " "one worker process is the order guaranteed to be \"correct\".)" msgstr "" +"Те саме, що :meth:`imap`, за винятком того, що порядок результатів від " +"повернутого ітератора слід вважати довільним. (Тільки коли є лише один " +"робочий процес, порядок гарантовано буде \"правильним\".)" msgid "" "Like :meth:`~multiprocessing.pool.Pool.map` except that the elements of the " "*iterable* are expected to be iterables that are unpacked as arguments." msgstr "" +"Подібно до :meth:`~multiprocessing.pool.Pool.map`, за винятком того, що " +"елементи *iterable* мають бути ітерованими, які розпаковуються як аргументи." msgid "" "Hence an *iterable* of ``[(1,2), (3, 4)]`` results in ``[func(1,2), " "func(3,4)]``." msgstr "" +"Тому *ітерація* ``[(1,2), (3, 4)]`` призводить до ``[func(1,2), func(3,4)]``." msgid "" "A combination of :meth:`starmap` and :meth:`map_async` that iterates over " "*iterable* of iterables and calls *func* with the iterables unpacked. " "Returns a result object." msgstr "" +"Комбінація :meth:`starmap` і :meth:`map_async`, яка виконує ітерацію по " +"*iterable* ітерацій і викликає *func* з розпакованими ітераціями. Повертає " +"об’єкт результату." msgid "" "Prevents any more tasks from being submitted to the pool. Once all the " "tasks have been completed the worker processes will exit." msgstr "" +"Запобігає надсиланню додаткових завдань до пулу. Після виконання всіх " +"завдань робочі процеси завершаться." msgid "" "Stops the worker processes immediately without completing outstanding work. " "When the pool object is garbage collected :meth:`terminate` will be called " "immediately." msgstr "" +"Негайно зупиняє робочі процеси, не завершуючи незавершену роботу. Коли " +"об’єкт пулу збирається як сміття, негайно буде викликано :meth:`terminate`." msgid "" "Wait for the worker processes to exit. One must call :meth:`close` or :meth:" "`terminate` before using :meth:`join`." msgstr "" +"Зачекайте, поки робочі процеси завершаться. Потрібно викликати :meth:`close` " +"або :meth:`terminate` перед використанням :meth:`join`." msgid "" "Pool objects now support the context management protocol -- see :ref:" "`typecontextmanager`. :meth:`~contextmanager.__enter__` returns the pool " "object, and :meth:`~contextmanager.__exit__` calls :meth:`terminate`." msgstr "" +"Об’єкти пулу тепер підтримують протокол керування контекстом – див. :ref:" +"`typecontextmanager`. :meth:`~contextmanager.__enter__` повертає об’єкт " +"пулу, а :meth:`~contextmanager.__exit__` викликає :meth:`terminate`." msgid "" "The class of the result returned by :meth:`Pool.apply_async` and :meth:`Pool." "map_async`." msgstr "" +"Клас результату, який повертають :meth:`Pool.apply_async` і :meth:`Pool." +"map_async`." msgid "" "Return the result when it arrives. If *timeout* is not ``None`` and the " @@ -2759,25 +4077,34 @@ msgid "" "TimeoutError` is raised. If the remote call raised an exception then that " "exception will be reraised by :meth:`get`." msgstr "" +"Поверніть результат, коли він надійде. Якщо *timeout* не ``None`` і " +"результат не надходить протягом *timeout* секунд, тоді виникає :exc:" +"`multiprocessing.TimeoutError`. Якщо віддалений виклик викликав виняток, цей " +"виняток буде повторно викликано :meth:`get`." msgid "Wait until the result is available or until *timeout* seconds pass." msgstr "" +"Зачекайте, поки буде доступний результат або поки не мине *тайм-аут* секунди." msgid "Return whether the call has completed." -msgstr "" +msgstr "Повідомити, чи завершено виклик." msgid "" "Return whether the call completed without raising an exception. Will raise :" "exc:`ValueError` if the result is not ready." msgstr "" +"Повертає, чи завершено виклик без виклику винятку. Викличе :exc:" +"`ValueError`, якщо результат не готовий." msgid "" "If the result is not ready, :exc:`ValueError` is raised instead of :exc:" "`AssertionError`." msgstr "" +"Якщо результат не готовий, замість :exc:`AssertionError` виникає :exc:" +"`ValueError`." msgid "The following example demonstrates the use of a pool::" -msgstr "" +msgstr "Наступний приклад демонструє використання пулу:" msgid "" "from multiprocessing import Pool\n" @@ -2805,14 +4132,41 @@ msgid "" " print(result.get(timeout=1)) # raises multiprocessing." "TimeoutError" msgstr "" +"from multiprocessing import Pool\n" +"import time\n" +"\n" +"def f(x):\n" +" return x*x\n" +"\n" +"if __name__ == '__main__':\n" +" with Pool(processes=4) as pool: # start 4 worker processes\n" +" result = pool.apply_async(f, (10,)) # evaluate \"f(10)\" " +"asynchronously in a single process\n" +" print(result.get(timeout=1)) # prints \"100\" unless your " +"computer is *very* slow\n" +"\n" +" print(pool.map(f, range(10))) # prints \"[0, 1, 4,..., 81]\"\n" +"\n" +" it = pool.imap(f, range(10))\n" +" print(next(it)) # prints \"0\"\n" +" print(next(it)) # prints \"1\"\n" +" print(it.next(timeout=1)) # prints \"4\" unless your " +"computer is *very* slow\n" +"\n" +" result = pool.apply_async(time.sleep, (10,))\n" +" print(result.get(timeout=1)) # raises multiprocessing." +"TimeoutError" msgid "Listeners and Clients" -msgstr "" +msgstr "Слухачі та клієнти" msgid "" "Usually message passing between processes is done using queues or by using :" "class:`~Connection` objects returned by :func:`~multiprocessing.Pipe`." msgstr "" +"Зазвичай передача повідомлень між процесами здійснюється за допомогою черг " +"або за допомогою об’єктів :class:`~Connection`, які повертає :func:" +"`~multiprocessing.Pipe`." msgid "" "However, the :mod:`multiprocessing.connection` module allows some extra " @@ -2821,38 +4175,57 @@ msgid "" "*digest authentication* using the :mod:`hmac` module, and for polling " "multiple connections at the same time." msgstr "" +"Однак модуль :mod:`multiprocessing.connection` забезпечує додаткову " +"гнучкість. По суті, це надає API високого рівня, орієнтований на " +"повідомлення, для роботи з сокетами або іменованими каналами Windows. Він " +"також підтримує *дайджест-автентифікацію* за допомогою модуля :mod:`hmac` і " +"для опитування кількох з’єднань одночасно." msgid "" "Send a randomly generated message to the other end of the connection and " "wait for a reply." msgstr "" +"Надішліть випадково згенероване повідомлення на інший кінець з’єднання та " +"дочекайтеся відповіді." msgid "" "If the reply matches the digest of the message using *authkey* as the key " "then a welcome message is sent to the other end of the connection. " "Otherwise :exc:`~multiprocessing.AuthenticationError` is raised." msgstr "" +"Якщо відповідь відповідає дайджесту повідомлення з використанням *authkey* " +"як ключа, тоді на інший кінець з’єднання надсилається вітальне повідомлення. " +"Інакше виникає :exc:`~multiprocessing.AuthenticationError`." msgid "" "Receive a message, calculate the digest of the message using *authkey* as " "the key, and then send the digest back." msgstr "" +"Отримайте повідомлення, обчисліть дайджест повідомлення, використовуючи " +"*authkey* як ключ, а потім надішліть дайджест назад." msgid "" "If a welcome message is not received, then :exc:`~multiprocessing." "AuthenticationError` is raised." msgstr "" +"Якщо вітальне повідомлення не отримано, виникає :exc:`~multiprocessing." +"AuthenticationError`." msgid "" "Attempt to set up a connection to the listener which is using address " "*address*, returning a :class:`~Connection`." msgstr "" +"Спроба встановити з’єднання зі слухачем, який використовує адресу *address*, " +"повертаючи :class:`~Connection`." msgid "" "The type of the connection is determined by *family* argument, but this can " "generally be omitted since it can usually be inferred from the format of " "*address*. (See :ref:`multiprocessing-address-formats`)" msgstr "" +"Тип з’єднання визначається аргументом *family*, але зазвичай його можна " +"опустити, оскільки його зазвичай можна визначити з формату *address*. (Див. :" +"ref:`multiprocessing-address-formats`)" msgid "" "If *authkey* is given and not ``None``, it should be a byte string and will " @@ -2861,22 +4234,35 @@ msgid "" "AuthenticationError` is raised if authentication fails. See :ref:" "`multiprocessing-auth-keys`." msgstr "" +"Если указан *authkey*, а не ``None``, это должна быть байтовая строка, " +"которая будет использоваться в качестве секретного ключа для проверки " +"подлинности на основе HMAC. Аутентификация не выполняется, если *authkey* " +"имеет значение «None». :exc:`~multiprocessing.AuthenticationError` " +"возникает, если аутентификация не удалась. См. :ref:`multiprocessing-auth-" +"keys`." msgid "" "A wrapper for a bound socket or Windows named pipe which is 'listening' for " "connections." msgstr "" +"Обгортка для пов’язаного сокета або каналу з іменем Windows, який \"слухає\" " +"з’єднання." msgid "" "*address* is the address to be used by the bound socket or named pipe of the " "listener object." msgstr "" +"*address* — це адреса, яка буде використовуватися зв’язаним сокетом або " +"іменованим каналом об’єкта слухача." msgid "" "If an address of '0.0.0.0' is used, the address will not be a connectable " "end point on Windows. If you require a connectable end-point, you should use " "'127.0.0.1'." msgstr "" +"Якщо використовується адреса \"0.0.0.0\", ця адреса не буде кінцевою точкою " +"підключення в Windows. Якщо вам потрібна підключена кінцева точка, вам слід " +"використовувати \"127.0.0.1\"." msgid "" "*family* is the type of socket (or named pipe) to use. This can be one of " @@ -2890,41 +4276,66 @@ msgid "" "then the socket will be created in a private temporary directory created " "using :func:`tempfile.mkstemp`." msgstr "" +"*сімейство* — це тип розетки (або названої труби), яку слід використовувати. " +"Це може бути один із рядків ``'AF_INET'`` (для сокета TCP), ``'AF_UNIX'`` " +"(для сокета домену Unix) або ``'AF_PIPE''`` (для іменованого каналу " +"Windows) . З них лише перший гарантовано доступний. Якщо *family* має " +"значення ``None``, тоді сім'я виводиться з формату *address*. Якщо *адреса* " +"також ``None``, тоді вибрано значення за замовчуванням. Це за замовчуванням " +"сімейство, яке вважається найшвидшим із доступних. Дивіться :ref:" +"`multiprocessing-address-formats`. Зауважте, що якщо *сімейство* має " +"значення ``'AF_UNIX``, а адреса ``None``, то сокет буде створено в " +"приватному тимчасовому каталозі, створеному за допомогою :func:`tempfile." +"mkstemp`." msgid "" "If the listener object uses a socket then *backlog* (1 by default) is passed " "to the :meth:`~socket.socket.listen` method of the socket once it has been " "bound." msgstr "" +"Якщо об’єкт слухача використовує сокет, тоді *backlog* (1 за замовчуванням) " +"передається в метод :meth:`~socket.socket.listen` сокета після того, як його " +"буде зв’язано." msgid "" "Accept a connection on the bound socket or named pipe of the listener object " "and return a :class:`~Connection` object. If authentication is attempted and " "fails, then :exc:`~multiprocessing.AuthenticationError` is raised." msgstr "" +"Прийняти підключення до зв’язаного сокета або іменованого каналу об’єкта " +"слухача та повернути об’єкт :class:`~Connection`. Якщо спроба автентифікації " +"не вдається, виникає :exc:`~multiprocessing.AuthenticationError`." msgid "" "Close the bound socket or named pipe of the listener object. This is called " "automatically when the listener is garbage collected. However it is " "advisable to call it explicitly." msgstr "" +"Закрийте прив’язаний сокет або іменований канал об’єкта слухача. Це " +"викликається автоматично, коли слухач збирає сміття. Однак бажано називати " +"це явно." msgid "Listener objects have the following read-only properties:" -msgstr "" +msgstr "Об’єкти слухача мають такі властивості лише для читання:" msgid "The address which is being used by the Listener object." -msgstr "" +msgstr "Адреса, яка використовується об’єктом Listener." msgid "" "The address from which the last accepted connection came. If this is " "unavailable then it is ``None``." msgstr "" +"Адреса, з якої надійшло останнє прийняте підключення. Якщо це недоступно, це " +"``None``." msgid "" "Listener objects now support the context management protocol -- see :ref:" "`typecontextmanager`. :meth:`~contextmanager.__enter__` returns the " "listener object, and :meth:`~contextmanager.__exit__` calls :meth:`close`." msgstr "" +"Об’єкти слухача тепер підтримують протокол керування контекстом – див. :ref:" +"`typecontextmanager`. :meth:`~contextmanager.__enter__` повертає об’єкт " +"слухача, а :meth:`~contextmanager.__exit__` викликає :meth:`close`." msgid "" "Wait till an object in *object_list* is ready. Returns the list of those " @@ -2933,26 +4344,36 @@ msgid "" "will block for an unlimited period. A negative timeout is equivalent to a " "zero timeout." msgstr "" +"Зачекайте, поки об'єкт у *object_list* буде готовий. Повертає список тих " +"об'єктів у *object_list*, які готові. Якщо *timeout* є числом з плаваючою " +"точкою, виклик блокується щонайбільше на стільки секунд. Якщо *timeout* має " +"значення ``None``, тоді він блокуватиметься на необмежений період. Від’ємний " +"тайм-аут еквівалентний нульовому тайм-ауту." msgid "" "For both POSIX and Windows, an object can appear in *object_list* if it is" msgstr "" +"И для POSIX, и для Windows объект может появиться в *object_list*, если он" msgid "a readable :class:`~multiprocessing.connection.Connection` object;" -msgstr "" +msgstr "читабельний об’єкт :class:`~multiprocessing.connection.Connection`;" msgid "a connected and readable :class:`socket.socket` object; or" -msgstr "" +msgstr "підключений і читабельний об’єкт :class:`socket.socket`; або" msgid "" "the :attr:`~multiprocessing.Process.sentinel` attribute of a :class:" "`~multiprocessing.Process` object." msgstr "" +"атрибут :attr:`~multiprocessing.Process.sentinel` об’єкта :class:" +"`~multiprocessing.Process`." msgid "" "A connection or socket object is ready when there is data available to be " "read from it, or the other end has been closed." msgstr "" +"Об’єкт з’єднання або сокета готовий, коли є доступні дані для читання з " +"нього, або інший кінець закрито." msgid "" "**POSIX**: ``wait(object_list, timeout)`` almost equivalent ``select." @@ -2960,6 +4381,10 @@ msgid "" "`select.select` is interrupted by a signal, it can raise :exc:`OSError` with " "an error number of ``EINTR``, whereas :func:`wait` will not." msgstr "" +"**POSIX**: ``wait(object_list, timeout)`` почти эквивалентен``select." +"select(object_list, [], [], timeout)``. Разница в том, что если :func:" +"`select.select` прерывается сигналом, он может вызвать :exc:`OSError` с " +"номером ошибки ``EINTR``, тогда как :func:`wait` этого не сделает." msgid "" "**Windows**: An item in *object_list* must either be an integer handle which " @@ -2969,15 +4394,25 @@ msgid "" "handle. (Note that pipe handles and socket handles are **not** waitable " "handles.)" msgstr "" +"**Windows**: элемент в *object_list* должен быть либо целочисленным " +"дескриптором, который является ожидаемым (согласно определению, " +"используемому в документации Win32-функции ``WaitForMultipleObjects()``), " +"либо это может быть объект с :meth:`~io.IOBase.fileno` метод, который " +"возвращает дескриптор сокета или дескриптор канала. (Обратите внимание, что " +"дескрипторы каналов и дескрипторы сокетов **не** являются дескрипторами " +"ожидания.)" msgid "**Examples**" -msgstr "" +msgstr "**Examples**" msgid "" "The following server code creates a listener which uses ``'secret " "password'`` as an authentication key. It then waits for a connection and " "sends some data to the client::" msgstr "" +"Наступний код сервера створює прослуховувач, який використовує ``'секретний " +"пароль`` як ключ автентифікації. Потім він очікує з’єднання та надсилає " +"деякі дані клієнту::" msgid "" "from multiprocessing.connection import Listener\n" @@ -2995,11 +4430,26 @@ msgid "" "\n" " conn.send_bytes(array('i', [42, 1729]))" msgstr "" +"from multiprocessing.connection import Listener\n" +"from array import array\n" +"\n" +"address = ('localhost', 6000) # family is deduced to be 'AF_INET'\n" +"\n" +"with Listener(address, authkey=b'secret password') as listener:\n" +" with listener.accept() as conn:\n" +" print('connection accepted from', listener.last_accepted)\n" +"\n" +" conn.send([2.25, None, 'junk', float])\n" +"\n" +" conn.send_bytes(b'hello')\n" +"\n" +" conn.send_bytes(array('i', [42, 1729]))" msgid "" "The following code connects to the server and receives some data from the " "server::" msgstr "" +"Наступний код підключається до сервера та отримує деякі дані з сервера:" msgid "" "from multiprocessing.connection import Client\n" @@ -3016,11 +4466,26 @@ msgid "" " print(conn.recv_bytes_into(arr)) # => 8\n" " print(arr) # => array('i', [42, 1729, 0, 0, 0])" msgstr "" +"from multiprocessing.connection import Client\n" +"from array import array\n" +"\n" +"address = ('localhost', 6000)\n" +"\n" +"with Client(address, authkey=b'secret password') as conn:\n" +" print(conn.recv()) # => [2.25, None, 'junk', float]\n" +"\n" +" print(conn.recv_bytes()) # => 'hello'\n" +"\n" +" arr = array('i', [0, 0, 0, 0, 0])\n" +" print(conn.recv_bytes_into(arr)) # => 8\n" +" print(arr) # => array('i', [42, 1729, 0, 0, 0])" msgid "" "The following code uses :func:`~multiprocessing.connection.wait` to wait for " "messages from multiple processes at once::" msgstr "" +"Наступний код використовує :func:`~multiprocessing.connection.wait` для " +"очікування повідомлень від кількох процесів одночасно::" msgid "" "from multiprocessing import Process, Pipe, current_process\n" @@ -3054,19 +4519,52 @@ msgid "" " else:\n" " print(msg)" msgstr "" +"from multiprocessing import Process, Pipe, current_process\n" +"from multiprocessing.connection import wait\n" +"\n" +"def foo(w):\n" +" for i in range(10):\n" +" w.send((i, current_process().name))\n" +" w.close()\n" +"\n" +"if __name__ == '__main__':\n" +" readers = []\n" +"\n" +" for i in range(4):\n" +" r, w = Pipe(duplex=False)\n" +" readers.append(r)\n" +" p = Process(target=foo, args=(w,))\n" +" p.start()\n" +" # We close the writable end of the pipe now to be sure that\n" +" # p is the only process which owns a handle for it. This\n" +" # ensures that when p closes its handle for the writable end,\n" +" # wait() will promptly report the readable end as being ready.\n" +" w.close()\n" +"\n" +" while readers:\n" +" for r in wait(readers):\n" +" try:\n" +" msg = r.recv()\n" +" except EOFError:\n" +" readers.remove(r)\n" +" else:\n" +" print(msg)" msgid "Address Formats" -msgstr "" +msgstr "Формати адрес" msgid "" "An ``'AF_INET'`` address is a tuple of the form ``(hostname, port)`` where " "*hostname* is a string and *port* is an integer." msgstr "" +"Адреса \"AF_INET\" — це кортеж у формі \"(ім’я хоста, порт)\", де *ім’я " +"хоста* — рядок, а *порт* — ціле число." msgid "" "An ``'AF_UNIX'`` address is a string representing a filename on the " "filesystem." msgstr "" +"Адреса \"AF_UNIX\" — це рядок, що представляє назву файлу у файловій системі." msgid "" "An ``'AF_PIPE'`` address is a string of the form :samp:`r'\\\\\\\\\\\\.\\" @@ -3075,14 +4573,22 @@ msgid "" "the form :samp:`r'\\\\\\\\\\\\\\\\{ServerName}\\\\pipe\\\\\\\\{PipeName}'` " "instead." msgstr "" +"Адрес ``'AF_PIPE'`` представляет собой строку вида :samp:`r'\\\\\\\\\\\\.\\" +"\\pipe\\\\\\\\{PipeName}'`. Чтобы использовать :func:`Client` для " +"подключения к именованному каналу на удаленном компьютере с именем " +"*ServerName*, следует использовать адрес в форме :samp:`r'\\\\\\\\\\\\\\" +"\\{ServerName}\\\\pipe \\\\\\\\{PipeName}'` вместо этого." msgid "" "Note that any string beginning with two backslashes is assumed by default to " "be an ``'AF_PIPE'`` address rather than an ``'AF_UNIX'`` address." msgstr "" +"Зауважте, що будь-який рядок, який починається двома зворотними похилими " +"рисками, за замовчуванням вважається адресою ``'AF_PIPE'``, а не адресою " +"``'AF_UNIX'``." msgid "Authentication keys" -msgstr "" +msgstr "Ключі автентифікації" msgid "" "When one uses :meth:`Connection.recv `, the data received " @@ -3090,6 +4596,10 @@ msgid "" "source is a security risk. Therefore :class:`Listener` and :func:`Client` " "use the :mod:`hmac` module to provide digest authentication." msgstr "" +"Коли використовується :meth:`Connection.recv `, отримані " +"дані автоматично видаляються. На жаль, видалення даних із ненадійного " +"джерела становить загрозу безпеці. Тому :class:`Listener` і :func:`Client` " +"використовують модуль :mod:`hmac` для забезпечення автентифікації дайджесту." msgid "" "An authentication key is a byte string which can be thought of as a " @@ -3097,6 +4607,11 @@ msgid "" "the other knows the authentication key. (Demonstrating that both ends are " "using the same key does **not** involve sending the key over the connection.)" msgstr "" +"Ключ автентифікації — це рядок байтів, який можна розглядати як пароль: коли " +"з’єднання встановлено, обидва кінці вимагатимуть підтвердження того, що " +"інший знає ключ автентифікації. (Демонстрація того, що обидві сторони " +"використовують той самий ключ, **не** передбачає надсилання ключа через " +"з’єднання.)" msgid "" "If authentication is requested but no authentication key is specified then " @@ -3107,11 +4622,21 @@ msgid "" "program will share a single authentication key which can be used when " "setting up connections between themselves." msgstr "" +"Якщо автентифікація запитується, але ключ автентифікації не вказано, тоді " +"використовується значення, що повертається ``current_process().authkey`` " +"(див. :class:`~multiprocessing.Process`). Це значення буде автоматично " +"успадковано будь-яким об’єктом :class:`~multiprocessing.Process`, який " +"створює поточний процес. Це означає, що (за замовчуванням) усі процеси " +"багатопроцесної програми спільно використовуватимуть один ключ " +"автентифікації, який можна використовувати під час встановлення з’єднань між " +"собою." msgid "" "Suitable authentication keys can also be generated by using :func:`os." "urandom`." msgstr "" +"Відповідні ключі автентифікації також можна згенерувати за допомогою :func:" +"`os.urandom`." msgid "Logging" msgstr "Logowanie" @@ -3122,23 +4647,34 @@ msgid "" "(depending on the handler type) for messages from different processes to get " "mixed up." msgstr "" +"Доступна певна підтримка журналювання. Однак зауважте, що пакунок :mod:" +"`logging` не використовує спільні блокування процесів, тому (залежно від " +"типу обробника) повідомлення від різних процесів можуть переплутатися." msgid "" "Returns the logger used by :mod:`multiprocessing`. If necessary, a new one " "will be created." msgstr "" +"Повертає реєстратор, який використовується :mod:`multiprocessing`. За " +"потреби буде створено новий." msgid "" "When first created the logger has level :const:`logging.NOTSET` and no " "default handler. Messages sent to this logger will not by default propagate " "to the root logger." msgstr "" +"При первом создании регистратор имеет уровень :const:`logging.NOTSET` и не " +"имеет обработчика по умолчанию. Сообщения, отправленные в этот регистратор, " +"по умолчанию не передаются в корневой регистратор." msgid "" "Note that on Windows child processes will only inherit the level of the " "parent process's logger -- any other customization of the logger will not be " "inherited." msgstr "" +"Зауважте, що у Windows дочірні процеси успадковуватимуть лише рівень " +"реєстратора батьківського процесу – будь-які інші налаштування реєстратора " +"не успадковуватимуться." msgid "" "This function performs a call to :func:`get_logger` but in addition to " @@ -3147,9 +4683,14 @@ msgid "" "%(message)s'``. You can modify ``levelname`` of the logger by passing a " "``level`` argument." msgstr "" +"Ця функція виконує виклик :func:`get_logger`, але окрім повернення " +"реєстратора, створеного get_logger, вона додає обробник, який надсилає " +"вихідні дані до :data:`sys.stderr` у форматі ``'[%(levelname)s/" +"%(processName)s] %(message)s ''``. Ви можете змінити ``levelname`` " +"реєстратора, передавши аргумент ``level``." msgid "Below is an example session with logging turned on::" -msgstr "" +msgstr "Нижче наведено приклад сеансу з увімкненим журналюванням::" msgid "" ">>> import multiprocessing, logging\n" @@ -3165,17 +4706,33 @@ msgid "" "[INFO/MainProcess] sending shutdown message to manager\n" "[INFO/SyncManager-...] manager exiting with exitcode 0" msgstr "" +">>> import multiprocessing, logging\n" +">>> logger = multiprocessing.log_to_stderr()\n" +">>> logger.setLevel(logging.INFO)\n" +">>> logger.warning('doomed')\n" +"[WARNING/MainProcess] doomed\n" +">>> m = multiprocessing.Manager()\n" +"[INFO/SyncManager-...] child process calling self.run()\n" +"[INFO/SyncManager-...] created temp directory /.../pymp-...\n" +"[INFO/SyncManager-...] manager serving at '/.../listener-...'\n" +">>> del m\n" +"[INFO/MainProcess] sending shutdown message to manager\n" +"[INFO/SyncManager-...] manager exiting with exitcode 0" msgid "For a full table of logging levels, see the :mod:`logging` module." msgstr "" +"Щоб отримати повну таблицю рівнів журналювання, перегляньте модуль :mod:" +"`logging`." msgid "The :mod:`multiprocessing.dummy` module" -msgstr "" +msgstr "Модуль :mod:`multiprocessing.dummy`" msgid "" ":mod:`multiprocessing.dummy` replicates the API of :mod:`multiprocessing` " "but is no more than a wrapper around the :mod:`threading` module." msgstr "" +":mod:`multiprocessing.dummy` повторює API :mod:`multiprocessing`, але є не " +"більше ніж обгорткою модуля :mod:`threading`." msgid "" "In particular, the ``Pool`` function provided by :mod:`multiprocessing." @@ -3183,6 +4740,10 @@ msgid "" "class:`Pool` that supports all the same method calls but uses a pool of " "worker threads rather than worker processes." msgstr "" +"Зокрема, функція ``Pool``, надана :mod:`multiprocessing.dummy`, повертає " +"екземпляр :class:`ThreadPool`, який є підкласом :class:`Pool`, який " +"підтримує всі виклики методів, але використовує пул робочих потоків, а не " +"робочих процесів." msgid "" "A thread pool object which controls a pool of worker threads to which jobs " @@ -3192,15 +4753,25 @@ msgid "" "calling :meth:`~multiprocessing.pool.Pool.close` and :meth:`~multiprocessing." "pool.Pool.terminate` manually." msgstr "" +"Об’єкт пулу потоків, який керує пулом робочих потоків, до яких можна " +"надсилати завдання. Екземпляри :class:`ThreadPool` повністю сумісні з " +"інтерфейсом екземплярів :class:`Pool`, і їхніми ресурсами також потрібно " +"правильно керувати, використовуючи пул як контекстний менеджер або " +"викликаючи :meth:`~multiprocessing.pool. Pool.close` і :meth:" +"`~multiprocessing.pool.Pool.terminate` вручну." msgid "" "*processes* is the number of worker threads to use. If *processes* is " "``None`` then the number returned by :func:`os.process_cpu_count` is used." msgstr "" +"*процессы* — количество используемых рабочих потоков. Если *processes* имеет " +"значение None, то используется число, возвращаемое :func:`os." +"process_cpu_count`." msgid "" "Unlike :class:`Pool`, *maxtasksperchild* and *context* cannot be provided." msgstr "" +"На відміну від :class:`Pool`, *maxtasksperchild* і *context* не можна надати." msgid "" "A :class:`ThreadPool` shares the same interface as :class:`Pool`, which is " @@ -3210,6 +4781,12 @@ msgid "" "for representing the status of asynchronous jobs, :class:`AsyncResult`, that " "is not understood by any other libraries." msgstr "" +":class:`ThreadPool` має той самий інтерфейс, що й :class:`Pool`, який " +"розроблено навколо пулу процесів і передує появі модуля :class:`concurrent." +"futures`. Таким чином, він успадковує деякі операції, які не мають сенсу для " +"пулу, що підтримується потоками, і має власний тип для представлення статусу " +"асинхронних завдань, :class:`AsyncResult`, який не розуміється жодною іншою " +"бібліотекою." msgid "" "Users should generally prefer to use :class:`concurrent.futures." @@ -3218,55 +4795,70 @@ msgid "" "instances that are compatible with many other libraries, including :mod:" "`asyncio`." msgstr "" +"Зазвичай користувачі мають віддавати перевагу використанню :class:" +"`concurrent.futures.ThreadPoolExecutor`, який має простіший інтерфейс, " +"розроблений навколо потоків із самого початку та повертає :class:`concurrent." +"futures.Future` екземпляри, сумісні з багатьма інші бібліотеки, включаючи :" +"mod:`asyncio`." msgid "Programming guidelines" -msgstr "" +msgstr "Інструкції з програмування" msgid "" "There are certain guidelines and idioms which should be adhered to when " "using :mod:`multiprocessing`." msgstr "" +"Існують певні вказівки та ідіоми, яких слід дотримуватися під час " +"використання :mod:`multiprocessing`." msgid "All start methods" -msgstr "" +msgstr "Всі методи запуску" msgid "The following applies to all start methods." -msgstr "" +msgstr "Наступне стосується всіх методів запуску." msgid "Avoid shared state" -msgstr "" +msgstr "Уникайте спільного стану" msgid "" "As far as possible one should try to avoid shifting large amounts of data " "between processes." msgstr "" +"Наскільки це можливо, слід намагатися уникати переміщення великих обсягів " +"даних між процесами." msgid "" "It is probably best to stick to using queues or pipes for communication " "between processes rather than using the lower level synchronization " "primitives." msgstr "" +"Ймовірно, найкраще використовувати черги або канали для зв’язку між " +"процесами, а не використовувати примітиви синхронізації нижчого рівня." msgid "Picklability" -msgstr "" +msgstr "Пробірність" msgid "Ensure that the arguments to the methods of proxies are picklable." -msgstr "" +msgstr "Переконайтеся, що аргументи методів проксі-серверів можна вибрати." msgid "Thread safety of proxies" -msgstr "" +msgstr "Безпека потоків проксі" msgid "" "Do not use a proxy object from more than one thread unless you protect it " "with a lock." msgstr "" +"Не використовуйте проксі-об’єкт із кількох потоків, якщо ви не захистите " +"його за допомогою блокування." msgid "" "(There is never a problem with different processes using the *same* proxy.)" msgstr "" +"(Ніколи не виникає проблем із різними процесами, які використовують *той " +"самий* проксі.)" msgid "Joining zombie processes" -msgstr "" +msgstr "Приєднання до зомбованих процесів" msgid "" "On POSIX when a process finishes but has not been joined it becomes a " @@ -3277,9 +4869,17 @@ msgid "" "is_alive>` will join the process. Even so it is probably good practice to " "explicitly join all the processes that you start." msgstr "" +"В POSIX, когда процесс завершается, но к нему не присоединяются, он " +"становится зомби. Их никогда не должно быть слишком много, поскольку каждый " +"раз при запуске нового процесса (или вызове :func:`~multiprocessing." +"active_children`) все завершенные процессы, которые еще не были " +"присоединены, будут объединены. Также вызов :meth:`Process.is_alive " +"` готового процесса присоединяется к " +"процессу. Даже в этом случае, вероятно, будет хорошей практикой явно " +"присоединяться ко всем запускаемым вами процессам." msgid "Better to inherit than pickle/unpickle" -msgstr "" +msgstr "Краще успадкувати, ніж маринувати/розмаринувати" msgid "" "When using the *spawn* or *forkserver* start methods many types from :mod:" @@ -3289,9 +4889,16 @@ msgid "" "that a process which needs access to a shared resource created elsewhere can " "inherit it from an ancestor process." msgstr "" +"Під час використання методів запуску *spawn* або *forkserver* багато типів " +"із :mod:`multiprocessing` мають бути доступними для вибору, щоб дочірні " +"процеси могли їх використовувати. Однак зазвичай слід уникати надсилання " +"спільних об’єктів іншим процесам за допомогою каналів або черг. Натомість ви " +"повинні організувати програму так, щоб процес, якому потрібен доступ до " +"спільного ресурсу, створеного в іншому місці, міг успадкувати його від " +"процесу-предка." msgid "Avoid terminating processes" -msgstr "" +msgstr "Уникайте завершення процесів" msgid "" "Using the :meth:`Process.terminate ` " @@ -3299,15 +4906,23 @@ msgid "" "locks, semaphores, pipes and queues) currently being used by the process to " "become broken or unavailable to other processes." msgstr "" +"Використання методу :meth:`Process.terminate ` для зупинки процесу може призвести до того, що будь-які спільні " +"ресурси (такі як блокування, семафори, канали та черги), які зараз " +"використовуються цим процесом, стануть несправними або недоступними для " +"інших процесів." msgid "" "Therefore it is probably best to only consider using :meth:`Process." "terminate ` on processes which never use " "any shared resources." msgstr "" +"Тому, ймовірно, найкраще використовувати :meth:`Process.terminate " +"` лише для процесів, які ніколи не " +"використовують спільні ресурси." msgid "Joining processes that use queues" -msgstr "" +msgstr "Приєднання до процесів, які використовують черги" msgid "" "Bear in mind that a process that has put items in a queue will wait before " @@ -3316,6 +4931,11 @@ msgid "" "cancel_join_thread ` method of the " "queue to avoid this behaviour.)" msgstr "" +"Майте на увазі, що процес, який поставив елементи в чергу, чекатиме перед " +"завершенням, доки всі буферизовані елементи не будуть передані потоком " +"\"фідера\" до основного каналу. (Дочірній процес може викликати метод :meth:" +"`Queue.cancel_join_thread ` черги, " +"щоб уникнути такої поведінки.)" msgid "" "This means that whenever you use a queue you need to make sure that all " @@ -3324,9 +4944,14 @@ msgid "" "put items on the queue will terminate. Remember also that non-daemonic " "processes will be joined automatically." msgstr "" +"Це означає, що щоразу, коли ви використовуєте чергу, вам потрібно " +"переконатися, що всі елементи, які було поставлено в чергу, зрештою буде " +"видалено перед приєднанням до процесу. Інакше ви не можете бути впевнені, що " +"процеси, які поставили елементи в чергу, завершаться. Пам'ятайте також, що " +"недемонічні процеси будуть приєднані автоматично." msgid "An example which will deadlock is the following::" -msgstr "" +msgstr "Прикладом, який призведе до взаємоблокування, є наступний:" msgid "" "from multiprocessing import Process, Queue\n" @@ -3341,14 +4966,27 @@ msgid "" " p.join() # this deadlocks\n" " obj = queue.get()" msgstr "" +"from multiprocessing import Process, Queue\n" +"\n" +"def f(q):\n" +" q.put('X' * 1000000)\n" +"\n" +"if __name__ == '__main__':\n" +" queue = Queue()\n" +" p = Process(target=f, args=(queue,))\n" +" p.start()\n" +" p.join() # this deadlocks\n" +" obj = queue.get()" msgid "" "A fix here would be to swap the last two lines (or simply remove the ``p." "join()`` line)." msgstr "" +"Виправити тут можна було б поміняти місцями останні два рядки (або просто " +"видалити рядок ``p.join()``)." msgid "Explicitly pass resources to child processes" -msgstr "" +msgstr "Явно передати ресурси дочірнім процесам" msgid "" "On POSIX using the *fork* start method, a child process can make use of a " @@ -3356,6 +4994,10 @@ msgid "" "However, it is better to pass the object as an argument to the constructor " "for the child process." msgstr "" +"В POSIX с использованием метода запуска *fork* дочерний процесс может " +"использовать общий ресурс, созданный в родительском процессе с " +"использованием глобального ресурса. Однако лучше передать объект в качестве " +"аргумента конструктору дочернего процесса." msgid "" "Apart from making the code (potentially) compatible with Windows and the " @@ -3364,9 +5006,14 @@ msgid "" "This might be important if some resource is freed when the object is garbage " "collected in the parent process." msgstr "" +"Окрім того, що код (потенційно) сумісний із Windows та іншими методами " +"запуску, це також гарантує, що поки дочірній процес живий, об’єкт не " +"збиратиме сміття в батьківському процесі. Це може бути важливо, якщо якийсь " +"ресурс звільняється, коли об’єкт збирається як сміття в батьківському " +"процесі." msgid "So for instance ::" -msgstr "" +msgstr "Так наприклад ::" msgid "" "from multiprocessing import Process, Lock\n" @@ -3379,9 +5026,18 @@ msgid "" " for i in range(10):\n" " Process(target=f).start()" msgstr "" +"from multiprocessing import Process, Lock\n" +"\n" +"def f():\n" +" ... do something using \"lock\" ...\n" +"\n" +"if __name__ == '__main__':\n" +" lock = Lock()\n" +" for i in range(10):\n" +" Process(target=f).start()" msgid "should be rewritten as ::" -msgstr "" +msgstr "слід переписати як ::" msgid "" "from multiprocessing import Process, Lock\n" @@ -3394,25 +5050,38 @@ msgid "" " for i in range(10):\n" " Process(target=f, args=(lock,)).start()" msgstr "" +"from multiprocessing import Process, Lock\n" +"\n" +"def f(l):\n" +" ... do something using \"l\" ...\n" +"\n" +"if __name__ == '__main__':\n" +" lock = Lock()\n" +" for i in range(10):\n" +" Process(target=f, args=(lock,)).start()" msgid "Beware of replacing :data:`sys.stdin` with a \"file like object\"" -msgstr "" +msgstr "Остерігайтеся заміни :data:`sys.stdin` на \"файлоподібний об’єкт\"" msgid ":mod:`multiprocessing` originally unconditionally called::" -msgstr "" +msgstr ":mod:`multiprocessing` спочатку безумовно називався::" msgid "os.close(sys.stdin.fileno())" -msgstr "" +msgstr "os.close(sys.stdin.fileno())" msgid "" "in the :meth:`multiprocessing.Process._bootstrap` method --- this resulted " "in issues with processes-in-processes. This has been changed to::" msgstr "" +"у методі :meth:`multiprocessing.Process._bootstrap` --- це призвело до " +"проблем із процесами в процесах. Це було змінено на::" msgid "" "sys.stdin.close()\n" "sys.stdin = open(os.open(os.devnull, os.O_RDONLY), closefd=False)" msgstr "" +"sys.stdin.close()\n" +"sys.stdin = open(os.open(os.devnull, os.O_RDONLY), closefd=False)" msgid "" "Which solves the fundamental issue of processes colliding with each other " @@ -3422,12 +5091,23 @@ msgid "" "`~io.IOBase.close` on this file-like object, it could result in the same " "data being flushed to the object multiple times, resulting in corruption." msgstr "" +"Это решает фундаментальную проблему конфликтов процессов друг с другом, что " +"приводит к ошибке неправильного файлового дескриптора, но представляет " +"потенциальную опасность для приложений, которые заменяют :func:`sys.stdin` " +"\"файлоподобным объектом\" с буферизацией вывода. Эта опасность заключается " +"в том, что если несколько процессов вызовут :meth:`~io.IOBase.close` для " +"этого файлового объекта, это может привести к тому, что одни и те же данные " +"будут сброшены в объект несколько раз, что приведет к повреждению." msgid "" "If you write a file-like object and implement your own caching, you can make " "it fork-safe by storing the pid whenever you append to the cache, and " "discarding the cache when the pid changes. For example::" msgstr "" +"Якщо ви пишете файлоподібний об’єкт і використовуєте власне кешування, ви " +"можете зробити його безпечним для розгалуження, зберігаючи pid кожного разу, " +"коли ви додаєте його до кешу, і відкидаючи кеш, коли pid змінюється. " +"Наприклад::" msgid "" "@property\n" @@ -3438,21 +5118,32 @@ msgid "" " self._cache = []\n" " return self._cache" msgstr "" +"@property\n" +"def cache(self):\n" +" pid = os.getpid()\n" +" if pid != self._pid:\n" +" self._pid = pid\n" +" self._cache = []\n" +" return self._cache" msgid "" "For more information, see :issue:`5155`, :issue:`5313` and :issue:`5331`" msgstr "" +"Для отримання додаткової інформації перегляньте :issue:`5155`, :issue:`5313` " +"та :issue:`5331`" msgid "The *spawn* and *forkserver* start methods" -msgstr "" +msgstr "Методи запуску *spawn* і *forkserver*" msgid "" "There are a few extra restrictions which don't apply to the *fork* start " "method." msgstr "" +"Существует несколько дополнительных ограничений, которые не применяются к " +"методу запуска *fork*." msgid "More picklability" -msgstr "" +msgstr "Більше маринування" msgid "" "Ensure that all arguments to :meth:`Process.__init__` are picklable. Also, " @@ -3460,9 +5151,13 @@ msgid "" "instances will be picklable when the :meth:`Process.start ` method is called." msgstr "" +"Переконайтеся, що всі аргументи :meth:`Process.__init__` можна вибрати. Крім " +"того, якщо ви створите підклас :class:`~multiprocessing.Process`, то " +"переконайтеся, що екземпляри можна вибрати під час виклику методу :meth:" +"`Process.start `." msgid "Global variables" -msgstr "" +msgstr "Глобальні змінні" msgid "" "Bear in mind that if code run in a child process tries to access a global " @@ -3470,25 +5165,36 @@ msgid "" "in the parent process at the time that :meth:`Process.start ` was called." msgstr "" +"Майте на увазі, що якщо код, запущений у дочірньому процесі, намагається " +"отримати доступ до глобальної змінної, тоді значення, яке він бачить (якщо " +"таке є), може не збігатися зі значенням у батьківському процесі під час :" +"meth:`Process.start викликано `." msgid "" "However, global variables which are just module level constants cause no " "problems." msgstr "" +"Однак глобальні змінні, які є лише константами рівня модуля, не викликають " +"проблем." msgid "Safe importing of main module" -msgstr "" +msgstr "Безпечне імпортування основного модуля" msgid "" "Make sure that the main module can be safely imported by a new Python " "interpreter without causing unintended side effects (such as starting a new " "process)." msgstr "" +"Убедитесь, что основной модуль может быть безопасно импортирован новым " +"интерпретатором Python, не вызывая непредвиденных побочных эффектов " +"(например, запуска нового процесса)." msgid "" "For example, using the *spawn* or *forkserver* start method running the " "following module would fail with a :exc:`RuntimeError`::" msgstr "" +"Наприклад, використання методу запуску *spawn* або *forkserver* під час " +"запуску наступного модуля призведе до помилки з :exc:`RuntimeError`::" msgid "" "from multiprocessing import Process\n" @@ -3499,11 +5205,20 @@ msgid "" "p = Process(target=foo)\n" "p.start()" msgstr "" +"from multiprocessing import Process\n" +"\n" +"def foo():\n" +" print('hello')\n" +"\n" +"p = Process(target=foo)\n" +"p.start()" msgid "" "Instead one should protect the \"entry point\" of the program by using ``if " "__name__ == '__main__':`` as follows::" msgstr "" +"Натомість слід захистити \"точку входу\" програми за допомогою ``if __name__ " +"== '__main__':`` наступним чином::" msgid "" "from multiprocessing import Process, freeze_support, set_start_method\n" @@ -3517,27 +5232,45 @@ msgid "" " p = Process(target=foo)\n" " p.start()" msgstr "" +"from multiprocessing import Process, freeze_support, set_start_method\n" +"\n" +"def foo():\n" +" print('hello')\n" +"\n" +"if __name__ == '__main__':\n" +" freeze_support()\n" +" set_start_method('spawn')\n" +" p = Process(target=foo)\n" +" p.start()" msgid "" "(The ``freeze_support()`` line can be omitted if the program will be run " "normally instead of frozen.)" msgstr "" +"(Рядок ``freeze_support()`` можна опустити, якщо програма буде працювати " +"нормально, а не зависати.)" msgid "" "This allows the newly spawned Python interpreter to safely import the module " "and then run the module's ``foo()`` function." msgstr "" +"Це дозволяє щойно створеному інтерпретатору Python безпечно імпортувати " +"модуль, а потім запускати функцію foo() модуля." msgid "" "Similar restrictions apply if a pool or manager is created in the main " "module." msgstr "" +"Подібні обмеження застосовуються, якщо пул або менеджер створено в основному " +"модулі." msgid "Examples" msgstr "Przykłady" msgid "Demonstration of how to create and use customized managers and proxies:" msgstr "" +"Демонстрація створення та використання налаштованих менеджерів і проксі-" +"серверів:" msgid "" "from multiprocessing import freeze_support\n" @@ -3631,9 +5364,99 @@ msgid "" " freeze_support()\n" " test()\n" msgstr "" +"from multiprocessing import freeze_support\n" +"from multiprocessing.managers import BaseManager, BaseProxy\n" +"import operator\n" +"\n" +"##\n" +"\n" +"class Foo:\n" +" def f(self):\n" +" print('you called Foo.f()')\n" +" def g(self):\n" +" print('you called Foo.g()')\n" +" def _h(self):\n" +" print('you called Foo._h()')\n" +"\n" +"# A simple generator function\n" +"def baz():\n" +" for i in range(10):\n" +" yield i*i\n" +"\n" +"# Proxy type for generator objects\n" +"class GeneratorProxy(BaseProxy):\n" +" _exposed_ = ['__next__']\n" +" def __iter__(self):\n" +" return self\n" +" def __next__(self):\n" +" return self._callmethod('__next__')\n" +"\n" +"# Function to return the operator module\n" +"def get_operator_module():\n" +" return operator\n" +"\n" +"##\n" +"\n" +"class MyManager(BaseManager):\n" +" pass\n" +"\n" +"# register the Foo class; make `f()` and `g()` accessible via proxy\n" +"MyManager.register('Foo1', Foo)\n" +"\n" +"# register the Foo class; make `g()` and `_h()` accessible via proxy\n" +"MyManager.register('Foo2', Foo, exposed=('g', '_h'))\n" +"\n" +"# register the generator function baz; use `GeneratorProxy` to make proxies\n" +"MyManager.register('baz', baz, proxytype=GeneratorProxy)\n" +"\n" +"# register get_operator_module(); make public functions accessible via " +"proxy\n" +"MyManager.register('operator', get_operator_module)\n" +"\n" +"##\n" +"\n" +"def test():\n" +" manager = MyManager()\n" +" manager.start()\n" +"\n" +" print('-' * 20)\n" +"\n" +" f1 = manager.Foo1()\n" +" f1.f()\n" +" f1.g()\n" +" assert not hasattr(f1, '_h')\n" +" assert sorted(f1._exposed_) == sorted(['f', 'g'])\n" +"\n" +" print('-' * 20)\n" +"\n" +" f2 = manager.Foo2()\n" +" f2.g()\n" +" f2._h()\n" +" assert not hasattr(f2, 'f')\n" +" assert sorted(f2._exposed_) == sorted(['g', '_h'])\n" +"\n" +" print('-' * 20)\n" +"\n" +" it = manager.baz()\n" +" for i in it:\n" +" print('<%d>' % i, end=' ')\n" +" print()\n" +"\n" +" print('-' * 20)\n" +"\n" +" op = manager.operator()\n" +" print('op.add(23, 45) =', op.add(23, 45))\n" +" print('op.pow(2, 94) =', op.pow(2, 94))\n" +" print('op._exposed_ =', op._exposed_)\n" +"\n" +"##\n" +"\n" +"if __name__ == '__main__':\n" +" freeze_support()\n" +" test()\n" msgid "Using :class:`~multiprocessing.pool.Pool`:" -msgstr "" +msgstr "Використання :class:`~multiprocessing.pool.Pool`:" msgid "" "import multiprocessing\n" @@ -3793,11 +5616,169 @@ msgid "" " multiprocessing.freeze_support()\n" " test()\n" msgstr "" +"import multiprocessing\n" +"import time\n" +"import random\n" +"import sys\n" +"\n" +"#\n" +"# Functions used by test code\n" +"#\n" +"\n" +"def calculate(func, args):\n" +" result = func(*args)\n" +" return '%s says that %s%s = %s' % (\n" +" multiprocessing.current_process().name,\n" +" func.__name__, args, result\n" +" )\n" +"\n" +"def calculatestar(args):\n" +" return calculate(*args)\n" +"\n" +"def mul(a, b):\n" +" time.sleep(0.5 * random.random())\n" +" return a * b\n" +"\n" +"def plus(a, b):\n" +" time.sleep(0.5 * random.random())\n" +" return a + b\n" +"\n" +"def f(x):\n" +" return 1.0 / (x - 5.0)\n" +"\n" +"def pow3(x):\n" +" return x ** 3\n" +"\n" +"def noop(x):\n" +" pass\n" +"\n" +"#\n" +"# Test code\n" +"#\n" +"\n" +"def test():\n" +" PROCESSES = 4\n" +" print('Creating pool with %d processes\\n' % PROCESSES)\n" +"\n" +" with multiprocessing.Pool(PROCESSES) as pool:\n" +" #\n" +" # Tests\n" +" #\n" +"\n" +" TASKS = [(mul, (i, 7)) for i in range(10)] + \\\n" +" [(plus, (i, 8)) for i in range(10)]\n" +"\n" +" results = [pool.apply_async(calculate, t) for t in TASKS]\n" +" imap_it = pool.imap(calculatestar, TASKS)\n" +" imap_unordered_it = pool.imap_unordered(calculatestar, TASKS)\n" +"\n" +" print('Ordered results using pool.apply_async():')\n" +" for r in results:\n" +" print('\\t', r.get())\n" +" print()\n" +"\n" +" print('Ordered results using pool.imap():')\n" +" for x in imap_it:\n" +" print('\\t', x)\n" +" print()\n" +"\n" +" print('Unordered results using pool.imap_unordered():')\n" +" for x in imap_unordered_it:\n" +" print('\\t', x)\n" +" print()\n" +"\n" +" print('Ordered results using pool.map() --- will block till " +"complete:')\n" +" for x in pool.map(calculatestar, TASKS):\n" +" print('\\t', x)\n" +" print()\n" +"\n" +" #\n" +" # Test error handling\n" +" #\n" +"\n" +" print('Testing error handling:')\n" +"\n" +" try:\n" +" print(pool.apply(f, (5,)))\n" +" except ZeroDivisionError:\n" +" print('\\tGot ZeroDivisionError as expected from pool.apply()')\n" +" else:\n" +" raise AssertionError('expected ZeroDivisionError')\n" +"\n" +" try:\n" +" print(pool.map(f, list(range(10))))\n" +" except ZeroDivisionError:\n" +" print('\\tGot ZeroDivisionError as expected from pool.map()')\n" +" else:\n" +" raise AssertionError('expected ZeroDivisionError')\n" +"\n" +" try:\n" +" print(list(pool.imap(f, list(range(10)))))\n" +" except ZeroDivisionError:\n" +" print('\\tGot ZeroDivisionError as expected from list(pool." +"imap())')\n" +" else:\n" +" raise AssertionError('expected ZeroDivisionError')\n" +"\n" +" it = pool.imap(f, list(range(10)))\n" +" for i in range(10):\n" +" try:\n" +" x = next(it)\n" +" except ZeroDivisionError:\n" +" if i == 5:\n" +" pass\n" +" except StopIteration:\n" +" break\n" +" else:\n" +" if i == 5:\n" +" raise AssertionError('expected ZeroDivisionError')\n" +"\n" +" assert i == 9\n" +" print('\\tGot ZeroDivisionError as expected from IMapIterator." +"next()')\n" +" print()\n" +"\n" +" #\n" +" # Testing timeouts\n" +" #\n" +"\n" +" print('Testing ApplyResult.get() with timeout:', end=' ')\n" +" res = pool.apply_async(calculate, TASKS[0])\n" +" while 1:\n" +" sys.stdout.flush()\n" +" try:\n" +" sys.stdout.write('\\n\\t%s' % res.get(0.02))\n" +" break\n" +" except multiprocessing.TimeoutError:\n" +" sys.stdout.write('.')\n" +" print()\n" +" print()\n" +"\n" +" print('Testing IMapIterator.next() with timeout:', end=' ')\n" +" it = pool.imap(calculatestar, TASKS)\n" +" while 1:\n" +" sys.stdout.flush()\n" +" try:\n" +" sys.stdout.write('\\n\\t%s' % it.next(0.02))\n" +" except StopIteration:\n" +" break\n" +" except multiprocessing.TimeoutError:\n" +" sys.stdout.write('.')\n" +" print()\n" +" print()\n" +"\n" +"\n" +"if __name__ == '__main__':\n" +" multiprocessing.freeze_support()\n" +" test()\n" msgid "" "An example showing how to use queues to feed tasks to a collection of worker " "processes and collect the results:" msgstr "" +"Приклад, який показує, як використовувати черги для передачі завдань у " +"колекцію робочих процесів і збору результатів:" msgid "" "import time\n" @@ -3878,3 +5859,80 @@ msgid "" " freeze_support()\n" " test()\n" msgstr "" +"import time\n" +"import random\n" +"\n" +"from multiprocessing import Process, Queue, current_process, freeze_support\n" +"\n" +"#\n" +"# Function run by worker processes\n" +"#\n" +"\n" +"def worker(input, output):\n" +" for func, args in iter(input.get, 'STOP'):\n" +" result = calculate(func, args)\n" +" output.put(result)\n" +"\n" +"#\n" +"# Function used to calculate result\n" +"#\n" +"\n" +"def calculate(func, args):\n" +" result = func(*args)\n" +" return '%s says that %s%s = %s' % \\\n" +" (current_process().name, func.__name__, args, result)\n" +"\n" +"#\n" +"# Functions referenced by tasks\n" +"#\n" +"\n" +"def mul(a, b):\n" +" time.sleep(0.5*random.random())\n" +" return a * b\n" +"\n" +"def plus(a, b):\n" +" time.sleep(0.5*random.random())\n" +" return a + b\n" +"\n" +"#\n" +"#\n" +"#\n" +"\n" +"def test():\n" +" NUMBER_OF_PROCESSES = 4\n" +" TASKS1 = [(mul, (i, 7)) for i in range(20)]\n" +" TASKS2 = [(plus, (i, 8)) for i in range(10)]\n" +"\n" +" # Create queues\n" +" task_queue = Queue()\n" +" done_queue = Queue()\n" +"\n" +" # Submit tasks\n" +" for task in TASKS1:\n" +" task_queue.put(task)\n" +"\n" +" # Start worker processes\n" +" for i in range(NUMBER_OF_PROCESSES):\n" +" Process(target=worker, args=(task_queue, done_queue)).start()\n" +"\n" +" # Get and print results\n" +" print('Unordered results:')\n" +" for i in range(len(TASKS1)):\n" +" print('\\t', done_queue.get())\n" +"\n" +" # Add more tasks using `put()`\n" +" for task in TASKS2:\n" +" task_queue.put(task)\n" +"\n" +" # Get and print some more results\n" +" for i in range(len(TASKS2)):\n" +" print('\\t', done_queue.get())\n" +"\n" +" # Tell child processes to stop\n" +" for i in range(NUMBER_OF_PROCESSES):\n" +" task_queue.put('STOP')\n" +"\n" +"\n" +"if __name__ == '__main__':\n" +" freeze_support()\n" +" test()\n" diff --git a/library/multiprocessing.shared_memory.po b/library/multiprocessing.shared_memory.po index 562cf8488e..5666cde30e 100644 --- a/library/multiprocessing.shared_memory.po +++ b/library/multiprocessing.shared_memory.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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,9 +27,11 @@ msgid "" ":mod:`!multiprocessing.shared_memory` --- Shared memory for direct access " "across processes" msgstr "" +":mod:`!multiprocessing.shared_memory` --- Общая память для прямого доступа " +"между процессами" 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 " @@ -41,6 +42,14 @@ msgid "" "`~multiprocessing.managers.SharedMemoryManager`, is also provided in the :" "mod:`multiprocessing.managers` module." msgstr "" +"Этот модуль предоставляет класс :class:`SharedMemory` для выделения и " +"управления общей памятью, к которой могут получить доступ один или несколько " +"процессов на многоядерной или симметричной многопроцессорной (SMP) машине. " +"Чтобы помочь в управлении жизненным циклом общей памяти, особенно в " +"отдельных процессах, в :mod: также предоставляется подкласс :class:" +"`~multiprocessing.managers.BaseManager`, :class:`~multiprocessing.managers." +"SharedMemoryManager`, :class:`~multiprocessing.managers." +"SharedMemoryManager`. Модуль `multiprocessing.managers`." msgid "" "In this module, shared memory refers to \"POSIX style\" shared memory blocks " @@ -55,6 +64,18 @@ msgid "" "via disk or socket or other communications requiring the serialization/" "deserialization and copying of data." msgstr "" +"В этом модуле общая память относится к блокам общей памяти в стиле POSIX " +"(хотя не обязательно реализуется явно как таковая) и не относится к " +"«распределенной общей памяти». Этот стиль общей памяти позволяет различным " +"процессам потенциально читать и записывать в общую (или разделяемую) область " +"энергозависимой памяти. Процессы традиционно ограничены доступом только к " +"своему собственному пространству памяти процесса, но общая память позволяет " +"совместно использовать данные между процессами, избегая необходимости вместо " +"этого отправлять сообщения между процессами, содержащими эти данные. " +"Совместное использование данных непосредственно через память может " +"обеспечить значительный выигрыш в производительности по сравнению с " +"совместным использованием данных через диск или сокет или другие средства " +"связи, требующие сериализации/десериализации и копирования данных." msgid "" "Create an instance of the :class:`!SharedMemory` class for either creating a " @@ -63,6 +84,11 @@ msgid "" "can create a shared memory block with a particular name and a different " "process can attach to that same shared memory block using that same name." msgstr "" +"Создайте экземпляр класса :class:`!SharedMemory` для создания нового блока " +"общей памяти или присоединения к существующему блоку общей памяти. Каждому " +"блоку общей памяти присваивается уникальное имя. Таким образом, один процесс " +"может создать блок общей памяти с определенным именем, а другой процесс " +"может подключиться к этому же блоку общей памяти, используя то же имя." msgid "" "As a resource for sharing data across processes, shared memory blocks may " @@ -72,6 +98,12 @@ msgid "" "block is no longer needed by any process, the :meth:`unlink` method should " "be called to ensure proper cleanup." msgstr "" +"В качестве ресурса для совместного использования данных между процессами " +"блоки общей памяти могут пережить исходный процесс, который их создал. Когда " +"одному процессу больше не нужен доступ к блоку общей памяти, который все еще " +"может понадобиться другим процессам, следует вызвать метод :meth:`close`. " +"Когда блок общей памяти больше не нужен какому-либо процессу, следует " +"вызвать метод :meth:`unlink`, чтобы обеспечить правильную очистку." msgid "Parameters" msgstr "parametry" @@ -81,11 +113,16 @@ msgid "" "creating a new shared memory block, if ``None`` (the default) is supplied " "for the name, a novel name will be generated." msgstr "" +"Уникальное имя запрошенной общей памяти в виде строки. Если при создании " +"нового блока общей памяти для имени указано «Нет» (по умолчанию), будет " +"сгенерировано новое имя." msgid "" "Control whether a new shared memory block is created (``True``) or an " "existing shared memory block is attached (``False``)." msgstr "" +"Контролируйте, создается ли новый блок общей памяти («True») или " +"присоединяется существующий блок общей памяти («False»)." msgid "" "The requested number of bytes when creating a new shared memory block. " @@ -94,6 +131,12 @@ msgid "" "be larger or equal to the size requested. When attaching to an existing " "shared memory block, the *size* parameter is ignored." msgstr "" +"Запрошенное количество байтов при создании нового блока общей памяти. " +"Поскольку некоторые платформы предпочитают выделять фрагменты памяти в " +"зависимости от размера страницы памяти этой платформы, точный размер блока " +"общей памяти может быть больше или равен запрошенному размеру. При " +"присоединении к существующему блоку общей памяти параметр *size* " +"игнорируется." msgid "" "When ``True``, register the shared memory block with a resource tracker " @@ -112,9 +155,24 @@ msgid "" "ignored on Windows, which has its own tracking and automatically deletes " "shared memory when all handles to it have been closed." msgstr "" +"Если установлено значение «True», зарегистрируйте блок общей памяти в " +"процессе отслеживания ресурсов на платформах, где ОС не делает этого " +"автоматически. Трекер ресурсов обеспечивает правильную очистку общей памяти, " +"даже если все остальные процессы, имеющие доступ к памяти, завершаются без " +"этого. Процессы Python, созданные от общего предка с использованием средств :" +"mod:`multiprocessing`, совместно используют один процесс отслеживания " +"ресурсов, и время жизни сегментов общей памяти обрабатывается автоматически " +"между этими процессами. Процессы Python, созданные любым другим способом, " +"получат собственный трекер ресурсов при доступе к общей памяти с включенным " +"*track*. Это приведет к удалению общей памяти трекером ресурсов первого " +"завершившегося процесса. Чтобы избежать этой проблемы, пользователи :mod:" +"`subprocess` или автономных процессов Python должны установить для *track* " +"значение ``False``, когда уже существует другой процесс, который выполняет " +"учет. *track* игнорируется в Windows, которая имеет собственное отслеживание " +"и автоматически удаляет общую память, когда все ее дескрипторы закрыты." msgid "Added the *track* parameter." -msgstr "" +msgstr "Добавлен параметр *track*." msgid "" "Close the file descriptor/handle to the shared memory from this instance. :" @@ -123,6 +181,12 @@ msgid "" "underlying memory may or may not be freed even if all handles to it have " "been closed. To ensure proper cleanup, use the :meth:`unlink` method." msgstr "" +"Закройте файловый дескриптор/дескриптор общей памяти из этого экземпляра. :" +"meth:`close` следует вызывать, как только доступ к блоку общей памяти из " +"этого экземпляра больше не требуется. В зависимости от операционной системы " +"базовая память может быть освобождена, а может и не быть освобождена, даже " +"если все ее дескрипторы закрыты. Чтобы обеспечить правильную очистку, " +"используйте метод :meth:`unlink`." msgid "" "Delete the underlying shared memory block. This should be called only once " @@ -131,25 +195,35 @@ msgid "" "order, but trying to access data inside a shared memory block after :meth:" "`unlink` may result in memory access errors, depending on platform." msgstr "" +"Удалите базовый блок общей памяти. Его следует вызывать только один раз для " +"каждого блока общей памяти, независимо от количества его дескрипторов, даже " +"в других процессах. :meth:`unlink` и :meth:`close` можно вызывать в любом " +"порядке, но попытка доступа к данным внутри общего блока памяти после :meth:" +"`unlink` может привести к ошибкам доступа к памяти, в зависимости от " +"платформы." msgid "" "This method has no effect on Windows, where the only way to delete a shared " "memory block is to close all handles." msgstr "" +"Этот метод не влияет на Windows, где единственный способ удалить блок общей " +"памяти — закрыть все дескрипторы." msgid "A memoryview of contents of the shared memory block." -msgstr "" +msgstr "Перегляд вмісту спільного блоку пам’яті." msgid "Read-only access to the unique name of the shared memory block." -msgstr "" +msgstr "Read-only доступ до унікального імені спільного блоку пам’яті." msgid "Read-only access to size in bytes of the shared memory block." -msgstr "" +msgstr "Доступ лише для читання до розміру в байтах спільного блоку пам’яті." msgid "" "The following example demonstrates low-level use of :class:`SharedMemory` " "instances::" msgstr "" +"Следующий пример демонстрирует низкоуровневое использование экземпляров :" +"class:`SharedMemory`::" msgid "" ">>> from multiprocessing import shared_memory\n" @@ -174,12 +248,36 @@ msgid "" ">>> shm_a.close()\n" ">>> shm_a.unlink() # Call unlink only once to release the shared memory" msgstr "" +">>> from multiprocessing import shared_memory\n" +">>> shm_a = shared_memory.SharedMemory(create=True, size=10)\n" +">>> type(shm_a.buf)\n" +"\n" +">>> buffer = shm_a.buf\n" +">>> len(buffer)\n" +"10\n" +">>> buffer[:4] = bytearray([22, 33, 44, 55]) # Modify multiple at once\n" +">>> buffer[4] = 100 # Modify single byte at a " +"time\n" +">>> # Attach to an existing shared memory block\n" +">>> shm_b = shared_memory.SharedMemory(shm_a.name)\n" +">>> import array\n" +">>> array.array('b', shm_b.buf[:5]) # Copy the data into a new array.array\n" +"array('b', [22, 33, 44, 55, 100])\n" +">>> shm_b.buf[:5] = b'howdy' # Modify via shm_b using bytes\n" +">>> bytes(shm_a.buf[:5]) # Access via shm_a\n" +"b'howdy'\n" +">>> shm_b.close() # Close each SharedMemory instance\n" +">>> shm_a.close()\n" +">>> shm_a.unlink() # Call unlink only once to release the shared memory" msgid "" "The following example demonstrates a practical use of the :class:" "`SharedMemory` class with `NumPy arrays `_, accessing " "the same :class:`!numpy.ndarray` from two distinct Python shells:" msgstr "" +"В следующем примере показано практическое использование класса :class:" +"`SharedMemory` с `массивами NumPy `_, доступ к одному и " +"тому же :class:`!numpy.ndarray` из двух разных оболочек Python. :" msgid "" ">>> # In the first Python interactive shell\n" @@ -225,11 +323,55 @@ msgid "" ">>> shm.close()\n" ">>> shm.unlink() # Free and release the shared memory block at the very end" msgstr "" +">>> # In the first Python interactive shell\n" +">>> import numpy as np\n" +">>> a = np.array([1, 1, 2, 3, 5, 8]) # Start with an existing NumPy array\n" +">>> from multiprocessing import shared_memory\n" +">>> shm = shared_memory.SharedMemory(create=True, size=a.nbytes)\n" +">>> # Now create a NumPy array backed by shared memory\n" +">>> b = np.ndarray(a.shape, dtype=a.dtype, buffer=shm.buf)\n" +">>> b[:] = a[:] # Copy the original data into shared memory\n" +">>> b\n" +"array([1, 1, 2, 3, 5, 8])\n" +">>> type(b)\n" +"\n" +">>> type(a)\n" +"\n" +">>> shm.name # We did not specify a name so one was chosen for us\n" +"'psm_21467_46075'\n" +"\n" +">>> # In either the same shell or a new Python shell on the same machine\n" +">>> import numpy as np\n" +">>> from multiprocessing import shared_memory\n" +">>> # Attach to the existing shared memory block\n" +">>> existing_shm = shared_memory.SharedMemory(name='psm_21467_46075')\n" +">>> # Note that a.shape is (6,) and a.dtype is np.int64 in this example\n" +">>> c = np.ndarray((6,), dtype=np.int64, buffer=existing_shm.buf)\n" +">>> c\n" +"array([1, 1, 2, 3, 5, 8])\n" +">>> c[-1] = 888\n" +">>> c\n" +"array([ 1, 1, 2, 3, 5, 888])\n" +"\n" +">>> # Back in the first Python interactive shell, b reflects this change\n" +">>> b\n" +"array([ 1, 1, 2, 3, 5, 888])\n" +"\n" +">>> # Clean up from within the second Python shell\n" +">>> del c # Unnecessary; merely emphasizing the array is no longer used\n" +">>> existing_shm.close()\n" +"\n" +">>> # Clean up from within the first Python shell\n" +">>> del b # Unnecessary; merely emphasizing the array is no longer used\n" +">>> shm.close()\n" +">>> shm.unlink() # Free and release the shared memory block at the very end" msgid "" "A subclass of :class:`multiprocessing.managers.BaseManager` which can be " "used for the management of shared memory blocks across processes." msgstr "" +"Подкласс :class:`multiprocessing.managers.BaseManager`, который можно " +"использовать для управления блоками общей памяти между процессами." msgid "" "A call to :meth:`~multiprocessing.managers.BaseManager.start` on a :class:`!" @@ -244,12 +386,26 @@ msgid "" "class:`!SharedMemoryManager`, we avoid the need to manually track and " "trigger the freeing of shared memory resources." msgstr "" +"Вызов :meth:`~multiprocessing.managers.BaseManager.start` в экземпляре :" +"class:`!SharedMemoryManager` вызывает запуск нового процесса. Единственная " +"цель этого нового процесса — управлять жизненным циклом всех блоков общей " +"памяти, созданных с его помощью. Чтобы вызвать освобождение всех блоков " +"общей памяти, управляемых этим процессом, вызовите :meth:`~multiprocessing." +"managers.BaseManager.shutdown` на экземпляре. Это запускает вызов :meth:" +"`~multiprocessing.shared_memory.SharedMemory.unlink` для всех объектов :" +"class:`SharedMemory`, управляемых этим процессом, а затем останавливает сам " +"процесс. Создавая экземпляры :class:`!SharedMemory` с помощью :class:`!" +"SharedMemoryManager`, мы избегаем необходимости вручную отслеживать и " +"запускать освобождение ресурсов общей памяти." msgid "" "This class provides methods for creating and returning :class:`SharedMemory` " "instances and for creating a list-like object (:class:`ShareableList`) " "backed by shared memory." msgstr "" +"Цей клас надає методи для створення та повернення екземплярів :class:" +"`SharedMemory` і для створення об’єкта, схожого на список (:class:" +"`ShareableList`), який підтримується спільною пам’яттю." msgid "" "Refer to :class:`~multiprocessing.managers.BaseManager` for a description of " @@ -257,21 +413,31 @@ msgid "" "may be used to connect to an existing :class:`!SharedMemoryManager` service " "from other processes." msgstr "" +"Обратитесь к :class:`~multiprocessing.managers.BaseManager` для описания " +"унаследованных необязательных входных аргументов *address* и *authkey* и " +"того, как их можно использовать для подключения к существующей службе :class:" +"`!SharedMemoryManager` из других процессы." msgid "" "Create and return a new :class:`SharedMemory` object with the specified " "*size* in bytes." msgstr "" +"Создайте и верните новый объект :class:`SharedMemory` с указанным *размером* " +"в байтах." msgid "" "Create and return a new :class:`ShareableList` object, initialized by the " "values from the input *sequence*." msgstr "" +"Создайте и верните новый объект :class:`ShareableList`, инициализированный " +"значениями из входной *последовательности*." msgid "" "The following example demonstrates the basic mechanisms of a :class:" "`~multiprocessing.managers.SharedMemoryManager`:" msgstr "" +"Следующий пример демонстрирует основные механизмы :class:`~multiprocessing." +"managers.SharedMemoryManager`:" msgid "" ">>> from multiprocessing.managers import SharedMemoryManager\n" @@ -286,6 +452,17 @@ msgid "" "ShareableList(['a', 'l', 'p', 'h', 'a'], name='psm_6572_12221')\n" ">>> smm.shutdown() # Calls unlink() on sl, raw_shm, and another_sl" msgstr "" +">>> from multiprocessing.managers import SharedMemoryManager\n" +">>> smm = SharedMemoryManager()\n" +">>> smm.start() # Start the process that manages the shared memory blocks\n" +">>> sl = smm.ShareableList(range(4))\n" +">>> sl\n" +"ShareableList([0, 1, 2, 3], name='psm_6572_7512')\n" +">>> raw_shm = smm.SharedMemory(size=128)\n" +">>> another_sl = smm.ShareableList('alpha')\n" +">>> another_sl\n" +"ShareableList(['a', 'l', 'p', 'h', 'a'], name='psm_6572_12221')\n" +">>> smm.shutdown() # Calls unlink() on sl, raw_shm, and another_sl" msgid "" "The following example depicts a potentially more convenient pattern for " @@ -293,6 +470,10 @@ msgid "" "the :keyword:`with` statement to ensure that all shared memory blocks are " "released after they are no longer needed:" msgstr "" +"В следующем примере показан потенциально более удобный шаблон использования " +"объектов :class:`~multiprocessing.managers.SharedMemoryManager` через " +"оператор :keyword:`with`, чтобы гарантировать, что все блоки общей памяти " +"будут освобождены после того, как они больше не нужны:" msgid "" ">>> with SharedMemoryManager() as smm:\n" @@ -307,6 +488,17 @@ msgid "" "... p2.join() # Wait for all work to complete in both processes\n" "... total_result = sum(sl) # Consolidate the partial results now in sl" msgstr "" +">>> with SharedMemoryManager() as smm:\n" +"... sl = smm.ShareableList(range(2000))\n" +"... # Divide the work among two processes, storing partial results in " +"sl\n" +"... p1 = Process(target=do_work, args=(sl, 0, 1000))\n" +"... p2 = Process(target=do_work, args=(sl, 1000, 2000))\n" +"... p1.start()\n" +"... p2.start() # A multiprocessing.Pool might be more efficient\n" +"... p1.join()\n" +"... p2.join() # Wait for all work to complete in both processes\n" +"... total_result = sum(sl) # Consolidate the partial results now in sl" msgid "" "When using a :class:`~multiprocessing.managers.SharedMemoryManager` in a :" @@ -314,15 +506,22 @@ msgid "" "manager are all released when the :keyword:`!with` statement's code block " "finishes execution." msgstr "" +"При использовании :class:`~multiprocessing.managers.SharedMemoryManager` в " +"операторе :keyword:`with` все блоки общей памяти, созданные с помощью этого " +"менеджера, освобождаются, когда блок кода оператора :keyword:`!with` " +"завершает выполнение." msgid "" "Provide a mutable list-like object where all values stored within are stored " "in a shared memory block. This constrains storable values to the following " "built-in data types:" msgstr "" +"Предоставьте изменяемый объект, похожий на список, где все значения, " +"хранящиеся внутри, хранятся в блоке общей памяти. Это ограничивает " +"сохраняемые значения следующими встроенными типами данных:" msgid ":class:`int` (signed 64-bit)" -msgstr "" +msgstr ":class:`int` (64-битный со знаком)" msgid ":class:`float`" msgstr ":class:`float`" @@ -331,10 +530,10 @@ msgid ":class:`bool`" msgstr ":class:`bool`" msgid ":class:`str` (less than 10M bytes each when encoded as UTF-8)" -msgstr "" +msgstr ":class:`str` (менее 10 Мбайт каждый в кодировке UTF-8)" msgid ":class:`bytes` (less than 10M bytes each)" -msgstr "" +msgstr ":class:`bytes` (менее 10 М байт каждый)" msgid "``None``" msgstr "``None`` - z ang. - ``Żaden``" @@ -345,12 +544,20 @@ msgid "" "insert`, etc.) and do not support the dynamic creation of new :class:`!" "ShareableList` instances via slicing." msgstr "" +"Он также заметно отличается от встроенного типа :class:`list` тем, что эти " +"списки не могут изменять свою общую длину (т.е. нет :meth:`!append`, :meth:`!" +"insert` и т. д.) и не поддерживать динамическое создание новых экземпляров :" +"class:`!ShareableList` посредством нарезки." msgid "" "*sequence* is used in populating a new :class:`!ShareableList` full of " "values. Set to ``None`` to instead attach to an already existing :class:`!" "ShareableList` by its unique shared memory name." msgstr "" +"*sequence* используется для заполнения нового :class:`!ShareableList`, " +"полного значений. Установите значение None, чтобы вместо этого присоединить " +"его к уже существующему :class:`!ShareableList` по его уникальному имени " +"общей памяти." msgid "" "*name* is the unique name for the requested shared memory, as described in " @@ -358,6 +565,10 @@ msgid "" "class:`!ShareableList`, specify its shared memory block's unique name while " "leaving *sequence* set to ``None``." msgstr "" +"*name* — это уникальное имя запрошенной общей памяти, как описано в " +"определении :class:`SharedMemory`. При присоединении к существующему :class:" +"`!ShareableList` укажите уникальное имя его блока общей памяти, оставив для " +"*sequence* значение ``None``." msgid "" "A known issue exists for :class:`bytes` and :class:`str` values. If they end " @@ -366,12 +577,20 @@ msgid "" "rstrip(b'\\x00')`` behavior is considered a bug and may go away in the " "future. See :gh:`106939`." msgstr "" +"Известная проблема существует для значений :class:`bytes` и :class:`str`. " +"Если они заканчиваются нулевыми байтами или символами ``\\x00``, они могут " +"быть *тихо удалены* при извлечении их по индексу из :class:`!ShareableList`. " +"Такое поведение ``.rstrip(b'\\x00')`` считается ошибкой и может исчезнуть в " +"будущем. См. :gh:`106939`." msgid "" "For applications where rstripping of trailing nulls is a problem, work " "around it by always unconditionally appending an extra non-0 byte to the end " "of such values when storing and unconditionally removing it when fetching:" msgstr "" +"Для приложений, где удаление конечных нулей является проблемой, обойдите ее, " +"всегда безоговорочно добавляя дополнительный байт, отличный от 0, в конец " +"таких значений при сохранении и безоговорочно удаляя его при выборке:" msgid "" ">>> from multiprocessing import shared_memory\n" @@ -390,33 +609,57 @@ msgid "" "b'\\x03\\x02\\x01\\x00\\x00\\x00'\n" ">>> padded.shm.unlink()" msgstr "" +">>> from multiprocessing import shared_memory\n" +">>> nul_bug_demo = shared_memory.ShareableList(['?\\x00', " +"b'\\x03\\x02\\x01\\x00\\x00\\x00'])\n" +">>> nul_bug_demo[0]\n" +"'?'\n" +">>> nul_bug_demo[1]\n" +"b'\\x03\\x02\\x01'\n" +">>> nul_bug_demo.shm.unlink()\n" +">>> padded = shared_memory.ShareableList(['?\\x00\\x07', " +"b'\\x03\\x02\\x01\\x00\\x00\\x00\\x07'])\n" +">>> padded[0][:-1]\n" +"'?\\x00'\n" +">>> padded[1][:-1]\n" +"b'\\x03\\x02\\x01\\x00\\x00\\x00'\n" +">>> padded.shm.unlink()" msgid "Return the number of occurrences of *value*." -msgstr "" +msgstr "Возвращает количество вхождений *значения*." msgid "" "Return first index position of *value*. Raise :exc:`ValueError` if *value* " "is not present." msgstr "" +"Вернуть первую позицию индекса *значения*. Поднимите :exc:`ValueError`, если " +"*value* отсутствует." msgid "" "Read-only attribute containing the :mod:`struct` packing format used by all " "currently stored values." msgstr "" +"Атрибут только для чтения, содержащий формат упаковки :mod:`struct`, " +"используемый всеми сохраненными в данный момент значениями." msgid "The :class:`SharedMemory` instance where the values are stored." -msgstr "" +msgstr "Об'єкт класу :class:`SharedMemory` , де зберігаються значення." msgid "" "The following example demonstrates basic use of a :class:`ShareableList` " "instance:" msgstr "" +"Наступні приклади демонструють базове використання об'єкту класу :class:" +"`ShareableList`:" msgid "" "The following example depicts how one, two, or many processes may access the " "same :class:`ShareableList` by supplying the name of the shared memory block " "behind it:" msgstr "" +"В следующем примере показано, как один, два или несколько процессов могут " +"получить доступ к одному и тому же :class:`ShareableList`, указав имя блока " +"общей памяти, стоящего за ним:" msgid "" "The following examples demonstrates that :class:`ShareableList` (and " @@ -426,12 +669,18 @@ msgid "" "attached to an existing object with the same name (if the object is still " "alive):" msgstr "" +"Следующие примеры демонстрируют, что объекты :class:`ShareableList` (и " +"лежащие в их основе :class:`SharedMemory`) объекты могут быть пикированы и " +"расконсервированы при необходимости. Обратите внимание, что это все равно " +"будет тот же общий объект. Это происходит потому, что десериализованный " +"объект имеет то же уникальное имя и просто прикреплен к существующему " +"объекту с тем же именем (если объект еще жив):" msgid "Shared Memory" -msgstr "" +msgstr "Общая память" msgid "POSIX Shared Memory" -msgstr "" +msgstr "Общая память POSIX" msgid "Named Shared Memory" -msgstr "" +msgstr "Именованная общая память" diff --git a/library/numeric.po b/library/numeric.po index 8e91420f18..f4ed32fdde 100644 --- a/library/numeric.po +++ b/library/numeric.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Krzysztof Abramowicz, 2022\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/library/operator.po b/library/operator.po index 961c3f0010..881ba23db2 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/library/optparse.po b/library/optparse.po index 20ba235ee3..215533d681 100644 --- a/library/optparse.po +++ b/library/optparse.po @@ -4,20 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Igor Zubrycki , 2023 -# Rafael Fontenelle , 2024 -# Seweryn Piórkowski , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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,22 +24,25 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!optparse` --- Parser for command line options" -msgstr "" +msgstr ":mod:`!optparse` --- Анализатор параметров командной строки" msgid "**Source code:** :source:`Lib/optparse.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/optparse.py`" msgid "Choosing an argument parsing library" -msgstr "" +msgstr "Escolhendo uma biblioteca de análise de linha de comando" msgid "The standard library includes three argument parsing libraries:" -msgstr "" +msgstr "A biblioteca padrão inclui três bibliotecas de análise de argumentos:" msgid "" ":mod:`getopt`: a module that closely mirrors the procedural C ``getopt`` " "API. Included in the standard library since before the initial Python 1.0 " "release." msgstr "" +":mod:`getopt`: um módulo que espelha de perto a API procedural C ``getopt``. " +"Incluído na biblioteca padrão desde antes do lançamento inicial do Python " +"1.0." msgid "" ":mod:`optparse`: a declarative replacement for ``getopt`` that provides " @@ -51,6 +50,10 @@ msgid "" "own procedural option parsing logic. Included in the standard library since " "the Python 2.3 release." msgstr "" +":mod:`optparse`: декларативная замена ``getopt``, которая обеспечивает " +"эквивалентную функциональность, не требуя от каждого приложения реализации " +"собственной процедурной логики анализа опций. Включено в стандартную " +"библиотеку с момента выпуска Python 2.3." msgid "" ":mod:`argparse`: a more opinionated alternative to ``optparse`` that " @@ -59,6 +62,10 @@ msgid "" "Included in the standard library since the Python 2.7 and Python 3.2 " "releases." msgstr "" +":mod:`argparse`: более самоуверенная альтернатива ``optparse``, которая по " +"умолчанию обеспечивает больше функциональности за счет снижения гибкости " +"приложения в точном контроле обработки аргументов. Включен в стандартную " +"библиотеку начиная с выпусков Python 2.7 и Python 3.2." msgid "" "In the absence of more specific argument parsing design constraints, :mod:" @@ -66,6 +73,10 @@ msgid "" "applications, as it offers the highest level of baseline functionality with " "the least application level code." msgstr "" +"При отсутствии более конкретных ограничений на конструкцию синтаксического " +"анализа аргументов для реализации приложений командной строки рекомендуется " +"использовать :mod:`argparse`, поскольку он обеспечивает наивысший уровень " +"базовой функциональности при наименьшем объеме кода на уровне приложения." msgid "" ":mod:`getopt` is retained almost entirely for backwards compatibility " @@ -73,52 +84,81 @@ msgid "" "and testing command line argument handling in ``getopt``-based C " "applications." msgstr "" +":mod:`getopt` сохранен почти полностью по причинам обратной совместимости. " +"Однако он также служит нишевым вариантом использования в качестве " +"инструмента для прототипирования и тестирования обработки аргументов " +"командной строки в приложениях на языке C на основе ``getopt``." msgid "" ":mod:`optparse` should be considered as an alternative to :mod:`argparse` in " "the following cases:" msgstr "" +":mod:`optparse` deve ser considerado como uma alternativa ao :mod:`argparse` " +"nos seguintes casos:" 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`" msgstr "" +"uma aplicação já está usando :mod:`optparse` e não quer arriscar as sutis " +"mudanças comportamentais que podem surgir ao migrar para :mod:`argparse`" msgid "" "the application requires additional control over the way options and " "positional parameters are interleaved on the command line (including the " "ability to disable the interleaving feature completely)" msgstr "" +"a aplicação requer controle adicional sobre a maneira como as opções e os " +"parâmetros posicionais são intercalados na linha de comando (incluindo a " +"capacidade de desabilitar completamente o recurso de intercalação)" msgid "" "the application requires additional control over the incremental parsing of " "command line elements (while ``argparse`` does support this, the exact way " "it works in practice is undesirable for some use cases)" msgstr "" +"приложению требуется дополнительный контроль над инкрементальным анализом " +"элементов командной строки (хотя ``argparse`` поддерживает это, точный " +"способ, которым это работает на практике, нежелателен для некоторых случаев " +"использования)" msgid "" "the application requires additional control over the handling of options " "which accept parameter values that may start with ``-`` (such as delegated " "options to be passed to invoked subprocesses)" msgstr "" +"приложению требуется дополнительный контроль над обработкой параметров, " +"которые принимают значения параметров, которые могут начинаться с ``-`` " +"(например, делегированные параметры, которые должны быть переданы вызываемым " +"подпроцессам)" msgid "" "the application requires some other command line parameter processing " "behavior which ``argparse`` does not support, but which can be implemented " "in terms of the lower level interface offered by ``optparse``" msgstr "" +"приложению требуется некоторое другое поведение обработки параметров " +"командной строки, которое ``argparse`` не поддерживает, но которое может " +"быть реализовано в терминах низкоуровневого интерфейса, предлагаемого " +"``optparse``" msgid "" "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 "" +"Essas considerações também significam que :mod:`optparse` provavelmente " +"fornecerá uma base melhor para autores de bibliotecas que escrevem " +"bibliotecas de processamento de argumentos de linha de comando de terceiros." msgid "" "As a concrete example, consider the following two command line argument " "parsing configurations, the first using ``optparse``, and the second using " "``argparse``:" msgstr "" +"Como exemplo concreto, considere as duas configurações de análise de " +"argumentos de linha de comando a seguir, a primeira usando ``optparse`` e a " +"segunda usando ``argparse``:" msgid "" "import optparse\n" @@ -130,6 +170,14 @@ msgid "" " opts, args = parser.parse_args()\n" " process(args, output=opts.output, verbose=opts.verbose)" msgstr "" +"import optparse\n" +"\n" +"if __name__ == '__main__':\n" +" parser = optparse.OptionParser()\n" +" parser.add_option('-o', '--output')\n" +" parser.add_option('-v', dest='verbose', action='store_true')\n" +" opts, args = parser.parse_args()\n" +" process(args, output=opts.output, verbose=opts.verbose)" msgid "" "import argparse\n" @@ -142,6 +190,15 @@ msgid "" " args = parser.parse_args()\n" " process(args.rest, output=args.output, verbose=args.verbose)" msgstr "" +"import argparse\n" +"\n" +"if __name__ == '__main__':\n" +" parser = argparse.ArgumentParser()\n" +" parser.add_argument('-o', '--output')\n" +" parser.add_argument('-v', dest='verbose', action='store_true')\n" +" parser.add_argument('rest', nargs='*')\n" +" args = parser.parse_args()\n" +" process(args.rest, output=args.output, verbose=args.verbose)" msgid "" "The most obvious difference is that in the ``optparse`` version, the non-" @@ -149,12 +206,19 @@ msgid "" "option processing is complete. In the ``argparse`` version, positional " "arguments are declared and processed in the same way as the named options." msgstr "" +"Наиболее очевидное отличие состоит в том, что в версии optparse аргументы, " +"не являющиеся параметрами, обрабатываются приложением отдельно после " +"завершения обработки параметра. В версии argparse позиционные аргументы " +"объявляются и обрабатываются так же, как именованные параметры." msgid "" "However, the ``argparse`` version will also handle some parameter " "combination differently from the way the ``optparse`` version would handle " "them. For example (amongst other differences):" msgstr "" +"No entanto, a versão ``argparse`` também manipulará algumas combinações de " +"parâmetros de forma diferente da forma como a versão ``optparse`` as " +"manipularia. Por exemplo (entre outras diferenças):" msgid "" "supplying ``-o -v`` gives ``output=\"-v\"`` and ``verbose=False`` when using " @@ -162,6 +226,10 @@ msgid "" "has been supplied for ``-o/--output``, since ``-v`` is interpreted as " "meaning the verbosity flag)" msgstr "" +"указание ``-o -v`` дает ``output=\"-v\"`` и ``verbose=False`` при " +"использовании ``optparse``, но ошибку использования с ``argparse`` (жалоба " +"на то, что не было указано значение для ``-o/--output``, поскольку ``-v`` " +"интерпретируется как флаг многословности)" msgid "" "similarly, supplying ``-o --`` gives ``output=\"--\"`` and ``args=()`` when " @@ -170,30 +238,49 @@ msgid "" "interpreted as terminating the option processing and treating all remaining " "values as positional arguments)" msgstr "" +"аналогично, предоставление ``-o --`` дает ``output=\"--\"`` и ``args=()`` " +"при использовании ``optparse``, но ошибка использования с ``argparse`` " +"( также жалуется, что для ``-o/--output`` не было указано значение, " +"поскольку ``--`` интерпретируется как прекращение обработки опции и " +"обработка всех оставшихся значений как позиционных аргументов)" msgid "" "supplying ``-o=foo`` gives ``output=\"=foo\"`` when using ``optparse``, but " "gives ``output=\"foo\"`` with ``argparse`` (since ``=`` is special cased as " "an alternative separator for option parameter values)" msgstr "" +"fornecer ``-o=foo`` retorna ``output=\"=foo\"`` ao usar ``optparse``, mas " +"retorna ``output=\"foo\"`` com ``argparse`` (já que ``=`` é um caso especial " +"como um separador alternativo para valores de parâmetros de opção)" msgid "" "Whether these differing behaviors in the ``argparse`` version are considered " "desirable or a problem will depend on the specific command line application " "use case." msgstr "" +"Se esses comportamentos diferentes na versão ``argparse`` são considerados " +"desejáveis ou um problema dependerá do caso de uso específico da aplicação " +"de linha de comando." msgid "" ":pypi:`click` is a third party argument processing library (originally based " "on ``optparse``), which allows command line applications to be developed as " "a set of decorated command implementation functions." msgstr "" +":pypi:`click` é uma biblioteca de processamento de argumentos de terceiros " +"(originalmente baseada em ``optparse``), que permite que aplicações de linha " +"de comando sejam desenvolvidas como um conjunto de funções de implementação " +"de comando decoradas." msgid "" "Other third party libraries, such as :pypi:`typer` or :pypi:`msgspec-click`, " "allow command line interfaces to be specified in ways that more effectively " "integrate with static checking of Python type annotations." msgstr "" +"Другие сторонние библиотеки, такие как :pypi:`typer` или :pypi:`msgspec-" +"click`, позволяют указывать интерфейсы командной строки способами, которые " +"более эффективно интегрируются со статической проверкой аннотаций типов " +"Python." msgid "Introduction" msgstr "Wprowadzenie" @@ -207,9 +294,16 @@ msgid "" "conventional GNU/POSIX syntax, and additionally generates usage and help " "messages for you." msgstr "" +":mod:`optparse` — более удобная, гибкая и мощная библиотека для анализа " +"параметров командной строки, чем минималистичный модуль :mod:`getopt`. :mod:" +"`optparse` использует более декларативный стиль анализа командной строки: вы " +"создаете экземпляр :class:`OptionParser`, заполняете его опциями и " +"анализируете командную строку. :mod:`optparse` позволяет пользователям " +"указывать параметры в обычном синтаксисе GNU/POSIX, а также генерирует для " +"вас сообщения об использовании и справочные сообщения." msgid "Here's an example of using :mod:`optparse` in a simple script::" -msgstr "" +msgstr "Ось приклад використання :mod:`optparse` у простому сценарії::" msgid "" "from optparse import OptionParser\n" @@ -223,14 +317,26 @@ msgid "" "\n" "(options, args) = parser.parse_args()" msgstr "" +"from optparse import OptionParser\n" +"...\n" +"parser = OptionParser()\n" +"parser.add_option(\"-f\", \"--file\", dest=\"filename\",\n" +" help=\"write report to FILE\", metavar=\"FILE\")\n" +"parser.add_option(\"-q\", \"--quiet\",\n" +" action=\"store_false\", dest=\"verbose\", default=True,\n" +" help=\"don't print status messages to stdout\")\n" +"\n" +"(options, args) = parser.parse_args()" msgid "" "With these few lines of code, users of your script can now do the \"usual " "thing\" on the command-line, for example::" msgstr "" +"За допомогою цих кількох рядків коду користувачі вашого сценарію тепер " +"можуть виконувати \"звичайні дії\" в командному рядку, наприклад:" msgid " --file=outfile -q" -msgstr "" +msgstr " --file=outfile -q" msgid "" "As it parses the command line, :mod:`optparse` sets attributes of the " @@ -243,6 +349,15 @@ msgid "" "variety of ways. Thus, the following command lines are all equivalent to " "the above example::" msgstr "" +"При анализе командной строки :mod:`optparse` устанавливает атрибуты объекта " +"``options``, возвращаемого :meth:`~OptionParser.parse_args`, на основе " +"значений командной строки, предоставленных пользователем. Когда :meth:" +"`~OptionParser.parse_args` возвращается после анализа этой командной строки, " +"``options.filename`` будет ``outfile'`, а ``options.verbose`` будет " +"``False``. :mod:`optparse` поддерживает как длинные, так и короткие " +"параметры, позволяет объединять короткие параметры и связывать параметры с " +"их аргументами различными способами. Таким образом, следующие командные " +"строки эквивалентны приведенному выше примеру:" msgid "" " -f outfile --quiet\n" @@ -250,18 +365,24 @@ msgid "" " -q -foutfile\n" " -qfoutfile" msgstr "" +" -f outfile --quiet\n" +" --quiet --file outfile\n" +" -q -foutfile\n" +" -qfoutfile" msgid "Additionally, users can run one of the following ::" -msgstr "" +msgstr "Крім того, користувачі можуть запустити одну з таких команд:" msgid "" " -h\n" " --help" msgstr "" +" -h\n" +" --help" msgid "" "and :mod:`optparse` will print out a brief summary of your script's options:" -msgstr "" +msgstr "і :mod:`optparse` виведе короткий опис параметрів вашого сценарію:" msgid "" "Usage: [options]\n" @@ -271,14 +392,22 @@ msgid "" " -f FILE, --file=FILE write report to FILE\n" " -q, --quiet don't print status messages to stdout" msgstr "" +"Usage: [options]\n" +"\n" +"Options:\n" +" -h, --help show this help message and exit\n" +" -f FILE, --file=FILE write report to FILE\n" +" -q, --quiet don't print status messages to stdout" msgid "" "where the value of *yourscript* is determined at runtime (normally from " "``sys.argv[0]``)." msgstr "" +"де значення *yourscript* визначається під час виконання (зазвичай із ``sys." +"argv[0]``)." msgid "Background" -msgstr "" +msgstr "Фон" msgid "" ":mod:`optparse` was explicitly designed to encourage the creation of " @@ -289,9 +418,16 @@ msgid "" "are unfamiliar with these conventions, reading this section will allow you " "to acquaint yourself with them." msgstr "" +":mod:`optparse` был специально разработан для поощрения создания программ с " +"простыми интерфейсами командной строки, которые следуют соглашениям, " +"установленным семейством функций :c:func:`!getopt`, доступных разработчикам " +"C. С этой целью он поддерживает только наиболее распространенный синтаксис и " +"семантику командной строки, традиционно используемые в Unix. Если вы не " +"знакомы с этими соглашениями, прочтение этого раздела позволит вам " +"ознакомиться с ними." msgid "Terminology" -msgstr "" +msgstr "Термінологія" msgid "argument" msgstr "argument" @@ -302,6 +438,10 @@ msgid "" "(``sys.argv[0]`` is the name of the program being executed). Unix shells " "also use the term \"word\"." msgstr "" +"рядок, введений у командному рядку та переданий оболонкою до ``execl()`` або " +"``execv()``. У Python аргументи є елементами ``sys.argv[1:]`` (``sys." +"argv[0]`` це ім'я програми, що виконується). Оболонки Unix також " +"використовують термін \"слово\"." msgid "" "It is occasionally desirable to substitute an argument list other than ``sys." @@ -309,9 +449,12 @@ msgid "" "argv[1:]``, or of some other list provided as a substitute for ``sys." "argv[1:]``\"." msgstr "" +"Час від часу бажано замінити список аргументів іншим, ніж ``sys.argv[1:]``, " +"тому ви повинні читати \"аргумент\" як \"елемент ``sys.argv[1:]`` або деяких " +"інший список надається замість ``sys.argv[1:]``\"." msgid "option" -msgstr "" +msgstr "варіант" msgid "" "an argument used to supply extra information to guide or customize the " @@ -323,30 +466,46 @@ msgid "" "separated words, e.g. ``--file`` or ``--dry-run``. These are the only two " "option syntaxes provided by :mod:`optparse`." msgstr "" +"аргумент, який використовується для надання додаткової інформації для " +"керівництва або налаштування виконання програми. Існує багато різних " +"синтаксисів для параметрів; традиційний синтаксис Unix - це дефіс (\"-\"), " +"за яким йде одна літера, напр. ``-x`` або ``-F``. Крім того, традиційний " +"синтаксис Unix дозволяє об’єднати кілька параметрів в один аргумент, " +"наприклад. ``-x -F`` еквівалентно ``-xF``. У проекті GNU було введено ``--" +"``, за яким йшов ряд слів, розділених дефісом, напр. ``--file`` або ``--dry-" +"run``. Це єдині два синтаксиси параметрів, які надає :mod:`optparse`." msgid "Some other option syntaxes that the world has seen include:" -msgstr "" +msgstr "Деякі інші синтаксиси параметрів, які бачив світ, включають:" msgid "" "a hyphen followed by a few letters, e.g. ``-pf`` (this is *not* the same as " "multiple options merged into a single argument)" msgstr "" +"дефіс, за яким слідує кілька літер, напр. ``-pf`` (це *не* те саме, що " +"кілька параметрів, об’єднаних в один аргумент)" msgid "" "a hyphen followed by a whole word, e.g. ``-file`` (this is technically " "equivalent to the previous syntax, but they aren't usually seen in the same " "program)" msgstr "" +"дефіс, за яким іде ціле слово, напр. ``-файл`` (технічно це еквівалент " +"попереднього синтаксису, але вони зазвичай не зустрічаються в одній програмі)" msgid "" "a plus sign followed by a single letter, or a few letters, or a word, e.g. " "``+f``, ``+rgb``" msgstr "" +"знак плюс, після якого йде одна літера, або кілька літер, або слово, напр. " +"``+f``, ``+rgb``" msgid "" "a slash followed by a letter, or a few letters, or a word, e.g. ``/f``, ``/" "file``" msgstr "" +"косу риску, за якою йде літера, або кілька літер, або слово, напр. ``/f``, " +"``/file``" msgid "" "These option syntaxes are not supported by :mod:`optparse`, and they never " @@ -354,9 +513,13 @@ msgid "" "environment, and the last only makes sense if you're exclusively targeting " "Windows or certain legacy platforms (e.g. VMS, MS-DOS)." msgstr "" +"Ці синтаксиси параметрів не підтримуються :mod:`optparse`, і вони ніколи не " +"будуть. Це зроблено навмисно: перші три є нестандартними для будь-якого " +"середовища, а останній має сенс, лише якщо ви націлені виключно на Windows " +"або певні застарілі платформи (наприклад, VMS, MS-DOS)." msgid "option argument" -msgstr "" +msgstr "аргумент опції" msgid "" "an argument that follows an option, is closely associated with that option, " @@ -364,19 +527,26 @@ msgid "" "`optparse`, option arguments may either be in a separate argument from their " "option:" msgstr "" +"аргумент, який слідує за опцією, тісно пов’язаний із цією опцією та " +"споживається зі списку аргументів, коли ця опція є. З :mod:`optparse` " +"аргументи опції можуть бути в окремому аргументі від їхньої опції:" msgid "" "-f foo\n" "--file foo" msgstr "" +"-f foo\n" +"--file foo" msgid "or included in the same argument:" -msgstr "" +msgstr "або включено в той самий аргумент:" msgid "" "-ffoo\n" "--file=foo" msgstr "" +"-ffoo\n" +"--file=foo" msgid "" "Typically, a given option either takes an argument or it doesn't. Lots of " @@ -387,6 +557,13 @@ msgid "" "interpret ``-ab``? Because of this ambiguity, :mod:`optparse` does not " "support this feature." msgstr "" +"Як правило, певна опція приймає аргумент або ні. Багатьом людям потрібна " +"функція \"необов’язкових аргументів параметрів\", тобто деякі параметри " +"прийматимуть аргумент, якщо вони його бачать, і ні, якщо вони його не " +"бачать. Це дещо суперечливо, оскільки це робить розбір неоднозначним: якщо " +"``-a`` приймає необов’язковий аргумент, а ``-b`` є іншим варіантом, як ми " +"інтерпретуємо ``-ab``? Через цю неоднозначність :mod:`optparse` не підтримує " +"цю функцію." msgid "positional argument" msgstr "" @@ -396,9 +573,11 @@ msgid "" "after options and their arguments have been parsed and removed from the " "argument list." msgstr "" +"щось, що залишилося в списку аргументів після аналізу параметрів, тобто " +"після аналізу параметрів і їхніх аргументів і видалення зі списку аргументів." msgid "required option" -msgstr "" +msgstr "необхідна опція" msgid "" "an option that must be supplied on the command-line; note that the phrase " @@ -406,21 +585,28 @@ msgid "" "doesn't prevent you from implementing required options, but doesn't give you " "much help at it either." msgstr "" +"параметр, який необхідно вказати в командному рядку; зауважте, що фраза " +"\"необхідна опція\" є суперечливою англійською мовою. :mod:`optparse` не " +"заважає вам реалізовувати необхідні параметри, але й не дуже допомагає в " +"цьому." msgid "For example, consider this hypothetical command-line::" -msgstr "" +msgstr "Наприклад, розглянемо цей гіпотетичний командний рядок::" msgid "prog -v --report report.txt foo bar" -msgstr "" +msgstr "prog -v --report report.txt foo bar" msgid "" "``-v`` and ``--report`` are both options. Assuming that ``--report`` takes " "one argument, ``report.txt`` is an option argument. ``foo`` and ``bar`` are " "positional arguments." msgstr "" +"``-v`` і ``--report`` є варіантами. Якщо припустити, що ``--report`` приймає " +"один аргумент, ``report.txt`` є аргументом опції. ``foo`` і ``bar`` є " +"позиційними аргументами." msgid "What are options for?" -msgstr "" +msgstr "Для чого існують варіанти?" msgid "" "Options are used to provide extra information to tune or customize the " @@ -432,6 +618,14 @@ msgid "" "have been rightly criticized for their non-standard syntax and confusing " "interfaces.)" msgstr "" +"Параметри використовуються для надання додаткової інформації для " +"налаштування або налаштування виконання програми. Якщо це було незрозуміло, " +"параметри зазвичай *необов’язкові*. Програма повинна нормально працювати без " +"будь-яких опцій. (Виберіть випадкову програму з наборів інструментів Unix " +"або GNU. Чи може вона запускатися взагалі без будь-яких параметрів і мати " +"сенс? Основними винятками є ``find``, ``tar`` і ``dd``\\ -- - усі вони є " +"диваками-мутантами, яких справедливо критикували за нестандартний синтаксис " +"і заплутані інтерфейси.)" msgid "" "Lots of people want their programs to have \"required options\". Think " @@ -439,6 +633,10 @@ msgid "" "of information that your program absolutely requires in order to run " "successfully, that's what positional arguments are for." msgstr "" +"Багато людей хочуть, щоб їхні програми мали \"необхідні параметри\". Подумай " +"над цим. Якщо це потрібно, то це *не обов’язково*! Якщо є частина " +"інформації, яка абсолютно необхідна вашій програмі для успішної роботи, це " +"те, для чого потрібні позиційні аргументи." msgid "" "As an example of good command-line interface design, consider the humble " @@ -447,11 +645,18 @@ msgid "" "``cp`` fails if you run it with no arguments. However, it has a flexible, " "useful syntax that does not require any options at all::" msgstr "" +"Як приклад гарного дизайну інтерфейсу командного рядка розглянемо скромну " +"утиліту ``cp`` для копіювання файлів. Немає особливого сенсу намагатися " +"скопіювати файли, не вказавши місце призначення та принаймні одне джерело. " +"Отже, ``cp`` не вдається, якщо ви запускаєте його без аргументів. Однак він " +"має гнучкий, корисний синтаксис, який не потребує жодних опцій:" msgid "" "cp SOURCE DEST\n" "cp SOURCE ... DEST-DIR" msgstr "" +"cp SOURCE DEST\n" +"cp SOURCE ... DEST-DIR" msgid "" "You can get pretty far with just that. Most ``cp`` implementations provide " @@ -461,14 +666,22 @@ msgid "" "mission of ``cp``, which is to copy either one file to another, or several " "files to another directory." msgstr "" +"Тільки з цим можна зайти досить далеко. Більшість реалізацій ``cp`` надають " +"безліч параметрів для точного налаштування способу копіювання файлів: ви " +"можете зберегти режим і час модифікації, уникати переходу за символічними " +"посиланнями, запитувати перед тим, як затирати існуючі файли, тощо. Але це " +"не відволікає від основної місії ``cp``, який скопіює або один файл до " +"іншого, або декілька файлів до іншого каталогу." msgid "What are positional arguments for?" -msgstr "" +msgstr "Для чого потрібні позиційні аргументи?" msgid "" "Positional arguments are for those pieces of information that your program " "absolutely, positively requires to run." msgstr "" +"Позиційні аргументи призначені для тих фрагментів інформації, які вашій " +"програмі абсолютно необхідні для роботи." msgid "" "A good user interface should have as few absolute requirements as possible. " @@ -479,6 +692,14 @@ msgid "" "configuration file, or a GUI: if you make that many demands on your users, " "most of them will simply give up." msgstr "" +"Хороший інтерфейс користувача повинен мати якомога менше абсолютних вимог. " +"Якщо ваша програма потребує 17 окремих фрагментів інформації для успішної " +"роботи, не має великого значення *як* ви отримуєте цю інформацію від " +"користувача --- більшість людей здадуться та підуть, перш ніж вони успішно " +"запустять програму. Це стосується незалежно від того, чи є інтерфейс " +"користувача командним рядком, файлом конфігурації чи графічним інтерфейсом " +"користувача: якщо ви поставите стільки вимог до своїх користувачів, " +"більшість із них просто здадуться." msgid "" "In short, try to minimize the amount of information that users are " @@ -491,6 +712,17 @@ msgid "" "has drawbacks as well, of course; too many options can overwhelm users and " "make your code much harder to maintain." msgstr "" +"Коротше кажучи, намагайтеся мінімізувати кількість інформації, яку " +"користувачі абсолютно зобов’язані надавати --- використовуйте розумні " +"значення за замовчуванням, коли це можливо. Звичайно, ви також хочете " +"зробити свої програми досить гнучкими. Для цього і потрібні варіанти. Знову " +"ж таки, не має значення, чи це записи у конфігураційному файлі, віджети в " +"діалоговому вікні \"Параметри\" графічного інтерфейсу користувача чи " +"параметри командного рядка --- чим більше параметрів ви застосовуєте, тим " +"гнучкішою є ваша програма, і ускладнюється його реалізація. Занадто велика " +"гнучкість також має недоліки, звичайно; занадто багато параметрів може " +"перевантажити користувачів і зробити ваш код набагато складнішим для " +"підтримки." msgid "Tutorial" msgstr "Tutorial" @@ -500,45 +732,63 @@ msgid "" "straightforward to use in most cases. This section covers the code patterns " "that are common to any :mod:`optparse`\\ -based program." msgstr "" +"Хоча :mod:`optparse` досить гнучкий і потужний, він також простий у " +"використанні в більшості випадків. Цей розділ охоплює шаблони коду, які є " +"спільними для будь-якої програми на основі :mod:`optparse`\\." msgid "" "First, you need to import the OptionParser class; then, early in the main " "program, create an OptionParser instance::" msgstr "" +"По-перше, вам потрібно імпортувати клас OptionParser; потім на початку " +"основної програми створіть екземпляр OptionParser::" msgid "" "from optparse import OptionParser\n" "...\n" "parser = OptionParser()" msgstr "" +"from optparse import OptionParser\n" +"...\n" +"parser = OptionParser()" msgid "Then you can start defining options. The basic syntax is::" -msgstr "" +msgstr "Потім можна приступати до визначення варіантів. Основний синтаксис::" msgid "" "parser.add_option(opt_str, ...,\n" " attr=value, ...)" msgstr "" +"parser.add_option(opt_str, ...,\n" +" attr=value, ...)" 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 " "what to do when it encounters that option on the command line." msgstr "" +"Кожна опція має один або більше рядків опції, наприклад ``-f`` або ``--" +"file``, і кілька атрибутів опції, які повідомляють :mod:`optparse`, чого " +"очікувати і що робити, коли він зустрічає цю опцію в командному рядку." msgid "" "Typically, each option will have one short option string and one long option " "string, e.g.::" msgstr "" +"Як правило, кожен параметр матиме один короткий рядок параметра та один " +"довгий рядок параметра, наприклад::" msgid "parser.add_option(\"-f\", \"--file\", ...)" -msgstr "" +msgstr "parser.add_option(\"-f\", \"--file\", ...)" msgid "" "You're free to define as many short option strings and as many long option " "strings as you like (including zero), as long as there is at least one " "option string overall." msgstr "" +"Ви можете визначати скільки завгодно коротких рядків параметрів і скільки " +"завгодно довгих рядків параметрів (включаючи нуль), за умови, що є принаймні " +"один рядок параметрів." msgid "" "The option strings passed to :meth:`OptionParser.add_option` are effectively " @@ -546,23 +796,32 @@ msgid "" "refer to *encountering an option* on the command line; in reality, :mod:" "`optparse` encounters *option strings* and looks up options from them." msgstr "" +"Рядки параметрів, передані до :meth:`OptionParser.add_option`, фактично є " +"мітками для параметра, визначеного цим викликом. Для стислості ми будемо " +"часто посилатися на *зустріч параметра* в командному рядку; насправді :mod:" +"`optparse` зустрічає *рядки параметрів* і шукає параметри з них." msgid "" "Once all of your options are defined, instruct :mod:`optparse` to parse your " "program's command line::" msgstr "" +"Коли всі ваші параметри визначено, дайте команду :mod:`optparse` " +"проаналізувати командний рядок вашої програми:" msgid "(options, args) = parser.parse_args()" -msgstr "" +msgstr "(options, args) = parser.parse_args()" msgid "" "(If you like, you can pass a custom argument list to :meth:`~OptionParser." "parse_args`, but that's rarely necessary: by default it uses ``sys." "argv[1:]``.)" msgstr "" +"(Если хотите, вы можете передать :meth:`~OptionParser.parse_args` " +"собственный список аргументов, но это редко бывает необходимо: по умолчанию " +"он использует ``sys.argv[1:]``.)" msgid ":meth:`~OptionParser.parse_args` returns two values:" -msgstr "" +msgstr ":meth:`~OptionParser.parse_args` возвращает два значения:" msgid "" "``options``, an object containing values for all of your options---e.g. if " @@ -570,10 +829,16 @@ msgid "" "filename supplied by the user, or ``None`` if the user did not supply that " "option" msgstr "" +"``options``, об’єкт, що містить значення для всіх ваших параметрів --- напр. " +"якщо ``--file`` приймає один рядковий аргумент, ``options.file`` буде іменем " +"файлу, наданим користувачем, або ``None``, якщо користувач не вказав цей " +"параметр" msgid "" "``args``, the list of positional arguments leftover after parsing options" msgstr "" +"``args``, список позиційних аргументів, що залишилися після аналізу " +"параметрів" msgid "" "This tutorial section only covers the four most important option " @@ -581,9 +846,13 @@ msgid "" "dest` (destination), and :attr:`~Option.help`. Of these, :attr:`~Option." "action` is the most fundamental." msgstr "" +"Цей розділ посібника охоплює лише чотири найважливіші атрибути параметрів: :" +"attr:`~Option.action`, :attr:`~Option.type`, :attr:`~Option.dest` " +"(призначення) і :attr:`~Option.help`. З них :attr:`~Option.action` є " +"найбільш фундаментальним." msgid "Understanding option actions" -msgstr "" +msgstr "Розуміння опціональних дій" msgid "" "Actions tell :mod:`optparse` what to do when it encounters an option on the " @@ -593,19 +862,30 @@ msgid "" "value in some variable---for example, take a string from the command line " "and store it in an attribute of ``options``." msgstr "" +"Дії повідомляють :mod:`optparse`, що робити, коли він зустрічає опцію в " +"командному рядку. Існує фіксований набір дій, жорстко закодований у :mod:" +"`optparse`; додавання нових дій є розширеною темою, розглянутою в розділі :" +"ref:`optparse-extending-optparse`. Більшість дій говорять :mod:`optparse` " +"зберігати значення в деякій змінній --- наприклад, взяти рядок із командного " +"рядка та зберегти його в атрибуті ``options``." msgid "" "If you don't specify an option action, :mod:`optparse` defaults to ``store``." msgstr "" +"Якщо ви не вкажете опцію дії, :mod:`optparse` за замовчуванням буде " +"``store``." msgid "The store action" -msgstr "" +msgstr "Акція магазину" msgid "" "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 "" +"Найпоширенішою дією опції є ``store``, яка повідомляє :mod:`optparse` взяти " +"наступний аргумент (або решту поточного аргументу), переконатися, що він має " +"правильний тип, і зберегти його у вибраному призначення." msgid "For example::" msgstr "Dla przykładu::" @@ -614,15 +894,20 @@ msgid "" "parser.add_option(\"-f\", \"--file\",\n" " action=\"store\", type=\"string\", dest=\"filename\")" msgstr "" +"parser.add_option(\"-f\", \"--file\",\n" +" action=\"store\", type=\"string\", dest=\"filename\")" msgid "" "Now let's make up a fake command line and ask :mod:`optparse` to parse it::" msgstr "" +"Тепер давайте створимо фальшивий командний рядок і попросимо :mod:`optparse` " +"розібрати його::" msgid "" "args = [\"-f\", \"foo.txt\"]\n" "(options, args) = parser.parse_args(args)" msgstr "" +"args = [\"-f\", \"foo.txt\"] (опции, аргументы) = parser.parse_args(args)" msgid "" "When :mod:`optparse` sees the option string ``-f``, it consumes the next " @@ -630,42 +915,56 @@ msgid "" "this call to :meth:`~OptionParser.parse_args`, ``options.filename`` is " "``\"foo.txt\"``." msgstr "" +"Когда :mod:`optparse` видит строку параметра ``-f``, он принимает следующий " +"аргумент, ``foo.txt``, и сохраняет его в ``options.filename``. Итак, после " +"этого вызова :meth:`~OptionParser.parse_args` ``options.filename`` будет " +"``\"foo.txt\"``." msgid "" "Some other option types supported by :mod:`optparse` are ``int`` and " "``float``. Here's an option that expects an integer argument::" msgstr "" +"Деякі інші типи опцій, які підтримує :mod:`optparse`, це ``int`` і " +"``float``. Ось варіант, який очікує цілочисельний аргумент::" msgid "parser.add_option(\"-n\", type=\"int\", dest=\"num\")" -msgstr "" +msgstr "parser.add_option(\"-n\", type=\"int\", dest=\"num\")" msgid "" "Note that this option has no long option string, which is perfectly " "acceptable. Also, there's no explicit action, since the default is ``store``." msgstr "" +"Зауважте, що цей параметр не має довгого рядка параметрів, що цілком " +"прийнятно. Крім того, немає явної дії, оскільки за замовчуванням є ``store``." msgid "" "Let's parse another fake command-line. This time, we'll jam the option " "argument right up against the option: since ``-n42`` (one argument) is " "equivalent to ``-n 42`` (two arguments), the code ::" msgstr "" +"Давайте розберемо ще один підроблений командний рядок. Цього разу ми " +"зіткнемося з аргументом option прямо проти параметра: оскільки ``-n42`` " +"(один аргумент) еквівалентний ``-n 42`` (два аргументи), код ::" msgid "" "(options, args) = parser.parse_args([\"-n42\"])\n" "print(options.num)" -msgstr "" +msgstr "(опции, аргументы) = parser.parse_args([\"-n42\"]) печать(options.num)" msgid "will print ``42``." -msgstr "" +msgstr "надрукує ``42``." msgid "" "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 "" +"Якщо ви не вкажете тип, :mod:`optparse` припускає ``рядок``. У поєднанні з " +"тим фактом, що типовою дією є ``store``, це означає, що наш перший приклад " +"може бути набагато коротшим:" msgid "parser.add_option(\"-f\", \"--file\", dest=\"filename\")" -msgstr "" +msgstr "parser.add_option(\"-f\", \"--file\", dest=\"filename\")" msgid "" "If you don't supply a destination, :mod:`optparse` figures out a sensible " @@ -674,14 +973,21 @@ msgid "" "option strings, :mod:`optparse` looks at the first short option string: the " "default destination for ``-f`` is ``f``." msgstr "" +"Якщо ви не вкажете призначення, :mod:`optparse` визначає розумне значення за " +"замовчуванням із рядків параметрів: якщо перший довгий рядок параметрів – " +"``--foo-bar``, тоді призначенням за замовчуванням є ``foo_bar``. Якщо довгих " +"рядків параметрів немає, :mod:`optparse` шукає перший короткий рядок " +"параметрів: типовим призначенням для ``-f`` є ``f``." msgid "" ":mod:`optparse` also includes the built-in ``complex`` type. Adding types " "is covered in section :ref:`optparse-extending-optparse`." msgstr "" +":mod:`optparse` також містить вбудований тип ``complex``. Додавання типів " +"описано в розділі :ref:`optparse-extending-optparse`." msgid "Handling boolean (flag) options" -msgstr "" +msgstr "Обробка логічних параметрів (прапорів)." msgid "" "Flag options---set a variable to true or false when a particular option is " @@ -689,61 +995,78 @@ msgid "" "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 "" +"Параметри прапорів --- встановлюють для змінної значення true або false, " +"коли відображається певний параметр --- досить поширені. :mod:`optparse` " +"підтримує їх за допомогою двох окремих дій, ``store_true`` і " +"``store_false``. Наприклад, у вас може бути прапорець ``verbose``, який " +"вмикається за допомогою ``-v`` і вимикається ``-q``::" msgid "" "parser.add_option(\"-v\", action=\"store_true\", dest=\"verbose\")\n" "parser.add_option(\"-q\", action=\"store_false\", dest=\"verbose\")" msgstr "" +"parser.add_option(\"-v\", action=\"store_true\", dest=\"verbose\")\n" +"parser.add_option(\"-q\", action=\"store_false\", dest=\"verbose\")" msgid "" "Here we have two different options with the same destination, which is " "perfectly OK. (It just means you have to be a bit careful when setting " "default values---see below.)" msgstr "" +"Тут у нас є два різні варіанти з тим самим пунктом призначення, що цілком " +"нормально. (Це лише означає, що ви повинні бути трохи обережними, " +"встановлюючи значення за замовчуванням --- див. нижче.)" msgid "" "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 "" +"Коли :mod:`optparse` зустрічає ``-v`` у командному рядку, він встановлює " +"``options.verbose`` на ``True``; коли зустрічається ``-q``, ``options." +"verbose`` встановлюється на ``False``." msgid "Other actions" -msgstr "" +msgstr "Інші дії" msgid "Some other actions supported by :mod:`optparse` are:" -msgstr "" +msgstr "Деякі інші дії, які підтримує :mod:`optparse`:" msgid "``\"store_const\"``" -msgstr "" +msgstr "``\"store_const\"``" msgid "store a constant value, pre-set via :attr:`Option.const`" msgstr "" +"сохранить постоянное значение, предварительно установленное через :attr:" +"`Option.const`" msgid "``\"append\"``" -msgstr "" +msgstr "``\"додати\"``" msgid "append this option's argument to a list" -msgstr "" +msgstr "додати аргумент цього параметра до списку" msgid "``\"count\"``" -msgstr "" +msgstr "``\"рахувати\"``" msgid "increment a counter by one" -msgstr "" +msgstr "збільшити лічильник на одиницю" msgid "``\"callback\"``" -msgstr "" +msgstr "``\"зворотний виклик\"``" msgid "call a specified function" -msgstr "" +msgstr "викликати вказану функцію" msgid "" "These are covered in section :ref:`optparse-reference-guide`, and section :" "ref:`optparse-option-callbacks`." msgstr "" +"Вони описані в розділі :ref:`optparse-reference-guide` і розділі :ref:" +"`optparse-option-callbacks`." msgid "Default values" -msgstr "" +msgstr "Значення за замовчуванням" msgid "" "All of the above examples involve setting some variable (the " @@ -753,32 +1076,51 @@ msgid "" "control. :mod:`optparse` lets you supply a default value for each " "destination, which is assigned before the command line is parsed." msgstr "" +"Усі наведені вище приклади включають встановлення деякої змінної " +"(\"призначення\"), коли відображаються певні параметри командного рядка. Що " +"трапиться, якщо ці варіанти ніколи не побачать? Оскільки ми не вказали " +"жодних значень за замовчуванням, для всіх встановлено значення ``None``. " +"Зазвичай це добре, але іноді потрібно більше контролю. :mod:`optparse` " +"дозволяє вказати значення за умовчанням для кожного пункту призначення, яке " +"призначається перед аналізом командного рядка." msgid "" "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 "" +"Спочатку розглянемо багатослівний/тихий приклад. Якщо ми хочемо, щоб :mod:" +"`optparse` встановив для ``verbose`` значення ``True``, якщо не видно ``-" +"q``, ми можемо зробити це:" msgid "" "parser.add_option(\"-v\", action=\"store_true\", dest=\"verbose\", " "default=True)\n" "parser.add_option(\"-q\", action=\"store_false\", dest=\"verbose\")" msgstr "" +"parser.add_option(\"-v\", action=\"store_true\", dest=\"verbose\", " +"default=True)\n" +"parser.add_option(\"-q\", action=\"store_false\", dest=\"verbose\")" msgid "" "Since default values apply to the *destination* rather than to any " "particular option, and these two options happen to have the same " "destination, this is exactly equivalent::" msgstr "" +"Оскільки значення за замовчуванням застосовуються до *призначення*, а не до " +"будь-якого конкретного параметра, і ці два параметри мають одне призначення, " +"це точно еквівалентно::" msgid "" "parser.add_option(\"-v\", action=\"store_true\", dest=\"verbose\")\n" "parser.add_option(\"-q\", action=\"store_false\", dest=\"verbose\", " "default=True)" msgstr "" +"parser.add_option(\"-v\", action=\"store_true\", dest=\"verbose\")\n" +"parser.add_option(\"-q\", action=\"store_false\", dest=\"verbose\", " +"default=True)" msgid "Consider this::" -msgstr "" +msgstr "Розглянемо це::" msgid "" "parser.add_option(\"-v\", action=\"store_true\", dest=\"verbose\", " @@ -786,32 +1128,48 @@ msgid "" "parser.add_option(\"-q\", action=\"store_false\", dest=\"verbose\", " "default=True)" msgstr "" +"parser.add_option(\"-v\", action=\"store_true\", dest=\"verbose\", " +"default=False)\n" +"parser.add_option(\"-q\", action=\"store_false\", dest=\"verbose\", " +"default=True)" msgid "" "Again, the default value for ``verbose`` will be ``True``: the last default " "value supplied for any particular destination is the one that counts." msgstr "" +"Знову ж таки, значенням за замовчуванням для ``verbose`` буде ``True``: " +"останнє значення за замовчуванням, надане для будь-якого конкретного " +"призначення, є тим, яке враховується." msgid "" "A clearer way to specify default values is the :meth:`set_defaults` method " "of OptionParser, which you can call at any time before calling :meth:" "`~OptionParser.parse_args`::" msgstr "" +"Более понятный способ указать значения по умолчанию — это метод :meth:" +"`set_defaults` OptionParser, который вы можете вызвать в любое время перед " +"вызовом :meth:`~OptionParser.parse_args`::" msgid "" "parser.set_defaults(verbose=True)\n" "parser.add_option(...)\n" "(options, args) = parser.parse_args()" msgstr "" +"parser.set_defaults(verbose=True)\n" +"parser.add_option(...)\n" +"(options, args) = parser.parse_args()" msgid "" "As before, the last value specified for a given option destination is the " "one that counts. For clarity, try to use one method or the other of setting " "default values, not both." msgstr "" +"Як і раніше, зараховується останнє значення, указане для даного призначення " +"опції. Для ясності спробуйте використовувати один або інший метод " +"встановлення значень за замовчуванням, а не обидва." msgid "Generating help" -msgstr "" +msgstr "Створення довідки" msgid "" ":mod:`optparse`'s ability to generate help and usage text automatically is " @@ -820,6 +1178,12 @@ msgid "" "short usage message for your whole program. Here's an OptionParser " "populated with user-friendly (documented) options::" msgstr "" +"Здатність :mod:`optparse` автоматично генерувати текст довідки та " +"використання корисна для створення зручних інтерфейсів командного рядка. " +"Все, що вам потрібно зробити, це вказати значення :attr:`~Option.help` для " +"кожного параметра та, за бажанням, коротке повідомлення про використання для " +"всієї програми. Ось OptionParser, заповнений зручними (задокументованими) " +"параметрами::" msgid "" "usage = \"usage: %prog [options] arg1 arg2\"\n" @@ -837,12 +1201,29 @@ msgid "" " help=\"interaction mode: novice, intermediate, \"\n" " \"or expert [default: %default]\")" msgstr "" +"usage = \"usage: %prog [options] arg1 arg2\"\n" +"parser = OptionParser(usage=usage)\n" +"parser.add_option(\"-v\", \"--verbose\",\n" +" action=\"store_true\", dest=\"verbose\", default=True,\n" +" help=\"make lots of noise [default]\")\n" +"parser.add_option(\"-q\", \"--quiet\",\n" +" action=\"store_false\", dest=\"verbose\",\n" +" help=\"be vewwy quiet (I'm hunting wabbits)\")\n" +"parser.add_option(\"-f\", \"--filename\",\n" +" metavar=\"FILE\", help=\"write output to FILE\")\n" +"parser.add_option(\"-m\", \"--mode\",\n" +" default=\"intermediate\",\n" +" help=\"interaction mode: novice, intermediate, \"\n" +" \"or expert [default: %default]\")" msgid "" "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 "" +"Якщо :mod:`optparse` зустрічає ``-h`` або ``--help`` у командному рядку, або " +"якщо ви просто викликаєте :meth:`parser.print_help`, він виводить наступне у " +"стандартний вивід :" msgid "" "Usage: [options] arg1 arg2\n" @@ -856,48 +1237,73 @@ msgid "" " -m MODE, --mode=MODE interaction mode: novice, intermediate, or\n" " expert [default: intermediate]" msgstr "" +"Usage: [options] arg1 arg2\n" +"\n" +"Options:\n" +" -h, --help show this help message and exit\n" +" -v, --verbose make lots of noise [default]\n" +" -q, --quiet be vewwy quiet (I'm hunting wabbits)\n" +" -f FILE, --filename=FILE\n" +" write output to FILE\n" +" -m MODE, --mode=MODE interaction mode: novice, intermediate, or\n" +" expert [default: intermediate]" msgid "" "(If the help output is triggered by a help option, :mod:`optparse` exits " "after printing the help text.)" msgstr "" +"(Якщо вихід довідки ініціюється опцією довідки, :mod:`optparse` завершує " +"роботу після друку тексту довідки.)" msgid "" "There's a lot going on here to help :mod:`optparse` generate the best " "possible help message:" msgstr "" +"Тут багато чого робиться, щоб допомогти :mod:`optparse` створити найкраще " +"довідкове повідомлення:" msgid "the script defines its own usage message::" -msgstr "" +msgstr "сценарій визначає власне повідомлення про використання::" msgid "usage = \"usage: %prog [options] arg1 arg2\"" -msgstr "" +msgstr "usage = \"usage: %prog [options] arg1 arg2\"" msgid "" ":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 "" +":mod:`optparse` розширює ``%prog`` у рядку використання до назви поточної " +"програми, тобто ``os.path.basename(sys.argv[0])``. Потім розгорнутий рядок " +"друкується перед детальною довідкою параметрів." msgid "" "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 "" +"Якщо ви не вказали рядок використання, :mod:`optparse` використовує м’яке, " +"але розумне значення за умовчанням: ``\"Використання: %prog [параметри]\"``, " +"що добре, якщо ваш сценарій не приймає жодних позиційних аргументів." 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 " "look good." msgstr "" +"кожен параметр визначає довідковий рядок і не турбується про перенесення " +"рядків---\\ :mod:`optparse` піклується про обтікання рядків і робить вихід " +"довідки гарним." msgid "" "options that take a value indicate this fact in their automatically " "generated help message, e.g. for the \"mode\" option::" msgstr "" +"параметры, принимающие значения, указывают этот факт в автоматически " +"создаваемом справочном сообщении, например, для параметра «режим»::" msgid "-m MODE, --mode=MODE" -msgstr "" +msgstr "-m MODE, --mode=MODE" msgid "" "Here, \"MODE\" is called the meta-variable: it stands for the argument that " @@ -907,9 +1313,15 @@ msgid "" "the ``--filename`` option explicitly sets ``metavar=\"FILE\"``, resulting in " "this automatically generated option description::" msgstr "" +"Здесь «MODE» называется метапеременной: она обозначает аргумент, который " +"пользователь должен передать в ``-m``/``--mode``. По умолчанию :mod:" +"`optparse` преобразует имя целевой переменной в верхний регистр и использует " +"его для метапеременной. Иногда это не то, что вам нужно — например, опция " +"``--filename`` явно устанавливает ``metavar=\"FILE\"``, в результате чего " +"автоматически генерируется следующее описание опции:" msgid "-f FILE, --filename=FILE" -msgstr "" +msgstr "-f FILE, --filename=FILE" msgid "" "This is important for more than just saving space, though: the manually " @@ -919,6 +1331,12 @@ msgid "" "effective way to make your help text a lot clearer and more useful for end " "users." msgstr "" +"Однак це важливо не тільки для економії місця: написаний вручну текст " +"довідки використовує мета-змінну ``FILE``, щоб зрозуміти користувачеві, що " +"існує зв’язок між напівформальним синтаксисом ``-f FILE`` і неформальний " +"семантичний опис \"записати вихід у ФАЙЛ\". Це простий, але ефективний " +"спосіб зробити ваш текст довідки набагато зрозумілішим і кориснішим для " +"кінцевих користувачів." msgid "" "options that have a default value can include ``%default`` in the help " @@ -926,47 +1344,63 @@ msgid "" "default value. If an option has no default value (or the default value is " "``None``), ``%default`` expands to ``none``." msgstr "" +"параметри, які мають значення за замовчуванням, можуть містити ``%default`` " +"у рядку довідки ---\\ :mod:`optparse` замінить його на :func:`str` значення " +"параметра за замовчуванням. Якщо параметр не має значення за замовчуванням " +"(або стандартним значенням є ``None``), ``%default`` розширюється до " +"``none``." msgid "Grouping Options" -msgstr "" +msgstr "Параметри групування" msgid "" "When dealing with many options, it is convenient to group these options for " "better help output. An :class:`OptionParser` can contain several option " "groups, each of which can contain several options." msgstr "" +"Коли ви маєте справу з багатьма параметрами, зручно згрупувати ці параметри " +"для кращого виведення довідки. :class:`OptionParser` може містити кілька " +"груп опцій, кожна з яких може містити кілька опцій." msgid "An option group is obtained using the class :class:`OptionGroup`:" -msgstr "" +msgstr "Група опцій отримується за допомогою класу :class:`OptionGroup`:" msgid "where" -msgstr "" +msgstr "де" msgid "" "parser is the :class:`OptionParser` instance the group will be inserted in to" msgstr "" +"parser — це екземпляр :class:`OptionParser`, до якого буде вставлено групу" msgid "title is the group title" -msgstr "" +msgstr "title — назва групи" msgid "description, optional, is a long description of the group" -msgstr "" +msgstr "description, необов'язковий, це довгий опис групи" msgid "" ":class:`OptionGroup` inherits from :class:`OptionContainer` (like :class:" "`OptionParser`) and so the :meth:`add_option` method can be used to add an " "option to the group." msgstr "" +":class:`OptionGroup` успадковує :class:`OptionContainer` (наприклад, :class:" +"`OptionParser`), тому метод :meth:`add_option` можна використовувати для " +"додавання опції до групи." msgid "" "Once all the options are declared, using the :class:`OptionParser` method :" "meth:`add_option_group` the group is added to the previously defined parser." msgstr "" +"Після оголошення всіх опцій за допомогою методу :class:`OptionParser` :meth:" +"`add_option_group` група додається до попередньо визначеного аналізатора." msgid "" "Continuing with the parser defined in the previous section, adding an :class:" "`OptionGroup` to a parser is easy::" msgstr "" +"Продовжуючи роботу з аналізатором, визначеним у попередньому розділі, " +"додати :class:`OptionGroup` до аналізатора легко:" msgid "" "group = OptionGroup(parser, \"Dangerous Options\",\n" @@ -975,9 +1409,14 @@ msgid "" "group.add_option(\"-g\", action=\"store_true\", help=\"Group option.\")\n" "parser.add_option_group(group)" msgstr "" +"group = OptionGroup(parser, \"Dangerous Options\",\n" +" \"Caution: use these options at your own risk. \"\n" +" \"It is believed that some of them bite.\")\n" +"group.add_option(\"-g\", action=\"store_true\", help=\"Group option.\")\n" +"parser.add_option_group(group)" msgid "This would result in the following help output:" -msgstr "" +msgstr "Це призведе до наступного результату довідки:" msgid "" "Usage: [options] arg1 arg2\n" @@ -997,11 +1436,29 @@ msgid "" "\n" " -g Group option." msgstr "" +"Usage: [options] arg1 arg2\n" +"\n" +"Options:\n" +" -h, --help show this help message and exit\n" +" -v, --verbose make lots of noise [default]\n" +" -q, --quiet be vewwy quiet (I'm hunting wabbits)\n" +" -f FILE, --filename=FILE\n" +" write output to FILE\n" +" -m MODE, --mode=MODE interaction mode: novice, intermediate, or\n" +" expert [default: intermediate]\n" +"\n" +" Dangerous Options:\n" +" Caution: use these options at your own risk. It is believed that some\n" +" of them bite.\n" +"\n" +" -g Group option." msgid "" "A bit more complete example might involve using more than one group: still " "extending the previous example::" msgstr "" +"Трохи повніший приклад може включати використання кількох груп: все ще " +"розширюючи попередній приклад::" msgid "" "group = OptionGroup(parser, \"Dangerous Options\",\n" @@ -1019,9 +1476,23 @@ msgid "" "done\")\n" "parser.add_option_group(group)" msgstr "" +"group = OptionGroup(parser, \"Dangerous Options\",\n" +" \"Caution: use these options at your own risk. \"\n" +" \"It is believed that some of them bite.\")\n" +"group.add_option(\"-g\", action=\"store_true\", help=\"Group option.\")\n" +"parser.add_option_group(group)\n" +"\n" +"group = OptionGroup(parser, \"Debug Options\")\n" +"group.add_option(\"-d\", \"--debug\", action=\"store_true\",\n" +" help=\"Print debug information\")\n" +"group.add_option(\"-s\", \"--sql\", action=\"store_true\",\n" +" help=\"Print all SQL statements executed\")\n" +"group.add_option(\"-e\", action=\"store_true\", help=\"Print every action " +"done\")\n" +"parser.add_option_group(group)" msgid "that results in the following output:" -msgstr "" +msgstr "що призводить до наступного результату:" msgid "" "Usage: [options] arg1 arg2\n" @@ -1046,26 +1517,55 @@ msgid "" " -s, --sql Print all SQL statements executed\n" " -e Print every action done" msgstr "" +"Usage: [options] arg1 arg2\n" +"\n" +"Options:\n" +" -h, --help show this help message and exit\n" +" -v, --verbose make lots of noise [default]\n" +" -q, --quiet be vewwy quiet (I'm hunting wabbits)\n" +" -f FILE, --filename=FILE\n" +" write output to FILE\n" +" -m MODE, --mode=MODE interaction mode: novice, intermediate, or expert\n" +" [default: intermediate]\n" +"\n" +" Dangerous Options:\n" +" Caution: use these options at your own risk. It is believed that some\n" +" of them bite.\n" +"\n" +" -g Group option.\n" +"\n" +" Debug Options:\n" +" -d, --debug Print debug information\n" +" -s, --sql Print all SQL statements executed\n" +" -e Print every action done" msgid "" "Another interesting method, in particular when working programmatically with " "option groups is:" msgstr "" +"Ще один цікавий метод, зокрема під час програмної роботи з групами " +"параметрів:" msgid "" "Return the :class:`OptionGroup` to which the short or long option string " "*opt_str* (e.g. ``'-o'`` or ``'--option'``) belongs. If there's no such :" "class:`OptionGroup`, return ``None``." msgstr "" +"Повертає :class:`OptionGroup`, до якої належить короткий або довгий рядок " +"параметрів *opt_str* (наприклад, ``'-o'`` або ``'--option'``). Якщо такої :" +"class:`OptionGroup` немає, поверніть ``None``." msgid "Printing a version string" -msgstr "" +msgstr "Друк рядка версії" msgid "" "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 "" +"Подібно до короткого рядка використання, :mod:`optparse` також може " +"надрукувати рядок версії вашої програми. Ви повинні надати рядок як аргумент " +"``version`` для OptionParser::" msgid "parser = OptionParser(usage=\"%prog [-f] [-q]\", version=\"%prog 1.0\")" msgstr "" @@ -1078,9 +1578,15 @@ msgid "" "encounters this option on the command line, it expands your ``version`` " "string (by replacing ``%prog``), prints it to stdout, and exits." msgstr "" +"``%prog`` розгортається так само, як і в ``usage``. Окрім цього, ``версія`` " +"може містити все, що завгодно. Коли ви вказуєте його, :mod:`optparse` " +"автоматично додає опцію ``--version`` до вашого аналізатора. Якщо він " +"зустрічає цей параметр у командному рядку, він розгортає ваш рядок " +"``version`` (шляхом заміни ``%prog``), друкує його в stdout і завершує " +"роботу." msgid "For example, if your script is called ``/usr/bin/foo``:" -msgstr "" +msgstr "Наприклад, якщо ваш скрипт називається ``/usr/bin/foo``:" msgid "" "$ /usr/bin/foo --version\n" @@ -1093,6 +1599,8 @@ msgid "" "The following two methods can be used to print and get the ``version`` " "string:" msgstr "" +"Наступні два методи можна використати для друку та отримання рядка " +"``version``:" msgid "" "Print the version message for the current program (``self.version``) to " @@ -1100,14 +1608,21 @@ msgid "" "``%prog`` in ``self.version`` is replaced with the name of the current " "program. Does nothing if ``self.version`` is empty or undefined." msgstr "" +"Вивести повідомлення про версію для поточної програми (``self.version``) у " +"*файл* (стандартний вивід за замовчуванням). Як і у випадку з :meth:" +"`print_usage`, будь-яке входження ``%prog`` у ``self.version`` замінюється " +"назвою поточної програми. Нічого не робить, якщо ``self.version`` порожній " +"або невизначений." msgid "" "Same as :meth:`print_version` but returns the version string instead of " "printing it." msgstr "" +"Те саме, що :meth:`print_version`, але повертає рядок версії замість її " +"друку." msgid "How :mod:`optparse` handles errors" -msgstr "" +msgstr "Як :mod:`optparse` обробляє помилки" msgid "" "There are two broad classes of errors that :mod:`optparse` has to worry " @@ -1117,6 +1632,13 @@ msgid "" "are dealt with in the usual way: raise an exception (either :exc:`optparse." "OptionError` or :exc:`TypeError`) and let the program crash." msgstr "" +"Є два широких класи помилок, про які :mod:`optparse` має турбуватися: " +"помилки програміста та помилки користувача. Помилки програміста зазвичай є " +"помилковими викликами :func:`OptionParser.add_option`, напр. недійсні рядки " +"опцій, невідомі атрибути опцій, відсутні атрибути опцій тощо. З цими " +"справляються звичайним способом: викликають виняток (або :exc:`optparse." +"OptionError` або :exc:`TypeError`) і дозволяють програмі аварійно " +"завершувати роботу." msgid "" "Handling user errors is much more important, since they are guaranteed to " @@ -1127,6 +1649,14 @@ msgid "" "you can call :func:`OptionParser.error` to signal an application-defined " "error condition::" msgstr "" +"Обробка помилок користувача є набагато важливішою, оскільки вони гарантовано " +"траплятимуться незалежно від того, наскільки стабільним є ваш код. :mod:" +"`optparse` може автоматично виявляти деякі помилки користувача, такі як " +"неправильні аргументи параметрів (передача ``-n 4x``, де ``-n`` приймає " +"цілочисельний аргумент), відсутні аргументи (``-n`` у кінець командного " +"рядка, де ``-n`` приймає аргумент будь-якого типу). Крім того, ви можете " +"викликати :func:`OptionParser.error`, щоб повідомити про помилку, визначену " +"програмою:" msgid "" "(options, args) = parser.parse_args()\n" @@ -1134,17 +1664,24 @@ msgid "" "if options.a and options.b:\n" " parser.error(\"options -a and -b are mutually exclusive\")" msgstr "" +"(опции, аргументы) = parser.parse_args() ... если options.a и options.b: " +"parser.error(\"Параметры -a и -b являются взаимоисключающими\")" msgid "" "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 "" +"У будь-якому випадку :mod:`optparse` обробляє помилку однаково: він друкує " +"повідомлення про використання програми та повідомлення про помилку до " +"стандартної помилки та виходить зі статусом помилки 2." msgid "" "Consider the first example above, where the user passes ``4x`` to an option " "that takes an integer:" msgstr "" +"Розглянемо перший приклад вище, де користувач передає ``4x`` опції, яка " +"приймає ціле число:" msgid "" "$ /usr/bin/foo -n 4x\n" @@ -1152,9 +1689,11 @@ msgid "" "\n" "foo: error: option -n: invalid integer value: '4x'" msgstr "" +"$ /usr/bin/foo -n 4x Использование: foo [опции] foo: ошибка: опция -n: " +"неверное целое значение: '4x'" msgid "Or, where the user fails to pass a value at all:" -msgstr "" +msgstr "Або, коли користувач взагалі не може передати значення:" msgid "" "$ /usr/bin/foo -n\n" @@ -1172,18 +1711,24 @@ msgid "" "option involved in the error; be sure to do the same when calling :func:" "`OptionParser.error` from your application code." msgstr "" +":mod:`optparse`\\ -згенеровані повідомлення про помилку завжди вказують " +"опцію, пов’язану з помилкою; обов’язково зробіть те саме під час виклику :" +"func:`OptionParser.error` із коду програми." msgid "" "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 "" +"Якщо стандартна поведінка обробки помилок :mod:`optparse` не відповідає " +"вашим потребам, вам потрібно створити підклас OptionParser і перевизначити " +"його :meth:`~OptionParser.exit` та/або :meth:`~OptionParser.error` методи." msgid "Putting it all together" -msgstr "" +msgstr "Зібравши все разом" msgid "Here's what :mod:`optparse`\\ -based scripts usually look like::" -msgstr "" +msgstr "Ось як зазвичай виглядають сценарії на основі :mod:`optparse`\\:" msgid "" "from optparse import OptionParser\n" @@ -1208,26 +1753,53 @@ msgid "" "if __name__ == \"__main__\":\n" " main()" msgstr "" +"from optparse import OptionParser\n" +"...\n" +"def main():\n" +" usage = \"usage: %prog [options] arg\"\n" +" parser = OptionParser(usage)\n" +" parser.add_option(\"-f\", \"--file\", dest=\"filename\",\n" +" help=\"read data from FILENAME\")\n" +" parser.add_option(\"-v\", \"--verbose\",\n" +" action=\"store_true\", dest=\"verbose\")\n" +" parser.add_option(\"-q\", \"--quiet\",\n" +" action=\"store_false\", dest=\"verbose\")\n" +" ...\n" +" (options, args) = parser.parse_args()\n" +" if len(args) != 1:\n" +" parser.error(\"incorrect number of arguments\")\n" +" if options.verbose:\n" +" print(\"reading %s...\" % options.filename)\n" +" ...\n" +"\n" +"if __name__ == \"__main__\":\n" +" main()" msgid "Reference Guide" -msgstr "" +msgstr "Довідковий посібник" msgid "Creating the parser" -msgstr "" +msgstr "Створення аналізатора" msgid "" "The first step in using :mod:`optparse` is to create an OptionParser " "instance." msgstr "" +"Першим кроком у використанні :mod:`optparse` є створення екземпляра " +"OptionParser." msgid "" "The OptionParser constructor has no required arguments, but a number of " "optional keyword arguments. You should always pass them as keyword " "arguments, i.e. do not rely on the order in which the arguments are declared." msgstr "" +"Конструктор OptionParser не має обов’язкових аргументів, але має декілька " +"необов’язкових ключових аргументів. Ви завжди повинні передавати їх як " +"аргументи ключового слова, тобто не покладайтеся на порядок, у якому " +"оголошено аргументи." msgid "``usage`` (default: ``\"%prog [options]\"``)" -msgstr "" +msgstr "``використання`` (за замовчуванням: ``\"%prog [параметри]\"``)" msgid "" "The usage summary to print when your program is run incorrectly or with a " @@ -1236,9 +1808,15 @@ msgid "" "that keyword argument). To suppress a usage message, pass the special " "value :const:`optparse.SUPPRESS_USAGE`." msgstr "" +"Сводка использования, которая будет распечатана, если ваша программа " +"запускается неправильно или с помощью опции справки. Когда :mod:`optparse` " +"печатает строку использования, она расширяет `` %p rog`` в ``os.path." +"basename(sys.argv[0])`` (или в ``prog``, если вы передали этот аргумент " +"ключевого слова). Чтобы подавить сообщение об использовании, передайте " +"специальное значение :const:`optparse.SUPPRESS_USAGE`." msgid "``option_list`` (default: ``[]``)" -msgstr "" +msgstr "``option_list`` (за замовчуванням: ``[]``)" msgid "" "A list of Option objects to populate the parser with. The options in " @@ -1247,15 +1825,22 @@ msgid "" "version or help options. Deprecated; use :meth:`add_option` after creating " "the parser instead." msgstr "" +"Список об’єктів Option для заповнення аналізатора. Опції в ``option_list`` " +"додаються після будь-яких опцій в ``standard_option_list`` (атрибут класу, " +"який може бути встановлений підкласами OptionParser), але перед будь-якою " +"версією або опціями довідки. Застаріле; замість цього використовуйте :meth:" +"`add_option` після створення аналізатора." msgid "``option_class`` (default: optparse.Option)" -msgstr "" +msgstr "``option_class`` (за замовчуванням: optparse.Option)" msgid "Class to use when adding options to the parser in :meth:`add_option`." msgstr "" +"Клас для використання під час додавання параметрів до аналізатора в :meth:" +"`add_option`." msgid "``version`` (default: ``None``)" -msgstr "" +msgstr "``version`` (за замовчуванням: ``None``)" msgid "" "A version string to print when the user supplies a version option. If you " @@ -1263,17 +1848,24 @@ msgid "" "version option with the single option string ``--version``. The substring " "``%prog`` is expanded the same as for ``usage``." msgstr "" +"Рядок версії для друку, коли користувач вказує параметр версії. Якщо ви " +"вказуєте справжнє значення для ``version``, :mod:`optparse` автоматично " +"додає опцію версії з єдиним рядком опції ``--version``. Підрядок ``%prog`` " +"розгортається так само, як і ``usage``." msgid "``conflict_handler`` (default: ``\"error\"``)" -msgstr "" +msgstr "``conflict_handler`` (за замовчуванням: ``\"помилка\"``)" msgid "" "Specifies what to do when options with conflicting option strings are added " "to the parser; see section :ref:`optparse-conflicts-between-options`." msgstr "" +"Вказує, що робити, коли параметри з конфліктуючими рядками параметрів " +"додаються до аналізатора; див. розділ :ref:`optparse-conflicts-between-" +"options`." msgid "``description`` (default: ``None``)" -msgstr "" +msgstr "``опис`` (за замовчуванням: ``None``)" msgid "" "A paragraph of text giving a brief overview of your program. :mod:`optparse` " @@ -1281,23 +1873,32 @@ msgid "" "when the user requests help (after ``usage``, but before the list of " "options)." msgstr "" +"Абзац тексту, що дає короткий огляд вашої програми. :mod:`optparse` " +"переформатує цей абзац відповідно до поточної ширини терміналу та друкує " +"його, коли користувач запитує допомогу (після ``використання``, але перед " +"списком параметрів)." msgid "``formatter`` (default: a new :class:`IndentedHelpFormatter`)" -msgstr "" +msgstr "``formatter`` (за замовчуванням: новий :class:`IndentedHelpFormatter`)" msgid "" "An instance of optparse.HelpFormatter that will be used for printing help " "text. :mod:`optparse` provides two concrete classes for this purpose: " "IndentedHelpFormatter and TitledHelpFormatter." msgstr "" +"Екземпляр optparse.HelpFormatter, який використовуватиметься для друку " +"тексту довідки. :mod:`optparse` надає два конкретних класи для цієї мети: " +"IndentedHelpFormatter і TitledHelpFormatter." msgid "``add_help_option`` (default: ``True``)" -msgstr "" +msgstr "``add_help_option`` (за замовчуванням: ``True``)" msgid "" "If true, :mod:`optparse` will add a help option (with option strings ``-h`` " "and ``--help``) to the parser." msgstr "" +"Якщо істина, :mod:`optparse` додасть параметр довідки (із рядками параметрів " +"``-h`` і ``--help``) до аналізатора." msgid "``prog``" msgstr "``prog``" @@ -1306,35 +1907,46 @@ msgid "" "The string to use when expanding ``%prog`` in ``usage`` and ``version`` " "instead of ``os.path.basename(sys.argv[0])``." msgstr "" +"Рядок для використання під час розширення ``%prog`` у ``usage`` і " +"``version`` замість ``os.path.basename(sys.argv[0])``." msgid "``epilog`` (default: ``None``)" -msgstr "" +msgstr "``епілог`` (за замовчуванням: ``None``)" msgid "A paragraph of help text to print after the option help." -msgstr "" +msgstr "Абзац тексту довідки для друку після довідки параметра." msgid "Populating the parser" -msgstr "" +msgstr "Заповнення аналізатора" msgid "" "There are several ways to populate the parser with options. The preferred " "way is by using :meth:`OptionParser.add_option`, as shown in section :ref:" "`optparse-tutorial`. :meth:`add_option` can be called in one of two ways:" msgstr "" +"Є кілька способів заповнити аналізатор параметрами. Кращим способом є " +"використання :meth:`OptionParser.add_option`, як показано в розділі :ref:" +"`optparse-tutorial`. :meth:`add_option` можна викликати одним із двох " +"способів:" msgid "pass it an Option instance (as returned by :func:`make_option`)" -msgstr "" +msgstr "передати йому екземпляр Option (як повертає :func:`make_option`)" msgid "" "pass it any combination of positional and keyword arguments that are " "acceptable to :func:`make_option` (i.e., to the Option constructor), and it " "will create the Option instance for you" msgstr "" +"передайте йому будь-яку комбінацію позиційних і ключових аргументів, які " +"прийнятні для :func:`make_option` (тобто для конструктора Option), і він " +"створить екземпляр Option для вас" msgid "" "The other alternative is to pass a list of pre-constructed Option instances " "to the OptionParser constructor, as in::" msgstr "" +"Іншою альтернативою є передача списку попередньо сконструйованих екземплярів " +"Option конструктору OptionParser, як у::" msgid "" "option_list = [\n" @@ -1345,6 +1957,13 @@ msgid "" " ]\n" "parser = OptionParser(option_list=option_list)" msgstr "" +"option_list = [\n" +" make_option(\"-f\", \"--filename\",\n" +" action=\"store\", type=\"string\", dest=\"filename\"),\n" +" make_option(\"-q\", \"--quiet\",\n" +" action=\"store_false\", dest=\"verbose\"),\n" +" ]\n" +"parser = OptionParser(option_list=option_list)" msgid "" "(:func:`make_option` is a factory function for creating Option instances; " @@ -1353,32 +1972,43 @@ msgid "" "`make_option` will pick the right class to instantiate. Do not instantiate " "Option directly.)" msgstr "" +"(:func:`make_option` є фабричною функцією для створення екземплярів Option; " +"наразі це псевдонім для конструктора Option. Майбутня версія :mod:`optparse` " +"може розділити Option на кілька класів і :func:`make_option` вибере " +"правильний клас для створення екземпляра. Не створюйте екземпляр Option " +"безпосередньо.)" msgid "Defining options" -msgstr "" +msgstr "Визначення варіантів" msgid "" "Each Option instance represents a set of synonymous command-line option " "strings, e.g. ``-f`` and ``--file``. You can specify any number of short or " "long option strings, but you must specify at least one overall option string." msgstr "" +"Кожен екземпляр Option представляє набір синонімічних рядків параметрів " +"командного рядка, напр. ``-f`` і ``--file``. Ви можете вказати будь-яку " +"кількість коротких або довгих рядків параметрів, але ви повинні вказати " +"принаймні один загальний рядок параметрів." msgid "" "The canonical way to create an :class:`Option` instance is with the :meth:" "`add_option` method of :class:`OptionParser`." msgstr "" +"Канонічним способом створення екземпляра :class:`Option` є метод :meth:" +"`add_option` :class:`OptionParser`." msgid "To define an option with only a short option string::" -msgstr "" +msgstr "Щоб визначити опцію лише за допомогою короткого рядка опції:" msgid "parser.add_option(\"-f\", attr=value, ...)" -msgstr "" +msgstr "parser.add_option(\"-f\", attr=value, ...)" msgid "And to define an option with only a long option string::" -msgstr "" +msgstr "І щоб визначити опцію лише з довгим рядком опції::" msgid "parser.add_option(\"--foo\", attr=value, ...)" -msgstr "" +msgstr "parser.add_option(\"--foo\", attr=value, ...)" msgid "" "The keyword arguments define attributes of the new Option object. The most " @@ -1387,55 +2017,74 @@ msgid "" "irrelevant option attributes, or fail to pass required ones, :mod:`optparse` " "raises an :exc:`OptionError` exception explaining your mistake." msgstr "" +"Ключові аргументи визначають атрибути нового об’єкта Option. Найважливішим " +"атрибутом параметра є :attr:`~Option.action`, і він значною мірою визначає, " +"які інші атрибути є доречними або необхідними. Якщо ви передаєте " +"нерелевантні атрибути параметрів або не передаєте необхідні, :mod:`optparse` " +"викликає виняток :exc:`OptionError`, пояснюючи вашу помилку." 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:" msgstr "" +"*Дія* параметра визначає, що робить :mod:`optparse`, коли він зустрічає цей " +"параметр у командному рядку. Стандартні дії параметрів, жорстко закодовані " +"в :mod:`optparse`:" msgid "``\"store\"``" -msgstr "" +msgstr "``\"магазин\"``" msgid "store this option's argument (default)" -msgstr "" +msgstr "зберегти аргумент цього параметра (за замовчуванням)" msgid "``\"store_true\"``" -msgstr "" +msgstr "``\"store_true\"``" msgid "store ``True``" msgstr "store ``True``" msgid "``\"store_false\"``" -msgstr "" +msgstr "``\"store_false\"``" msgid "store ``False``" msgstr "store ``False``" msgid "``\"append_const\"``" -msgstr "" +msgstr "``\"append_const\"``" msgid "append a constant value to a list, pre-set via :attr:`Option.const`" msgstr "" +"добавить постоянное значение в список, предварительно установленное с " +"помощью :attr:`Option.const`" msgid "``\"help\"``" -msgstr "" +msgstr "``\"допомога\"``" msgid "" "print a usage message including all options and the documentation for them" msgstr "" +"роздрукувати повідомлення про використання, включно з усіма параметрами та " +"документацією до них" msgid "" "(If you don't supply an action, the default is ``\"store\"``. For this " "action, you may also supply :attr:`~Option.type` and :attr:`~Option.dest` " "option attributes; see :ref:`optparse-standard-option-actions`.)" msgstr "" +"(Якщо ви не вказали дію, за замовчуванням буде ``\"store\"``. Для цієї дії " +"ви також можете вказати атрибути параметрів :attr:`~Option.type` і :attr:" +"`~Option.dest` див. :ref:`optparse-standard-option-actions`.)" msgid "" "As you can see, most actions involve storing or updating a value somewhere. :" "mod:`optparse` always creates a special object for this, conventionally " "called ``options``, which is an instance of :class:`optparse.Values`." msgstr "" +"Как видите, большинство действий подразумевают сохранение или обновление " +"значения где-либо. :mod:`optparse` всегда создаёт для этого специальный " +"объект, условно называемый ``options``, который является экземпляром :class:" +"`optparse.Values`." msgid "" "An object holding parsed argument names and values as attributes. Normally " @@ -1444,36 +2093,49 @@ msgid "" "`OptionParser.parse_args` (as described in :ref:`optparse-parsing-" "arguments`)." msgstr "" +"Объект, содержащий имена и значения анализируемых аргументов в качестве " +"атрибутов. Обычно создается путем вызова при вызове :meth:`OptionParser." +"parse_args` и может быть переопределен пользовательским подклассом, " +"передаваемым в аргумент *values* :meth:`OptionParser.parse_args` (как " +"описано в :ref:`optparse-parsing) -аргументы`)." msgid "" "Option arguments (and various other values) are stored as attributes of this " "object, according to the :attr:`~Option.dest` (destination) option attribute." msgstr "" +"Аргументы опции (и различные другие значения) сохраняются как атрибуты этого " +"объекта в соответствии с атрибутом опции :attr:`~Option.dest` (destination)." msgid "For example, when you call ::" -msgstr "" +msgstr "Наприклад, коли ви дзвоните ::" msgid "parser.parse_args()" -msgstr "" +msgstr "parser.parse_args()" msgid "" "one of the first things :mod:`optparse` does is create the ``options`` " "object::" msgstr "" +"одна з перших речей, які робить :mod:`optparse`, це створює об’єкт " +"``options``::" msgid "options = Values()" -msgstr "" +msgstr "options = Values()" msgid "If one of the options in this parser is defined with ::" msgstr "" +"Якщо один із параметрів цього синтаксичного аналізатора визначено за " +"допомогою ::" msgid "" "parser.add_option(\"-f\", \"--file\", action=\"store\", type=\"string\", " "dest=\"filename\")" msgstr "" +"parser.add_option(\"-f\", \"--file\", action=\"store\", type=\"string\", " +"dest=\"filename\")" msgid "and the command-line being parsed includes any of the following::" -msgstr "" +msgstr "а командний рядок, що аналізується, містить будь-яке з наступного:" msgid "" "-ffoo\n" @@ -1481,22 +2143,29 @@ msgid "" "--file=foo\n" "--file foo" msgstr "" +"-ffoo\n" +"-f foo\n" +"--file=foo\n" +"--file foo" msgid "" "then :mod:`optparse`, on seeing this option, will do the equivalent of ::" -msgstr "" +msgstr "тоді :mod:`optparse`, побачивши цю опцію, зробить еквівалент::" msgid "options.filename = \"foo\"" -msgstr "" +msgstr "options.filename = \"foo\"" msgid "" "The :attr:`~Option.type` and :attr:`~Option.dest` option attributes are " "almost as important as :attr:`~Option.action`, but :attr:`~Option.action` is " "the only one that makes sense for *all* options." msgstr "" +"Атрибути :attr:`~Option.type` і :attr:`~Option.dest` майже такі ж важливі, " +"як і :attr:`~Option.action`, але :attr:`~Option.action` є єдиним такий, який " +"має сенс для *всіх* варіантів." msgid "Option attributes" -msgstr "" +msgstr "Атрибути варіантів" msgid "" "A single command line argument, with various attributes passed by keyword to " @@ -1504,6 +2173,11 @@ msgid "" "rather than directly, and can be overridden by a custom class via the " "*option_class* argument to :class:`OptionParser`." msgstr "" +"Один аргумент командной строки с различными атрибутами, передаваемыми " +"конструктору по ключевому слову. Обычно создается с помощью :meth:" +"`OptionParser.add_option`, а не напрямую, и может быть переопределен " +"пользовательским классом через аргумент *option_class* для :class:" +"`OptionParser`." msgid "" "The following option attributes may be passed as keyword arguments to :meth:" @@ -1511,6 +2185,10 @@ msgid "" "relevant to a particular option, or fail to pass a required option " "attribute, :mod:`optparse` raises :exc:`OptionError`." msgstr "" +"Наступні атрибути параметрів можна передати як ключові аргументи до :meth:" +"`OptionParser.add_option`. Якщо ви передаєте атрибут опції, який не має " +"відношення до певної опції, або не передаєте потрібний атрибут опції, :mod:" +"`optparse` викликає :exc:`OptionError`." msgid "(default: ``\"store\"``)" msgstr "(default: ``\"store\"``)" @@ -1520,6 +2198,9 @@ msgid "" "command line; the available options are documented :ref:`here `." msgstr "" +"Визначає поведінку :mod:`optparse`, коли цей параметр відображається в " +"командному рядку; доступні параметри задокументовані :ref:`тут `." msgid "(default: ``\"string\"``)" msgstr "(default: ``\"string\"``)" @@ -1529,9 +2210,12 @@ msgid "" "``\"int\"``); the available option types are documented :ref:`here `." msgstr "" +"Тип аргументу, очікуваний цією опцією (наприклад, ``\"string\"`` або " +"``\"int\"``); доступні типи опцій задокументовані :ref:`тут `." msgid "(default: derived from option strings)" -msgstr "" +msgstr "(за замовчуванням: отримано з рядків параметрів)" msgid "" "If the option's action implies writing or modifying a value somewhere, this " @@ -1539,39 +2223,55 @@ msgid "" "attribute of the ``options`` object that :mod:`optparse` builds as it parses " "the command line." msgstr "" +"Якщо дія опції передбачає запис або зміну значення десь, це вказує :mod:" +"`optparse`, де його писати: :attr:`~Option.dest` називає атрибут об’єкта " +"``options``, який :mod:`optparse` збирається, коли аналізує командний рядок." msgid "" "The value to use for this option's destination if the option is not seen on " "the command line. See also :meth:`OptionParser.set_defaults`." msgstr "" +"Значення для призначення цього параметра, якщо параметр не відображається в " +"командному рядку. Дивіться також :meth:`OptionParser.set_defaults`." msgid "(default: 1)" -msgstr "" +msgstr "(за замовчуванням: 1)" 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 :" "attr:`~Option.dest`." msgstr "" +"Скільки аргументів типу :attr:`~Option.type` має споживатися, коли " +"відображається цей параметр. Якщо > 1, :mod:`optparse` зберігатиме кортеж " +"значень у :attr:`~Option.dest`." msgid "For actions that store a constant value, the constant value to store." msgstr "" +"Для дій, які зберігають постійне значення, постійне значення для збереження." msgid "" "For options of type ``\"choice\"``, the list of strings the user may choose " "from." msgstr "" +"Для параметрів типу ``\"вибір\"``, список рядків, з яких користувач може " +"вибрати." msgid "" "For options with action ``\"callback\"``, the callable to call when this " "option is seen. See section :ref:`optparse-option-callbacks` for detail on " "the arguments passed to the callable." msgstr "" +"Для параметрів із дією ``\"callback\"``, виклик якого потрібно викликати, " +"коли цей параметр видно. Дивіться розділ :ref:`optparse-option-callbacks` " +"для детальної інформації про аргументи, які передаються викликаному." msgid "" "Additional positional and keyword arguments to pass to ``callback`` after " "the four standard callback arguments." msgstr "" +"Додаткові позиційні та ключові аргументи для передачі в ``callback`` після " +"чотирьох стандартних аргументів зворотного виклику." msgid "" "Help text to print for this option when listing all available options after " @@ -1579,14 +2279,21 @@ msgid "" "help text is supplied, the option will be listed without help text. To hide " "this option, use the special value :const:`optparse.SUPPRESS_HELP`." msgstr "" +"Текст справки, который будет распечатан для этой опции при перечислении всех " +"доступных опций после того, как пользователь укажет опцию :attr:`~Option." +"help` (например, ``--help``). Если текст справки не указан, параметр будет " +"указан без текста справки. Чтобы скрыть эту опцию, используйте специальное " +"значение :const:`optparse.SUPPRESS_HELP`." msgid "" "Stand-in for the option argument(s) to use when printing help text. See " "section :ref:`optparse-tutorial` for an example." msgstr "" +"Заміна аргументу(ів) опції для використання під час друку довідкового " +"тексту. Перегляньте розділ :ref:`optparse-tutorial` для прикладу." msgid "Standard option actions" -msgstr "" +msgstr "Стандартні опційні дії" msgid "" "The various option actions all have slightly different requirements and " @@ -1594,11 +2301,17 @@ msgid "" "specify to guide :mod:`optparse`'s behaviour; a few have required " "attributes, which you must specify for any option using that action." msgstr "" +"Усі різні опціональні дії мають дещо різні вимоги та наслідки. Більшість дій " +"мають кілька відповідних атрибутів параметрів, які ви можете вказати, щоб " +"керувати поведінкою :mod:`optparse`; деякі з них мають обов’язкові атрибути, " +"які ви повинні вказати для будь-якої опції, що використовує цю дію." msgid "" "``\"store\"`` [relevant: :attr:`~Option.type`, :attr:`~Option.dest`, :attr:" "`~Option.nargs`, :attr:`~Option.choices`]" msgstr "" +"``\"магазин\"`` [релевантний: :attr:`~Option.type`, :attr:`~Option.dest`, :" +"attr:`~Option.nargs`, :attr:`~Option.choices`]" msgid "" "The option must be followed by an argument, which is converted to a value " @@ -1608,14 +2321,23 @@ msgid "" "stored to :attr:`~Option.dest` as a tuple. See the :ref:`optparse-standard-" "option-types` section." msgstr "" +"За параметром має слідувати аргумент, який перетворюється на значення " +"відповідно до :attr:`~Option.type` і зберігається в :attr:`~Option.dest`. " +"Якщо :attr:`~Option.nargs` > 1, з командного рядка буде використано кілька " +"аргументів; усе буде перетворено відповідно до :attr:`~Option.type` і " +"збережено в :attr:`~Option.dest` як кортеж. Перегляньте розділ :ref:" +"`optparse-standard-option-types`." msgid "" "If :attr:`~Option.choices` is supplied (a list or tuple of strings), the " "type defaults to ``\"choice\"``." msgstr "" +"Якщо надано :attr:`~Option.choices` (список або кортеж рядків), типом за " +"замовчуванням є ``\"choice\"``." msgid "If :attr:`~Option.type` is not supplied, it defaults to ``\"string\"``." msgstr "" +"Якщо :attr:`~Option.type` не вказано, за замовчуванням буде ``\"string\"``." msgid "" "If :attr:`~Option.dest` is not supplied, :mod:`optparse` derives a " @@ -1623,6 +2345,11 @@ msgid "" "``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 "" +"Якщо :attr:`~Option.dest` не надано, :mod:`optparse` отримує призначення з " +"першого довгого рядка параметрів (наприклад, ``--foo-bar`` передбачає " +"``foo_bar``). Якщо довгих рядків параметрів немає, :mod:`optparse` отримує " +"адресат із першого короткого рядка параметрів (наприклад, ``-f`` означає " +"``f``)." msgid "Example::" msgstr "Przykład::" @@ -1631,29 +2358,36 @@ msgid "" "parser.add_option(\"-f\")\n" "parser.add_option(\"-p\", type=\"float\", nargs=3, dest=\"point\")" msgstr "" +"parser.add_option(\"-f\") parser.add_option(\"-p\", type=\"float\", nargs=3, " +"dest=\"point\")" msgid "As it parses the command line ::" -msgstr "" +msgstr "Під час аналізу командного рядка ::" msgid "-f foo.txt -p 1 -3.5 4 -fbar.txt" -msgstr "" +msgstr "-f foo.txt -p 1 -3.5 4 -fbar.txt" msgid ":mod:`optparse` will set ::" -msgstr "" +msgstr ":mod:`optparse` встановить ::" msgid "" "options.f = \"foo.txt\"\n" "options.point = (1.0, -3.5, 4.0)\n" "options.f = \"bar.txt\"" msgstr "" +"options.f = \"foo.txt\"\n" +"options.point = (1.0, -3.5, 4.0)\n" +"options.f = \"bar.txt\"" msgid "" "``\"store_const\"`` [required: :attr:`~Option.const`; relevant: :attr:" "`~Option.dest`]" msgstr "" +"``\"store_const\"`` [потрібно: :attr:`~Option.const`; релевантний: :attr:" +"`~Option.dest`]" msgid "The value :attr:`~Option.const` is stored in :attr:`~Option.dest`." -msgstr "" +msgstr "Значення :attr:`~Option.const` зберігається в :attr:`~Option.dest`." msgid "" "parser.add_option(\"-q\", \"--quiet\",\n" @@ -1663,36 +2397,48 @@ msgid "" "parser.add_option(\"--noisy\",\n" " action=\"store_const\", const=2, dest=\"verbose\")" msgstr "" +"parser.add_option(\"-q\", \"--quiet\",\n" +" action=\"store_const\", const=0, dest=\"verbose\")\n" +"parser.add_option(\"-v\", \"--verbose\",\n" +" action=\"store_const\", const=1, dest=\"verbose\")\n" +"parser.add_option(\"--noisy\",\n" +" action=\"store_const\", const=2, dest=\"verbose\")" msgid "If ``--noisy`` is seen, :mod:`optparse` will set ::" -msgstr "" +msgstr "Якщо відображається ``--noisy``, :mod:`optparse` встановить ::" msgid "options.verbose = 2" -msgstr "" +msgstr "options.verbose = 2" msgid "``\"store_true\"`` [relevant: :attr:`~Option.dest`]" -msgstr "" +msgstr "``\"store_true\"`` [релевантний: :attr:`~Option.dest`]" msgid "" "A special case of ``\"store_const\"`` that stores ``True`` to :attr:`~Option." "dest`." msgstr "" +"Особливий випадок ``\"store_const\"``, який зберігає ``True`` у :attr:" +"`~Option.dest`." msgid "``\"store_false\"`` [relevant: :attr:`~Option.dest`]" -msgstr "" +msgstr "``\"store_false\"`` [релевантний: :attr:`~Option.dest`]" msgid "Like ``\"store_true\"``, but stores ``False``." -msgstr "" +msgstr "Подібно до ``\"store_true\"``, але зберігає ``False``." msgid "" "parser.add_option(\"--clobber\", action=\"store_true\", dest=\"clobber\")\n" "parser.add_option(\"--no-clobber\", action=\"store_false\", dest=\"clobber\")" msgstr "" +"parser.add_option(\"--clobber\", action=\"store_true\", dest=\"clobber\")\n" +"parser.add_option(\"--no-clobber\", action=\"store_false\", dest=\"clobber\")" msgid "" "``\"append\"`` [relevant: :attr:`~Option.type`, :attr:`~Option.dest`, :attr:" "`~Option.nargs`, :attr:`~Option.choices`]" msgstr "" +"``\"append\"`` [релевантні: :attr:`~Option.type`, :attr:`~Option.dest`, :" +"attr:`~Option.nargs`, :attr:`~Option.choices`]" msgid "" "The option must be followed by an argument, which is appended to the list " @@ -1702,31 +2448,44 @@ msgid "" "multiple arguments are consumed, and a tuple of length :attr:`~Option.nargs` " "is appended to :attr:`~Option.dest`." msgstr "" +"За параметром має слідувати аргумент, який додається до списку в :attr:" +"`~Option.dest`. Якщо значення за замовчуванням для :attr:`~Option.dest` не " +"вказано, порожній список створюється автоматично, коли :mod:`optparse` " +"вперше зустрічає цей параметр у командному рядку. Якщо :attr:`~Option.nargs` " +"> 1, споживаються кілька аргументів, а кортеж довжини :attr:`~Option.nargs` " +"додається до :attr:`~Option.dest`." msgid "" "The defaults for :attr:`~Option.type` and :attr:`~Option.dest` are the same " "as for the ``\"store\"`` action." msgstr "" +"Значення за замовчуванням для :attr:`~Option.type` і :attr:`~Option.dest` " +"такі самі, як і для дії ``\"store\"``." msgid "" "parser.add_option(\"-t\", \"--tracks\", action=\"append\", type=\"int\")" msgstr "" +"parser.add_option(\"-t\", \"--tracks\", action=\"append\", type=\"int\")" msgid "" "If ``-t3`` is seen on the command-line, :mod:`optparse` does the equivalent " "of::" msgstr "" +"Якщо в командному рядку відображається ``-t3``, :mod:`optparse` виконує " +"еквівалент:" msgid "" "options.tracks = []\n" "options.tracks.append(int(\"3\"))" msgstr "" +"options.tracks = []\n" +"options.tracks.append(int(\"3\"))" msgid "If, a little later on, ``--tracks=4`` is seen, it does::" -msgstr "" +msgstr "Якщо трохи пізніше з’явиться ``--tracks=4``, це так:" msgid "options.tracks.append(int(\"4\"))" -msgstr "" +msgstr "options.tracks.append(int(\"4\"))" msgid "" "The ``append`` action calls the ``append`` method on the current value of " @@ -1735,6 +2494,12 @@ msgid "" "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::" msgstr "" +"Дія ``append`` викликає метод ``append`` для поточного значення опції. Це " +"означає, що будь-яке вказане значення за замовчуванням повинно мати метод " +"``додавання``. Це також означає, що якщо значення за замовчуванням не є " +"порожнім, елементи за замовчуванням будуть присутні в розібраному значенні " +"для параметра, а будь-які значення з командного рядка будуть додані після " +"цих значень за замовчуванням::" msgid "" ">>> parser.add_option(\"--files\", action=\"append\", default=['~/.mypkg/" @@ -1743,11 +2508,18 @@ msgid "" ">>> opts.files\n" "['~/.mypkg/defaults', 'overrides.mypkg']" msgstr "" +">>> parser.add_option(\"--files\", action=\"append\", default=['~/.mypkg/" +"defaults'])\n" +">>> opts, args = parser.parse_args(['--files', 'overrides.mypkg'])\n" +">>> opts.files\n" +"['~/.mypkg/defaults', 'overrides.mypkg']" msgid "" "``\"append_const\"`` [required: :attr:`~Option.const`; relevant: :attr:" "`~Option.dest`]" msgstr "" +"``\"append_const\"`` [потрібно: :attr:`~Option.const`; релевантний: :attr:" +"`~Option.dest`]" msgid "" "Like ``\"store_const\"``, but the value :attr:`~Option.const` is appended " @@ -1755,51 +2527,68 @@ msgid "" "defaults to ``None``, and an empty list is automatically created the first " "time the option is encountered." msgstr "" +"Як ``\"store_const\"``, але значення :attr:`~Option.const` додається до :" +"attr:`~Option.dest`; як і у випадку з ``\"append\"``, :attr:`~Option.dest` " +"за замовчуванням має значення ``None``, і порожній список автоматично " +"створюється, коли вперше зустрічається опція." msgid "``\"count\"`` [relevant: :attr:`~Option.dest`]" -msgstr "" +msgstr "``\"count\"`` [relevant: :attr:`~Option.dest`]" msgid "" "Increment the integer stored at :attr:`~Option.dest`. If no default value " "is supplied, :attr:`~Option.dest` is set to zero before being incremented " "the first time." msgstr "" +"Збільшити ціле число, що зберігається в :attr:`~Option.dest`. Якщо значення " +"за замовчуванням не вказано, :attr:`~Option.dest` встановлюється на нуль " +"перед першим збільшенням." msgid "parser.add_option(\"-v\", action=\"count\", dest=\"verbosity\")" -msgstr "" +msgstr "parser.add_option(\"-v\", action=\"count\", dest=\"verbosity\")" msgid "" "The first time ``-v`` is seen on the command line, :mod:`optparse` does the " "equivalent of::" msgstr "" +"Коли ``-v`` з'являється в командному рядку вперше, :mod:`optparse` виконує " +"еквівалент:" msgid "" "options.verbosity = 0\n" "options.verbosity += 1" msgstr "" +"options.verbosity = 0\n" +"options.verbosity += 1" msgid "Every subsequent occurrence of ``-v`` results in ::" -msgstr "" +msgstr "Кожне наступне повторення ``-v`` призводить до:" msgid "options.verbosity += 1" -msgstr "" +msgstr "options.verbosity += 1" msgid "" "``\"callback\"`` [required: :attr:`~Option.callback`; relevant: :attr:" "`~Option.type`, :attr:`~Option.nargs`, :attr:`~Option.callback_args`, :attr:" "`~Option.callback_kwargs`]" msgstr "" +"``\"callback\"`` [потрібно: :attr:`~Option.callback`; релевантні: :attr:" +"`~Option.type`, :attr:`~Option.nargs`, :attr:`~Option.callback_args`, :attr:" +"`~Option.callback_kwargs`]" msgid "" "Call the function specified by :attr:`~Option.callback`, which is called " "as ::" msgstr "" +"Виклик функції, визначеної :attr:`~Option.callback`, яка викликається як ::" msgid "func(option, opt_str, value, parser, *args, **kwargs)" -msgstr "" +msgstr "func(option, opt_str, value, parser, *args, **kwargs)" msgid "See section :ref:`optparse-option-callbacks` for more detail." msgstr "" +"Дивіться розділ :ref:`optparse-option-callbacks` для більш детальної " +"інформації." msgid "" "Prints a complete help message for all the options in the current option " @@ -1807,17 +2596,26 @@ msgid "" "OptionParser's constructor and the :attr:`~Option.help` string passed to " "every option." msgstr "" +"Друкує повне довідкове повідомлення для всіх параметрів у поточному " +"аналізаторі параметрів. Повідомлення довідки складається з рядка ``usage``, " +"переданого конструктору OptionParser, і рядка :attr:`~Option.help`, " +"переданого кожному параметру." msgid "" "If no :attr:`~Option.help` string is supplied for an option, it will still " "be listed in the help message. To omit an option entirely, use the special " "value :const:`optparse.SUPPRESS_HELP`." msgstr "" +"Если для параметра не указана строка :attr:`~Option.help`, она все равно " +"будет указана в справочном сообщении. Чтобы полностью опустить опцию, " +"используйте специальное значение :const:`optparse.SUPPRESS_HELP`." msgid "" ":mod:`optparse` automatically adds a :attr:`~Option.help` option to all " "OptionParsers, so you do not normally need to create one." msgstr "" +":mod:`optparse` автоматично додає опцію :attr:`~Option.help` до всіх " +"аналізаторів опцій, тому зазвичай вам не потрібно її створювати." msgid "" "from optparse import OptionParser, SUPPRESS_HELP\n" @@ -1833,12 +2631,27 @@ msgid "" " help=\"Input file to read data from\")\n" "parser.add_option(\"--secret\", help=SUPPRESS_HELP)" msgstr "" +"from optparse import OptionParser, SUPPRESS_HELP\n" +"\n" +"# usually, a help option is added automatically, but that can\n" +"# be suppressed using the add_help_option argument\n" +"parser = OptionParser(add_help_option=False)\n" +"\n" +"parser.add_option(\"-h\", \"--help\", action=\"help\")\n" +"parser.add_option(\"-v\", action=\"store_true\", dest=\"verbose\",\n" +" help=\"Be moderately verbose\")\n" +"parser.add_option(\"--file\", dest=\"filename\",\n" +" help=\"Input file to read data from\")\n" +"parser.add_option(\"--secret\", help=SUPPRESS_HELP)" msgid "" "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 "" +"Якщо :mod:`optparse` бачить або ``-h``, або ``--help`` у командному рядку, " +"він надрукує щось на кшталт наступного довідкового повідомлення до stdout " +"(за умови ``sys.argv[0]`` є ``\"foo.py\"``):" msgid "" "Usage: foo.py [options]\n" @@ -1848,14 +2661,22 @@ msgid "" " -v Be moderately verbose\n" " --file=FILENAME Input file to read data from" msgstr "" +"Usage: foo.py [options]\n" +"\n" +"Options:\n" +" -h, --help Show this help message and exit\n" +" -v Be moderately verbose\n" +" --file=FILENAME Input file to read data from" msgid "" "After printing the help message, :mod:`optparse` terminates your process " "with ``sys.exit(0)``." msgstr "" +"Після друку довідкового повідомлення :mod:`optparse` завершує ваш процес за " +"допомогою ``sys.exit(0)``." msgid "``\"version\"``" -msgstr "" +msgstr "``\"версія\"``" msgid "" "Prints the version number supplied to the OptionParser to stdout and exits. " @@ -1865,47 +2686,67 @@ msgid "" "attr:`~Option.help` options, you will rarely create ``version`` options, " "since :mod:`optparse` automatically adds them when needed." msgstr "" +"Друкує номер версії, наданий OptionParser, у stdout і завершує роботу. Номер " +"версії фактично форматується та друкується методом ``print_version()`` " +"OptionParser. Зазвичай актуально, лише якщо аргумент ``version`` надається " +"конструктору OptionParser. Як і у випадку з параметрами :attr:`~Option." +"help`, ви рідко будете створювати параметри ``version``, оскільки :mod:" +"`optparse` автоматично додає їх за потреби." msgid "Standard option types" -msgstr "" +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`." msgstr "" +":mod:`optparse` має п’ять вбудованих типів параметрів: ``\"string\"``, " +"``\"int\"``, ``\"choice\"``, ``\"float\"`` і ``\"complex \"``. Якщо вам " +"потрібно додати нові типи опцій, перегляньте розділ :ref:`optparse-extending-" +"optparse`." msgid "" "Arguments to string options are not checked or converted in any way: the " "text on the command line is stored in the destination (or passed to the " "callback) as-is." msgstr "" +"Аргументи параметрів рядка не перевіряються та не перетворюються жодним " +"чином: текст у командному рядку зберігається в місці призначення (або " +"передається зворотному виклику) як є." msgid "Integer arguments (type ``\"int\"``) are parsed as follows:" -msgstr "" +msgstr "Цілі аргументи (тип ``\"int\"``) аналізуються таким чином:" msgid "if the number starts with ``0x``, it is parsed as a hexadecimal number" msgstr "" +"якщо число починається з ``0x``, воно аналізується як шістнадцяткове число" msgid "if the number starts with ``0``, it is parsed as an octal number" -msgstr "" +msgstr "якщо число починається з ``0``, воно аналізується як вісімкове число" msgid "if the number starts with ``0b``, it is parsed as a binary number" -msgstr "" +msgstr "якщо число починається з ``0b``, воно аналізується як двійкове число" msgid "otherwise, the number is parsed as a decimal number" -msgstr "" +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." msgstr "" +"Перетворення виконується викликом :func:`int` із відповідною основою (2, 8, " +"10 або 16). Якщо це не вдасться, не вийде і :mod:`optparse`, хоча з більш " +"корисним повідомленням про помилку." msgid "" "``\"float\"`` and ``\"complex\"`` option arguments are converted directly " "with :func:`float` and :func:`complex`, with similar error-handling." msgstr "" +"Аргументи параметрів ``\"float\"`` і ``\"complex\"`` перетворюються " +"безпосередньо за допомогою :func:`float` і :func:`complex`, з подібною " +"обробкою помилок." msgid "" "``\"choice\"`` options are a subtype of ``\"string\"`` options. The :attr:" @@ -1914,6 +2755,11 @@ msgid "" "supplied option arguments against this master list and raises :exc:" "`OptionValueError` if an invalid string is given." msgstr "" +"Опції ``\"choice\"`` є підтипом опцій ``\"string\"``. Атрибут опції :attr:" +"`~Option.choices` (послідовність рядків) визначає набір дозволених " +"аргументів опції. :func:`optparse.check_choice` порівнює аргументи " +"параметрів, надані користувачем, із цим головним списком і викликає :exc:" +"`OptionValueError`, якщо вказано недійсний рядок." msgid "Parsing arguments" msgstr "Parsowanie argumentów" @@ -1922,41 +2768,49 @@ msgid "" "The whole point of creating and populating an OptionParser is to call its :" "meth:`~OptionParser.parse_args` method." msgstr "" +"Весь смысл создания и заполнения OptionParser заключается в вызове его " +"метода :meth:`~OptionParser.parse_args`." msgid "Parse the command-line options found in *args*." -msgstr "" +msgstr "Проанализируйте параметры командной строки, найденные в *args*." msgid "The input parameters are" -msgstr "" +msgstr "Входные параметры:" msgid "``args``" -msgstr "" +msgstr "``args``" msgid "the list of arguments to process (default: ``sys.argv[1:]``)" -msgstr "" +msgstr "список аргументів для обробки (за замовчуванням: ``sys.argv[1:]``)" msgid "``values``" -msgstr "" +msgstr "``значення``" msgid "" "a :class:`Values` object to store option arguments in (default: a new " "instance of :class:`Values`) -- if you give an existing object, the option " "defaults will not be initialized on it" msgstr "" +"объект :class:`Values` для хранения аргументов опции (по умолчанию: новый " +"экземпляр :class:`Values`) — если вы передадите существующий объект, " +"параметры по умолчанию не будут инициализированы для него." msgid "and the return value is a pair ``(options, args)`` where" msgstr "" +"и возвращаемое значение представляет собой пару ``(options, args)``, где" msgid "``options``" -msgstr "" +msgstr "``параметри``" msgid "" "the same object that was passed in as *values*, or the ``optparse.Values`` " "instance created by :mod:`optparse`" msgstr "" +"тот же объект, который был передан как *values*, или экземпляр ``optparse." +"Values``, созданный :mod:`optparse`" msgid "the leftover positional arguments after all options have been processed" -msgstr "" +msgstr "залишкові позиційні аргументи після обробки всіх опцій" msgid "" "The most common usage is to supply neither keyword argument. If you supply " @@ -1964,6 +2818,11 @@ msgid "" "one for every option argument stored to an option destination) and returned " "by :meth:`~OptionParser.parse_args`." msgstr "" +"Наиболее распространенным использованием является отсутствие аргументов " +"ключевого слова. Если вы предоставите ``значения``, они будут изменены с " +"помощью повторных вызовов :func:`setattr` (примерно по одному для каждого " +"аргумента опции, хранящейся в пункте назначения опции) и возвращены :meth:" +"`~OptionParser.parse_args`." msgid "" "If :meth:`~OptionParser.parse_args` encounters any errors in the argument " @@ -1971,57 +2830,80 @@ msgid "" "end-user error message. This ultimately terminates your process with an exit " "status of 2 (the traditional Unix exit status for command-line errors)." msgstr "" +"Если :meth:`~OptionParser.parse_args` обнаруживает какие-либо ошибки в " +"списке аргументов, он вызывает метод :meth:`error` OptionParser с " +"соответствующим сообщением об ошибке конечного пользователя. В конечном " +"итоге ваш процесс завершается со статусом завершения 2 (традиционный статус " +"завершения Unix для ошибок командной строки)." msgid "Querying and manipulating your option parser" -msgstr "" +msgstr "Запити та маніпулювання вашим аналізатором параметрів" msgid "" "The default behavior of the option parser can be customized slightly, and " "you can also poke around your option parser and see what's there. " "OptionParser provides several methods to help you out:" msgstr "" +"Поведінку аналізатора параметрів за замовчуванням можна дещо налаштувати, і " +"ви також можете пошукати свій аналізатор параметрів і подивитися, що там є. " +"OptionParser пропонує кілька методів, які допоможуть вам:" 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::" msgstr "" +"Встановіть зупинку аналізу на першому варіанті. Наприклад, якщо ``-a`` і ``-" +"b`` є простими параметрами, які не приймають аргументів, :mod:`optparse` " +"зазвичай приймає такий синтаксис::" msgid "prog -a arg1 -b arg2" -msgstr "" +msgstr "prog -a arg1 -b arg2" msgid "and treats it as equivalent to ::" -msgstr "" +msgstr "і розглядає його як еквівалент ::" msgid "prog -a -b arg1 arg2" -msgstr "" +msgstr "prog -a -b arg1 arg2" msgid "" "To disable this feature, call :meth:`disable_interspersed_args`. This " "restores traditional Unix syntax, where option parsing stops with the first " "non-option argument." msgstr "" +"Щоб вимкнути цю функцію, викличте :meth:`disable_interspersed_args`. Це " +"відновлює традиційний синтаксис Unix, де розбір параметрів припиняється з " +"першим аргументом, що не є параметром." msgid "" "Use this if you have a command processor which runs another command which " "has options of its own and you want to make sure these options don't get " "confused. For example, each command might have a different set of options." msgstr "" +"Використовуйте це, якщо у вас є командний процесор, який виконує іншу " +"команду, яка має власні параметри, і ви хочете переконатися, що ці параметри " +"не плутаються. Наприклад, кожна команда може мати різний набір параметрів." msgid "" "Set parsing to not stop on the first non-option, allowing interspersing " "switches with command arguments. This is the default behavior." msgstr "" +"Налаштуйте розбір так, щоб він не зупинявся на першому не-параметрі, " +"дозволяючи вставляти перемикачі в аргументи команди. Це типова поведінка." msgid "" "Returns the Option instance with the option string *opt_str*, or ``None`` if " "no options have that option string." msgstr "" +"Повертає екземпляр Option із рядком параметра *opt_str* або ``None``, якщо " +"параметри не мають такого рядка параметра." msgid "" "Return ``True`` if the OptionParser has an option with option string " "*opt_str* (e.g., ``-q`` or ``--verbose``)." msgstr "" +"Повертає ``True``, якщо OptionParser має параметр із рядком параметра " +"*opt_str* (наприклад, ``-q`` або ``--verbose``)." msgid "" "If the :class:`OptionParser` has an option corresponding to *opt_str*, that " @@ -2029,25 +2911,36 @@ msgid "" "those option strings become invalid. If *opt_str* does not occur in any " "option belonging to this :class:`OptionParser`, raises :exc:`ValueError`." msgstr "" +"Якщо :class:`OptionParser` має параметр, що відповідає *opt_str*, цей " +"параметр буде видалено. Якщо цей параметр містить будь-які інші рядки " +"параметрів, усі ці рядки параметрів стають недійсними. Якщо *opt_str* не " +"зустрічається в жодному параметрі, що належить цьому :class:`OptionParser`, " +"викликає :exc:`ValueError`." msgid "Conflicts between options" -msgstr "" +msgstr "Конфлікти між варіантами" msgid "" "If you're not careful, it's easy to define options with conflicting option " "strings::" msgstr "" +"Якщо ви не будете обережні, можна легко визначити параметри з конфліктуючими " +"рядками параметрів::" msgid "" "parser.add_option(\"-n\", \"--dry-run\", ...)\n" "...\n" "parser.add_option(\"-n\", \"--noisy\", ...)" msgstr "" +"parser.add_option(\"-n\", \"--dry-run\", ...) ... parser.add_option(\"-n\", " +"\"--noisy\", ...)" msgid "" "(This is particularly true if you've defined your own OptionParser subclass " "with some standard options.)" msgstr "" +"(Це особливо вірно, якщо ви визначили свій власний підклас OptionParser з " +"деякими стандартними параметрами.)" msgid "" "Every time you add an option, :mod:`optparse` checks for conflicts with " @@ -2055,18 +2948,22 @@ msgid "" "mechanism. You can set the conflict-handling mechanism either in the " "constructor::" msgstr "" +"Кожного разу, коли ви додаєте опцію, :mod:`optparse` перевіряє наявність " +"конфліктів із існуючими опціями. Якщо він знайде будь-який, він викликає " +"поточний механізм обробки конфліктів. Ви можете встановити механізм обробки " +"конфліктів у конструкторі:" msgid "parser = OptionParser(..., conflict_handler=handler)" -msgstr "" +msgstr "parser = OptionParser(..., conflict_handler=handler)" msgid "or with a separate call::" -msgstr "" +msgstr "або окремим дзвінком::" msgid "parser.set_conflict_handler(handler)" -msgstr "" +msgstr "parser.set_conflict_handler(handler)" msgid "The available conflict handlers are:" -msgstr "" +msgstr "Доступні засоби обробки конфліктів:" msgid "``\"error\"`` (default)" msgstr "``\"error\"`` (default)" @@ -2075,23 +2972,30 @@ msgid "" "assume option conflicts are a programming error and raise :exc:" "`OptionConflictError`" msgstr "" +"припустити, що конфлікти параметрів є помилкою програмування, і викликати :" +"exc:`OptionConflictError`" msgid "``\"resolve\"``" -msgstr "" +msgstr "``\"розв'язати\"``" msgid "resolve option conflicts intelligently (see below)" -msgstr "" +msgstr "розумно вирішувати конфлікти варіантів (див. нижче)" msgid "" "As an example, let's define an :class:`OptionParser` that resolves conflicts " "intelligently and add conflicting options to it::" msgstr "" +"Як приклад, давайте визначимо :class:`OptionParser`, який розумно вирішує " +"конфлікти, і додамо до нього конфліктуючі параметри::" msgid "" "parser = OptionParser(conflict_handler=\"resolve\")\n" "parser.add_option(\"-n\", \"--dry-run\", ..., help=\"do no harm\")\n" "parser.add_option(\"-n\", \"--noisy\", ..., help=\"be noisy\")" msgstr "" +"parser = OptionParser(conflict_handler=\"resolve\")\n" +"parser.add_option(\"-n\", \"--dry-run\", ..., help=\"do no harm\")\n" +"parser.add_option(\"-n\", \"--noisy\", ..., help=\"be noisy\")" msgid "" "At this point, :mod:`optparse` detects that a previously added option is " @@ -2101,13 +3005,19 @@ msgid "" "for the user to activate that option. If the user asks for help, the help " "message will reflect that::" msgstr "" +"На этом этапе :mod:`optparse` обнаруживает, что ранее добавленная опция уже " +"использует строку опции ``-n``. Поскольку ``conflict_handler`` имеет " +"``\"resolve\"``, он разрешает ситуацию, удаляя ``-n`` из списка строк " +"параметров предыдущей опции. Теперь ``--dry-run`` — единственный способ " +"активировать эту опцию для пользователя. Если пользователь обращается за " +"помощью, в справочном сообщении будет указано следующее:" msgid "" "Options:\n" " --dry-run do no harm\n" " ...\n" " -n, --noisy be noisy" -msgstr "" +msgstr "Параметры: --dry-run не навредит ... -n, --noisy быть шумным" msgid "" "It's possible to whittle away the option strings for a previously added " @@ -2116,14 +3026,21 @@ msgid "" "option completely, so it doesn't show up in help text or anywhere else. " "Carrying on with our existing OptionParser::" msgstr "" +"Можно свести на нет строки параметров для ранее добавленного параметра до " +"тех пор, пока их не останется, и у пользователя не будет возможности вызвать " +"этот параметр из командной строки. В этом случае :mod:`optparse` полностью " +"удаляет эту опцию, поэтому она не отображается в тексте справки или где-либо " +"еще. Продолжаем использовать существующий OptionParser::" msgid "parser.add_option(\"--dry-run\", ..., help=\"new dry-run option\")" -msgstr "" +msgstr "parser.add_option(\"--dry-run\", ..., help=\"new dry-run option\")" msgid "" "At this point, the original ``-n``/``--dry-run`` option is no longer " "accessible, so :mod:`optparse` removes it, leaving this help text::" msgstr "" +"На цьому етапі вихідний параметр ``-n``/``--dry-run`` більше не доступний, " +"тому :mod:`optparse` видаляє його, залишаючи цей текст довідки::" msgid "" "Options:\n" @@ -2131,9 +3048,13 @@ msgid "" " -n, --noisy be noisy\n" " --dry-run new dry-run option" msgstr "" +"Options:\n" +" ...\n" +" -n, --noisy be noisy\n" +" --dry-run new dry-run option" msgid "Cleanup" -msgstr "" +msgstr "Прибирати" msgid "" "OptionParser instances have several cyclic references. This should not be a " @@ -2143,12 +3064,17 @@ msgid "" "running applications where large object graphs are reachable from your " "OptionParser." msgstr "" +"Екземпляри OptionParser мають кілька циклічних посилань. Це не повинно бути " +"проблемою для збирача сміття Python, але ви можете розірвати циклічні " +"посилання явно, викликавши :meth:`~OptionParser.destroy` на вашому " +"OptionParser, коли ви закінчите з цим. Це особливо корисно в довготривалих " +"програмах, де великі об’єктні графіки доступні з вашого OptionParser." msgid "Other methods" -msgstr "" +msgstr "Інші методи" msgid "OptionParser supports several other public methods:" -msgstr "" +msgstr "OptionParser підтримує кілька інших публічних методів:" msgid "" "Set the usage string according to the rules described above for the " @@ -2156,6 +3082,10 @@ msgid "" "usage string; use :const:`optparse.SUPPRESS_USAGE` to suppress a usage " "message." msgstr "" +"Установите строку использования в соответствии с правилами, описанными выше " +"для аргумента ключевого слова конструктора ``usage``. Передача None " +"устанавливает строку использования по умолчанию; используйте :const:" +"`optparse.SUPPRESS_USAGE` для подавления сообщения об использовании." msgid "" "Print the usage message for the current program (``self.usage``) to *file* " @@ -2163,11 +3093,17 @@ msgid "" "is replaced with the name of the current program. Does nothing if ``self." "usage`` is empty or not defined." msgstr "" +"Надрукувати повідомлення про використання для поточної програми (``self." +"usage``) у *файл* (стандартний вихід за замовчуванням). Будь-яке входження " +"рядка ``%prog`` у ``self.usage`` замінюється назвою поточної програми. " +"Нічого не робить, якщо ``self.usage`` порожній або не визначений." msgid "" "Same as :meth:`print_usage` but returns the usage string instead of printing " "it." msgstr "" +"Те саме, що :meth:`print_usage`, але повертає рядок використання замість " +"його друку." msgid "" "Set default values for several option destinations at once. Using :meth:" @@ -2176,6 +3112,12 @@ msgid "" "\"mode\" options all set the same destination, any one of them can set the " "default, and the last one wins::" msgstr "" +"Встановіть значення за замовчуванням для кількох пунктів призначення " +"одночасно. Використання :meth:`set_defaults` є кращим способом встановлення " +"значень за замовчуванням для параметрів, оскільки кілька параметрів можуть " +"мати одне призначення. Наприклад, якщо кілька параметрів \"режиму\" " +"встановлюють одне й те саме призначення, будь-який із них може встановити " +"значення за замовчуванням, і виграє останній:" msgid "" "parser.add_option(\"--advanced\", action=\"store_const\",\n" @@ -2185,9 +3127,15 @@ msgid "" " dest=\"mode\", const=\"novice\",\n" " default=\"advanced\") # overrides above setting" msgstr "" +"parser.add_option(\"--advanced\", action=\"store_const\",\n" +" dest=\"mode\", const=\"advanced\",\n" +" default=\"novice\") # overridden below\n" +"parser.add_option(\"--novice\", action=\"store_const\",\n" +" dest=\"mode\", const=\"novice\",\n" +" default=\"advanced\") # overrides above setting" msgid "To avoid this confusion, use :meth:`set_defaults`::" -msgstr "" +msgstr "Щоб уникнути цієї плутанини, використовуйте :meth:`set_defaults`::" msgid "" "parser.set_defaults(mode=\"advanced\")\n" @@ -2196,9 +3144,14 @@ msgid "" "parser.add_option(\"--novice\", action=\"store_const\",\n" " dest=\"mode\", const=\"novice\")" msgstr "" +"parser.set_defaults(mode=\"advanced\")\n" +"parser.add_option(\"--advanced\", action=\"store_const\",\n" +" dest=\"mode\", const=\"advanced\")\n" +"parser.add_option(\"--novice\", action=\"store_const\",\n" +" dest=\"mode\", const=\"novice\")" msgid "Option Callbacks" -msgstr "" +msgstr "Опція зворотних викликів" msgid "" "When :mod:`optparse`'s built-in actions and types aren't quite enough for " @@ -2206,20 +3159,27 @@ msgid "" "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 "" +"Якщо вбудованих дій і типів :mod:`optparse` недостатньо для ваших потреб, у " +"вас є два варіанти: розширити :mod:`optparse` або визначити опцію зворотного " +"виклику. Розширення :mod:`optparse` є більш загальним, але надмірним для " +"багатьох простих випадків. Досить часто простий зворотний дзвінок - це все, " +"що вам потрібно." msgid "There are two steps to defining a callback option:" -msgstr "" +msgstr "Існує два кроки, щоб визначити опцію зворотного виклику:" msgid "define the option itself using the ``\"callback\"`` action" -msgstr "" +msgstr "визначте саму опцію за допомогою дії ``\"callback\"``" msgid "" "write the callback; this is a function (or method) that takes at least four " "arguments, as described below" msgstr "" +"написати зворотний дзвінок; це функція (або метод), яка приймає щонайменше " +"чотири аргументи, як описано нижче" msgid "Defining a callback option" -msgstr "" +msgstr "Визначення опції зворотного виклику" msgid "" "As always, the easiest way to define a callback option is by using the :meth:" @@ -2227,9 +3187,13 @@ msgid "" "only option attribute you must specify is ``callback``, the function to " "call::" msgstr "" +"Як завжди, найпростішим способом визначення опції зворотного виклику є " +"використання методу :meth:`OptionParser.add_option`. Окрім :attr:`~Option." +"action`, єдиним атрибутом параметра, який ви повинні вказати, є " +"``callback``, функція для виклику::" msgid "parser.add_option(\"-c\", action=\"callback\", callback=my_callback)" -msgstr "" +msgstr "parser.add_option(\"-c\", action=\"callback\", callback=my_callback)" msgid "" "``callback`` is a function (or other callable object), so you must have " @@ -2241,6 +3205,14 @@ msgid "" "number of command-line arguments. This is where writing callbacks gets " "tricky; it's covered later in this section." msgstr "" +"``callback`` є функцією (або іншим викликаним об'єктом), тому ви повинні вже " +"визначати ``my_callback()``, створюючи цю опцію зворотного виклику. У цьому " +"простому випадку :mod:`optparse` навіть не знає, чи ``-c`` приймає будь-які " +"аргументи, що зазвичай означає, що опція не приймає аргументів --- сама " +"наявність ``-c`` на командний рядок — це все, що йому потрібно знати. Проте " +"за деяких обставин ви можете захотіти, щоб ваш зворотній виклик споживав " +"довільну кількість аргументів командного рядка. Тут написання зворотних " +"викликів стає складним; це розглянуто далі в цьому розділі." msgid "" ":mod:`optparse` always passes four particular arguments to your callback, " @@ -2248,17 +3220,23 @@ msgid "" "`~Option.callback_args` and :attr:`~Option.callback_kwargs`. Thus, the " "minimal callback function signature is::" msgstr "" +":mod:`optparse` завжди передає чотири конкретні аргументи вашому зворотному " +"виклику, і він передасть додаткові аргументи, лише якщо ви вкажете їх через :" +"attr:`~Option.callback_args` і :attr:`~Option.callback_kwargs`. Таким чином, " +"мінімальна сигнатура функції зворотного виклику:" msgid "def my_callback(option, opt, value, parser):" -msgstr "" +msgstr "def my_callback(option, opt, value, parser):" msgid "The four arguments to a callback are described below." -msgstr "" +msgstr "Чотири аргументи зворотного виклику описані нижче." msgid "" "There are several other option attributes that you can supply when you " "define a callback option:" msgstr "" +"Є кілька інших атрибутів опції, які ви можете надати, коли визначаєте опцію " +"зворотного виклику:" msgid ":attr:`~Option.type`" msgstr ":attr:`~Option.type`" @@ -2269,6 +3247,10 @@ msgid "" "`~Option.type`. Rather than storing the converted value(s) anywhere, " "though, :mod:`optparse` passes it to your callback function." msgstr "" +"має своє звичайне значення: як і з діями ``\"store\"`` або ``\"append\"``, " +"воно наказує :mod:`optparse` споживати один аргумент і перетворювати його " +"на :attr:`~Option.type` . Замість того, щоб десь зберігати перетворені " +"значення, :mod:`optparse` передає їх вашій функції зворотного виклику." msgid ":attr:`~Option.nargs`" msgstr ":attr:`~Option.nargs`" @@ -2279,33 +3261,38 @@ msgid "" "to :attr:`~Option.type`. It then passes a tuple of converted values to your " "callback." msgstr "" +"також має своє звичайне значення: якщо його надано та > 1, :mod:`optparse` " +"споживатиме аргументи :attr:`~Option.nargs`, кожен із яких має бути " +"конвертованим у :attr:`~Option.type`. Потім він передає кортеж перетворених " +"значень у ваш зворотній виклик." msgid ":attr:`~Option.callback_args`" msgstr ":attr:`~Option.callback_args`" msgid "a tuple of extra positional arguments to pass to the callback" msgstr "" +"кортеж додаткових позиційних аргументів для передачі зворотному виклику" msgid ":attr:`~Option.callback_kwargs`" msgstr ":attr:`~Option.callback_kwargs`" msgid "a dictionary of extra keyword arguments to pass to the callback" -msgstr "" +msgstr "словник додаткових ключових аргументів для передачі зворотному виклику" msgid "How callbacks are called" -msgstr "" +msgstr "Як називаються зворотні виклики" msgid "All callbacks are called as follows::" -msgstr "" +msgstr "Усі зворотні виклики викликаються наступним чином:" msgid "``option``" -msgstr "" +msgstr "``опція``" msgid "is the Option instance that's calling the callback" -msgstr "" +msgstr "це екземпляр Option, який викликає зворотний виклик" msgid "``opt_str``" -msgstr "" +msgstr "``opt_str``" msgid "" "is the option string seen on the command-line that's triggering the " @@ -2314,9 +3301,14 @@ msgid "" "command-line as an abbreviation for ``--foobar``, then ``opt_str`` will be " "``\"--foobar\"``.)" msgstr "" +"це рядок параметрів, який можна побачити в командному рядку, який запускає " +"зворотний виклик. (Якщо використовувався скорочений довгий параметр, " +"``opt_str`` буде повним, канонічним рядком параметра --- наприклад, якщо " +"користувач розміщує ``--foo`` у командному рядку як скорочення для ``-- " +"foobar``, тоді ``opt_str`` буде ``\"--foobar\"``.)" msgid "``value``" -msgstr "" +msgstr "``значення``" msgid "" "is the argument to this option seen on the command-line. :mod:`optparse` " @@ -2326,17 +3318,26 @@ msgid "" "will be ``None``. If :attr:`~Option.nargs` > 1, ``value`` will be a tuple " "of values of the appropriate type." msgstr "" +"є аргументом цього параметра в командному рядку. :mod:`optparse` очікуватиме " +"аргумент, лише якщо встановлено :attr:`~Option.type`; тип ``значення`` буде " +"типом, який передбачається типом опції. Якщо :attr:`~Option.type` для цього " +"параметра має значення ``None`` (аргумент не очікується), тоді ``value`` " +"буде ``None``. Якщо :attr:`~Option.nargs` > 1, ``value`` буде кортежем " +"значень відповідного типу." msgid "``parser``" -msgstr "" +msgstr "``парсер``" msgid "" "is the OptionParser instance driving the whole thing, mainly useful because " "you can access some other interesting data through its instance attributes:" msgstr "" +"це екземпляр OptionParser, який керує всім цим, головним чином корисний, " +"оскільки ви можете отримати доступ до деяких інших цікавих даних через його " +"атрибути екземпляра:" msgid "``parser.largs``" -msgstr "" +msgstr "``parser.largs``" msgid "" "the current list of leftover arguments, ie. arguments that have been " @@ -2345,18 +3346,27 @@ msgid "" "become ``args``, the second return value of :meth:`~OptionParser." "parse_args`.)" msgstr "" +"текущий список оставшихся аргументов, т.е. аргументы, которые были " +"использованы, но не являются ни опциями, ни аргументами опций. Не " +"стесняйтесь изменять ``parser.largs``, например, добавляя к нему " +"дополнительные аргументы. (Этот список станет ``args``, вторым возвращаемым " +"значением :meth:`~OptionParser.parse_args`.)" msgid "``parser.rargs``" -msgstr "" +msgstr "``parser.rargs``" msgid "" "the current list of remaining arguments, ie. with ``opt_str`` and ``value`` " "(if applicable) removed, and only the arguments following them still there. " "Feel free to modify ``parser.rargs``, e.g. by consuming more arguments." msgstr "" +"поточний список аргументів, що залишилися, тобто. з вилученими параметрами " +"``opt_str`` і ``value`` (якщо застосовно), і залишаються лише наступні за " +"ними аргументи. Не соромтеся змінити ``parser.rargs``, напр. споживаючи " +"більше аргументів." msgid "``parser.values``" -msgstr "" +msgstr "``parser.values``" msgid "" "the object where option values are by default stored (an instance of " @@ -2365,11 +3375,19 @@ msgid "" "around with globals or closures. You can also access or modify the value(s) " "of any options already encountered on the command-line." msgstr "" +"об’єкт, де за замовчуванням зберігаються значення параметрів (екземпляр " +"optparse.OptionValues). Це дозволяє зворотним викликам використовувати той " +"самий механізм, що й решта :mod:`optparse` для зберігання значень " +"параметрів; вам не потрібно возитися з глобалами чи закриттями. Ви також " +"можете отримати доступ або змінити значення будь-яких параметрів, які вже " +"зустрічаються в командному рядку." msgid "" "is a tuple of arbitrary positional arguments supplied via the :attr:`~Option." "callback_args` option attribute." msgstr "" +"це кортеж довільних позиційних аргументів, що надаються через атрибут опції :" +"attr:`~Option.callback_args`." msgid "``kwargs``" msgstr "``kwargs``" @@ -2378,9 +3396,11 @@ msgid "" "is a dictionary of arbitrary keyword arguments supplied via :attr:`~Option." "callback_kwargs`." msgstr "" +"це словник довільних аргументів ключових слів, які надаються через :attr:" +"`~Option.callback_kwargs`." msgid "Raising errors in a callback" -msgstr "" +msgstr "Викликання помилок у зворотному виклику" msgid "" "The callback function should raise :exc:`OptionValueError` if there are any " @@ -2390,14 +3410,22 @@ msgid "" "option at fault. Otherwise, the user will have a hard time figuring out what " "they did wrong." msgstr "" +"Функція зворотного виклику має викликати :exc:`OptionValueError`, якщо є " +"проблеми з параметром або його аргументом(ами). :mod:`optparse` вловлює це " +"та завершує програму, друкуючи повідомлення про помилку, яке ви надаєте на " +"stderr. Ваше повідомлення має бути ясним, лаконічним, точним і вказувати на " +"помилковий варіант. В іншому випадку користувачеві буде важко зрозуміти, що " +"він зробив не так." msgid "Callback example 1: trivial callback" -msgstr "" +msgstr "Приклад зворотного виклику 1: тривіальний зворотний виклик" msgid "" "Here's an example of a callback option that takes no arguments, and simply " "records that the option was seen::" msgstr "" +"Ось приклад опції зворотного виклику, яка не приймає аргументів і просто " +"записує, що опцію було розглянуто::" msgid "" "def record_foo_seen(option, opt_str, value, parser):\n" @@ -2405,17 +3433,23 @@ msgid "" "\n" "parser.add_option(\"--foo\", action=\"callback\", callback=record_foo_seen)" msgstr "" +"def record_foo_seen(option, opt_str, value, parser):\n" +" parser.values.saw_foo = True\n" +"\n" +"parser.add_option(\"--foo\", action=\"callback\", callback=record_foo_seen)" msgid "Of course, you could do that with the ``\"store_true\"`` action." -msgstr "" +msgstr "Звичайно, ви можете зробити це за допомогою дії ``\"store_true\"``." msgid "Callback example 2: check option order" -msgstr "" +msgstr "Приклад зворотного виклику 2: перевірте порядок варіантів" msgid "" "Here's a slightly more interesting example: record the fact that ``-a`` is " "seen, but blow up if it comes after ``-b`` in the command-line. ::" msgstr "" +"Ось трохи цікавіший приклад: зафіксуйте факт відображення ``-a``, але " +"роздуйте, якщо він стоїть після ``-b`` у командному рядку. ::" msgid "" "def check_order(option, opt_str, value, parser):\n" @@ -2426,15 +3460,26 @@ msgid "" "parser.add_option(\"-a\", action=\"callback\", callback=check_order)\n" "parser.add_option(\"-b\", action=\"store_true\", dest=\"b\")" msgstr "" +"def check_order(option, opt_str, value, parser):\n" +" if parser.values.b:\n" +" raise OptionValueError(\"can't use -a after -b\")\n" +" parser.values.a = 1\n" +"...\n" +"parser.add_option(\"-a\", action=\"callback\", callback=check_order)\n" +"parser.add_option(\"-b\", action=\"store_true\", dest=\"b\")" msgid "Callback example 3: check option order (generalized)" -msgstr "" +msgstr "Приклад зворотного виклику 3: перевірка порядку опцій (узагальнено)" msgid "" "If you want to reuse this callback for several similar options (set a flag, " "but blow up if ``-b`` has already been seen), it needs a bit of work: the " "error message and the flag that it sets must be generalized. ::" msgstr "" +"Если вы хотите повторно использовать этот обратный вызов для нескольких " +"похожих опций (установить флаг, но разобрать, если ``-b`` уже был замечен), " +"необходимо немного поработать: сообщение об ошибке и флаг, который он " +"устанавливает, должны быть обобщенный. ::" msgid "" "def check_order(option, opt_str, value, parser):\n" @@ -2448,9 +3493,19 @@ msgid "" "parser.add_option(\"-c\", action=\"callback\", callback=check_order, " "dest='c')" msgstr "" +"def check_order(option, opt_str, value, parser):\n" +" if parser.values.b:\n" +" raise OptionValueError(\"can't use %s after -b\" % opt_str)\n" +" setattr(parser.values, option.dest, 1)\n" +"...\n" +"parser.add_option(\"-a\", action=\"callback\", callback=check_order, " +"dest='a')\n" +"parser.add_option(\"-b\", action=\"store_true\", dest=\"b\")\n" +"parser.add_option(\"-c\", action=\"callback\", callback=check_order, " +"dest='c')" msgid "Callback example 4: check arbitrary condition" -msgstr "" +msgstr "Приклад зворотного виклику 4: перевірка довільної умови" msgid "" "Of course, you could put any condition in there---you're not limited to " @@ -2458,6 +3513,9 @@ msgid "" "options that should not be called when the moon is full, all you have to do " "is this::" msgstr "" +"Звичайно, ви можете поставити туди будь-яку умову --- ви не обмежені " +"перевіркою значень уже визначених параметрів. Наприклад, якщо у вас є опції, " +"які не слід викликати в повний місяць, все, що вам потрібно зробити, це:" msgid "" "def check_moon(option, opt_str, value, parser):\n" @@ -2469,13 +3527,21 @@ msgid "" "parser.add_option(\"--foo\",\n" " action=\"callback\", callback=check_moon, dest=\"foo\")" msgstr "" +"def check_moon(option, opt_str, value, parser):\n" +" if is_moon_full():\n" +" raise OptionValueError(\"%s option invalid when moon is full\"\n" +" % opt_str)\n" +" setattr(parser.values, option.dest, 1)\n" +"...\n" +"parser.add_option(\"--foo\",\n" +" action=\"callback\", callback=check_moon, dest=\"foo\")" msgid "" "(The definition of ``is_moon_full()`` is left as an exercise for the reader.)" -msgstr "" +msgstr "(Визначення ``is_moon_full()`` залишено як вправа для читача.)" msgid "Callback example 5: fixed arguments" -msgstr "" +msgstr "Приклад зворотного виклику 5: фіксовані аргументи" msgid "" "Things get slightly more interesting when you define callback options that " @@ -2485,10 +3551,17 @@ msgid "" "must be convertible to that type; if you further define :attr:`~Option." "nargs`, then the option takes :attr:`~Option.nargs` arguments." msgstr "" +"Справи стають трохи цікавішими, коли ви визначаєте параметри зворотного " +"виклику, які приймають фіксовану кількість аргументів. Вказівка того, що " +"опція зворотного виклику приймає аргументи, подібна до визначення опції " +"``\"store\"`` або ``\"append\"``: якщо ви визначаєте :attr:`~Option.type`, " +"тоді опція приймає один аргумент, який повинен бути конвертованим у цей тип; " +"якщо ви далі визначаєте :attr:`~Option.nargs`, тоді параметр приймає " +"аргументи :attr:`~Option.nargs`." msgid "" "Here's an example that just emulates the standard ``\"store\"`` action::" -msgstr "" +msgstr "Ось приклад, який просто емулює стандартну дію ``\"store\"``:" msgid "" "def store_value(option, opt_str, value, parser):\n" @@ -2498,15 +3571,25 @@ msgid "" " action=\"callback\", callback=store_value,\n" " type=\"int\", nargs=3, dest=\"foo\")" msgstr "" +"def store_value(option, opt_str, value, parser):\n" +" setattr(parser.values, option.dest, value)\n" +"...\n" +"parser.add_option(\"--foo\",\n" +" action=\"callback\", callback=store_value,\n" +" type=\"int\", nargs=3, dest=\"foo\")" 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.)" msgstr "" +"Зауважте, що :mod:`optparse` піклується про споживання 3 аргументів і " +"перетворення їх на цілі числа за вас; все, що вам потрібно зробити, це " +"зберегти їх. (Або що завгодно; очевидно, вам не потрібен зворотний виклик " +"для цього прикладу.)" msgid "Callback example 6: variable arguments" -msgstr "" +msgstr "Приклад зворотного виклику 6: змінні аргументи" msgid "" "Things get hairy when you want an option to take a variable number of " @@ -2516,19 +3599,30 @@ msgid "" "`optparse` normally handles for you. In particular, callbacks should " "implement the conventional rules for bare ``--`` and ``-`` arguments:" msgstr "" +"Справи стають заплутаними, коли ви хочете, щоб параметр приймав змінну " +"кількість аргументів. У цьому випадку ви повинні написати зворотний виклик, " +"оскільки :mod:`optparse` не надає жодних вбудованих можливостей для нього. І " +"вам доведеться мати справу з певними тонкощами звичайного аналізу командного " +"рядка Unix, який :mod:`optparse` зазвичай обробляє для вас. Зокрема, " +"зворотні виклики мають реалізовувати звичайні правила для голих аргументів " +"``--`` і ``-``:" msgid "either ``--`` or ``-`` can be option arguments" -msgstr "" +msgstr "``--`` або ``-`` можуть бути аргументами опції" msgid "" "bare ``--`` (if not the argument to some option): halt command-line " "processing and discard the ``--``" msgstr "" +"голий ``--`` (якщо не аргумент для якогось параметра): зупинити обробку " +"командного рядка та відкинути ``--``" msgid "" "bare ``-`` (if not the argument to some option): halt command-line " "processing but keep the ``-`` (append it to ``parser.largs``)" msgstr "" +"голий ``-`` (якщо не аргумент для якогось параметра): зупинити обробку " +"командного рядка, але зберегти ``-`` (додати його до ``parser.largs``)" msgid "" "If you want an option that takes a variable number of arguments, there are " @@ -2537,11 +3631,17 @@ msgid "" "application (which is why :mod:`optparse` doesn't support this sort of thing " "directly)." msgstr "" +"Якщо вам потрібна опція, яка приймає змінну кількість аргументів, є кілька " +"тонких, складних питань, про які варто потурбуватися. Точна реалізація, яку " +"ви виберете, базуватиметься на компромісах, які ви готові зробити для своєї " +"програми (саме тому :mod:`optparse` не підтримує подібні речі напряму)." msgid "" "Nevertheless, here's a stab at a callback for an option with variable " "arguments::" msgstr "" +"Тим не менш, ось спроба зворотного виклику для опції зі змінними " +"аргументами::" msgid "" "def vararg_callback(option, opt_str, value, parser):\n" @@ -2571,18 +3671,47 @@ msgid "" "parser.add_option(\"-c\", \"--callback\", dest=\"vararg_attr\",\n" " action=\"callback\", callback=vararg_callback)" msgstr "" +"def vararg_callback(option, opt_str, value, parser):\n" +" assert value is None\n" +" value = []\n" +"\n" +" def floatable(str):\n" +" try:\n" +" float(str)\n" +" return True\n" +" except ValueError:\n" +" return False\n" +"\n" +" for arg in parser.rargs:\n" +" # stop on --foo like options\n" +" if arg[:2] == \"--\" and len(arg) > 2:\n" +" break\n" +" # stop on -a, but not on -3 or -3.0\n" +" if arg[:1] == \"-\" and len(arg) > 1 and not floatable(arg):\n" +" break\n" +" value.append(arg)\n" +"\n" +" del parser.rargs[:len(value)]\n" +" setattr(parser.values, option.dest, value)\n" +"\n" +"...\n" +"parser.add_option(\"-c\", \"--callback\", dest=\"vararg_attr\",\n" +" action=\"callback\", callback=vararg_callback)" msgid "Extending :mod:`optparse`" -msgstr "" +msgstr "Розширення :mod:`optparse`" msgid "" "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 "" +"Оскільки двома основними факторами, що впливають на те, як :mod:`optparse` " +"інтерпретує параметри командного рядка, є дія та тип кожного параметра, " +"найімовірнішим напрямком розширення є додавання нових дій і нових типів." msgid "Adding new types" -msgstr "" +msgstr "Додавання нових типів" msgid "" "To add new types, you need to define your own subclass of :mod:`optparse`'s :" @@ -2590,19 +3719,26 @@ msgid "" "mod:`optparse`'s types: :attr:`~Option.TYPES` and :attr:`~Option." "TYPE_CHECKER`." msgstr "" +"Щоб додати нові типи, вам потрібно визначити власний підклас класу :mod:" +"`optparse` :class:`Option`. Цей клас має кілька атрибутів, які визначають " +"типи :mod:`optparse`: :attr:`~Option.TYPES` і :attr:`~Option.TYPE_CHECKER`." msgid "" "A tuple of type names; in your subclass, simply define a new tuple :attr:" "`TYPES` that builds on the standard one." msgstr "" +"Кортеж імен типів; у своєму підкласі просто визначте новий кортеж :attr:" +"`TYPES`, який базується на стандартному." msgid "" "A dictionary mapping type names to type-checking functions. A type-checking " "function has the following signature::" msgstr "" +"Словник, що зіставляє назви типів із функціями перевірки типу. Функція " +"перевірки типу має такий підпис:" msgid "def check_mytype(option, opt, value)" -msgstr "" +msgstr "def check_mytype(option, opt, value)" msgid "" "where ``option`` is an :class:`Option` instance, ``opt`` is an option string " @@ -2613,6 +3749,13 @@ msgid "" "by :meth:`OptionParser.parse_args`, or be passed to a callback as the " "``value`` parameter." msgstr "" +"де ``option`` - це екземпляр :class:`Option`, ``opt`` - це рядок параметра " +"(наприклад, ``-f``), а ``value`` - це рядок із командного рядка, який " +"необхідно перевірити та перетворити на потрібний тип. ``check_mytype()`` має " +"повертати об’єкт гіпотетичного типу ``mytype``. Значення, повернуте функцією " +"перевірки типу, з’явиться в екземплярі OptionValues, поверненому :meth:" +"`OptionParser.parse_args`, або буде передано зворотному виклику як параметр " +"``value``." msgid "" "Your type-checking function should raise :exc:`OptionValueError` if it " @@ -2621,6 +3764,11 @@ msgid "" "method, which in turn prepends the program name and the string ``\"error:" "\"`` and prints everything to stderr before terminating the process." msgstr "" +"Ваша функція перевірки типу має викликати :exc:`OptionValueError`, якщо вона " +"стикається з будь-якими проблемами. :exc:`OptionValueError` приймає один " +"рядковий аргумент, який передається як є до методу :meth:`error` :class:" +"`OptionParser`, який, у свою чергу, додає назву програми та рядок " +"``\"помилка: \"`` і друкує все в stderr перед завершенням процесу." msgid "" "Here's a silly example that demonstrates adding a ``\"complex\"`` option " @@ -2628,19 +3776,28 @@ msgid "" "even sillier than it used to be, because :mod:`optparse` 1.3 added built-in " "support for complex numbers, but never mind.)" msgstr "" +"Ось дурний приклад, який демонструє додавання типу параметра ``\"complex\"`` " +"для аналізу комплексних чисел у стилі Python у командному рядку. (Це ще " +"безглуздіше, ніж було раніше, тому що :mod:`optparse` 1.3 додав вбудовану " +"підтримку комплексних чисел, але нічого.)" msgid "First, the necessary imports::" -msgstr "" +msgstr "По-перше, необхідний імпорт::" msgid "" "from copy import copy\n" "from optparse import Option, OptionValueError" msgstr "" +"from copy import copy\n" +"from optparse import Option, OptionValueError" msgid "" "You need to define your type-checker first, since it's referred to later (in " "the :attr:`~Option.TYPE_CHECKER` class attribute of your Option subclass)::" msgstr "" +"Спершу вам потрібно визначити свій засіб перевірки типів, оскільки на нього " +"посилатимуться пізніше (в атрибуті класу :attr:`~Option.TYPE_CHECKER` вашого " +"підкласу Option):" msgid "" "def check_complex(option, opt, value):\n" @@ -2650,9 +3807,15 @@ msgid "" " raise OptionValueError(\n" " \"option %s: invalid complex value: %r\" % (opt, value))" msgstr "" +"def check_complex(option, opt, value):\n" +" try:\n" +" return complex(value)\n" +" except ValueError:\n" +" raise OptionValueError(\n" +" \"option %s: invalid complex value: %r\" % (opt, value))" msgid "Finally, the Option subclass::" -msgstr "" +msgstr "Нарешті, підклас Option::" msgid "" "class MyOption (Option):\n" @@ -2660,6 +3823,10 @@ msgid "" " TYPE_CHECKER = copy(Option.TYPE_CHECKER)\n" " TYPE_CHECKER[\"complex\"] = check_complex" msgstr "" +"class MyOption (Option):\n" +" TYPES = Option.TYPES + (\"complex\",)\n" +" TYPE_CHECKER = copy(Option.TYPE_CHECKER)\n" +" TYPE_CHECKER[\"complex\"] = check_complex" msgid "" "(If we didn't make a :func:`copy` of :attr:`Option.TYPE_CHECKER`, we would " @@ -2667,49 +3834,71 @@ msgid "" "`optparse`'s Option class. This being Python, nothing stops you from doing " "that except good manners and common sense.)" msgstr "" +"(Якби ми не зробили :func:`copy` :attr:`Option.TYPE_CHECKER`, ми б завершили " +"зміну атрибута :attr:`~Option.TYPE_CHECKER` параметра :mod:`optparse` " +"Оскільки це Python, ніщо не заважає вам це зробити, крім хороших манер і " +"здорового глузду.)" 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 " "your OptionParser to use MyOption instead of Option::" msgstr "" +"Це воно! Тепер ви можете написати сценарій, який використовує новий тип " +"опцій, як і будь-який інший сценарій на основі :mod:`optparse`\\, за " +"винятком того, що вам потрібно вказати вашому OptionParser використовувати " +"MyOption замість Option::" msgid "" "parser = OptionParser(option_class=MyOption)\n" "parser.add_option(\"-c\", type=\"complex\")" msgstr "" +"parser = OptionParser(option_class=MyOption)\n" +"parser.add_option(\"-c\", type=\"complex\")" msgid "" "Alternately, you can build your own option list and pass it to OptionParser; " "if you don't use :meth:`add_option` in the above way, you don't need to tell " "OptionParser which option class to use::" msgstr "" +"Крім того, ви можете створити власний список параметрів і передати його в " +"OptionParser; якщо ви не використовуєте :meth:`add_option` вищезгаданим " +"способом, вам не потрібно вказувати OptionParser, який клас параметрів " +"використовувати::" msgid "" "option_list = [MyOption(\"-c\", action=\"store\", type=\"complex\", " "dest=\"c\")]\n" "parser = OptionParser(option_list=option_list)" msgstr "" +"option_list = [MyOption(\"-c\", action=\"store\", type=\"complex\", " +"dest=\"c\")]\n" +"parser = OptionParser(option_list=option_list)" msgid "Adding new actions" -msgstr "" +msgstr "Додавання нових дій" msgid "" "Adding new actions is a bit trickier, because you have to understand that :" "mod:`optparse` has a couple of classifications for actions:" msgstr "" +"Додавати нові дії трохи складніше, тому що ви повинні розуміти, що :mod:" +"`optparse` має кілька класифікацій для дій:" msgid "\"store\" actions" -msgstr "" +msgstr "дії \"магазину\"." msgid "" "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 "" +"дії, які призводять до того, що :mod:`optparse` зберігає значення в атрибуті " +"поточного екземпляра OptionValues; ці параметри вимагають надання атрибута :" +"attr:`~Option.dest` конструктору Option." msgid "\"typed\" actions" -msgstr "" +msgstr "\"набрані\" дії" msgid "" "actions that take a value from the command line and expect it to be of a " @@ -2717,6 +3906,9 @@ msgid "" "These options require a :attr:`~Option.type` attribute to the Option " "constructor." msgstr "" +"дії, які беруть значення з командного рядка та очікують, що воно буде " +"певного типу; точніше, рядок, який можна перетворити на певний тип. Для цих " +"параметрів потрібен атрибут :attr:`~Option.type` конструктору Option." msgid "" "These are overlapping sets: some default \"store\" actions are " @@ -2724,20 +3916,26 @@ msgid "" "the default \"typed\" actions are ``\"store\"``, ``\"append\"``, and " "``\"callback\"``." msgstr "" +"Це набори, що перекриваються: деякі дії \"зберігання\" за замовчуванням - це " +"``\"store\"``, ``\"store_const\"``, ``\"append\"`` і ``\"count\"``, а за " +"замовчуванням \"typed\" \" діями є ``\"зберігати\"``, ``\"додавати\"`` і " +"``\"зворотний виклик\"``." msgid "" "When you add an action, you need to categorize it by listing it in at least " "one of the following class attributes of Option (all are lists of strings):" msgstr "" +"Коли ви додаєте дію, вам потрібно класифікувати її, перерахувавши принаймні " +"в одному з наступних атрибутів класу Option (усі є списками рядків):" msgid "All actions must be listed in ACTIONS." -msgstr "" +msgstr "Усі дії мають бути вказані в ACTIONS." msgid "\"store\" actions are additionally listed here." -msgstr "" +msgstr "тут додатково перераховані дії \"магазину\"." msgid "\"typed\" actions are additionally listed here." -msgstr "" +msgstr "\"введені\" дії додатково перераховані тут." msgid "" "Actions that always take a type (i.e. whose options always take a value) are " @@ -2745,11 +3943,17 @@ msgid "" "assigns the default type, ``\"string\"``, to options with no explicit type " "whose action is listed in :attr:`ALWAYS_TYPED_ACTIONS`." msgstr "" +"Дії, які завжди мають тип (тобто чиї параметри завжди приймають значення), " +"додатково перераховані тут. Єдиним ефектом цього є те, що :mod:`optparse` " +"призначає тип за замовчуванням, ``\"string\"``, параметрам без явного типу, " +"дія яких указана в :attr:`ALWAYS_TYPED_ACTIONS`." msgid "" "In order to actually implement your new action, you must override Option's :" "meth:`take_action` method and add a case that recognizes your action." msgstr "" +"Щоб фактично реалізувати вашу нову дію, ви повинні перевизначити метод :meth:" +"`take_action` Option і додати регістр, який розпізнає вашу дію." msgid "" "For example, let's add an ``\"extend\"`` action. This is similar to the " @@ -2759,18 +3963,24 @@ msgid "" "existing list with them. That is, if ``--names`` is an ``\"extend\"`` " "option of type ``\"string\"``, the command line ::" msgstr "" +"Наприклад, давайте додамо дію ``\"розширити\"``. Це схоже на стандартну дію " +"``\"append\"``, але замість того, щоб брати одне значення з командного рядка " +"та додавати його до існуючого списку, ``\"extend\"`` прийматиме кілька " +"значень в одній комі -рядок із роздільниками та розширити ними існуючий " +"список. Тобто, якщо ``--names`` є опцією ``\"extend\"`` типу ``\"string\"``, " +"командний рядок::" msgid "--names=foo,bar --names blah --names ding,dong" -msgstr "" +msgstr "--names=foo,bar --names blah --names ding,dong" msgid "would result in a list ::" -msgstr "" +msgstr "призведе до списку ::" msgid "[\"foo\", \"bar\", \"blah\", \"ding\", \"dong\"]" -msgstr "" +msgstr "[\"foo\", \"bar\", \"blah\", \"ding\", \"dong\"]" msgid "Again we define a subclass of Option::" -msgstr "" +msgstr "Знову ми визначаємо підклас Option::" msgid "" "class MyOption(Option):\n" @@ -2788,36 +3998,61 @@ msgid "" " Option.take_action(\n" " self, action, dest, opt, value, values, parser)" msgstr "" +"class MyOption(Option):\n" +"\n" +" ACTIONS = Option.ACTIONS + (\"extend\",)\n" +" STORE_ACTIONS = Option.STORE_ACTIONS + (\"extend\",)\n" +" TYPED_ACTIONS = Option.TYPED_ACTIONS + (\"extend\",)\n" +" ALWAYS_TYPED_ACTIONS = Option.ALWAYS_TYPED_ACTIONS + (\"extend\",)\n" +"\n" +" def take_action(self, action, dest, opt, value, values, parser):\n" +" if action == \"extend\":\n" +" lvalue = value.split(\",\")\n" +" values.ensure_value(dest, []).extend(lvalue)\n" +" else:\n" +" Option.take_action(\n" +" self, action, dest, opt, value, values, parser)" msgid "Features of note:" -msgstr "" +msgstr "Примітка." msgid "" "``\"extend\"`` both expects a value on the command-line and stores that " "value somewhere, so it goes in both :attr:`~Option.STORE_ACTIONS` and :attr:" "`~Option.TYPED_ACTIONS`." msgstr "" +"``\"extend\"`` очікує значення в командному рядку та десь зберігає це " +"значення, тому воно входить і в :attr:`~Option.STORE_ACTIONS`, і в :attr:" +"`~Option.TYPED_ACTIONS`." 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." msgstr "" +"щоб гарантувати, що :mod:`optparse` призначає типовий тип ``\"string\"`` " +"діям ``\"extend\"``, ми додаємо дію ``\"extend\"`` в :attr:`~Option. " +"ALWAYS_TYPED_ACTIONS` також." 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` " "actions." msgstr "" +":meth:`MyOption.take_action` реалізує лише цю нову дію та передає керування " +"назад :meth:`Option.take_action` для стандартних дій :mod:`optparse`." msgid "" "``values`` is an instance of the optparse_parser.Values class, which " "provides the very useful :meth:`ensure_value` method. :meth:`ensure_value` " "is essentially :func:`getattr` with a safety valve; it is called as ::" msgstr "" +"``values`` є екземпляром класу optparse_parser.Values, який надає дуже " +"корисний метод :meth:`ensure_value`. :meth:`ensure_value` це по суті :func:" +"`getattr` із запобіжним клапаном; це називається як ::" msgid "values.ensure_value(attr, value)" -msgstr "" +msgstr "values.ensure_value(attr, value)" msgid "" "If the ``attr`` attribute of ``values`` doesn't exist or is ``None``, then " @@ -2830,6 +4065,17 @@ msgid "" "destinations in question; they can just leave the default as ``None`` and :" "meth:`ensure_value` will take care of getting it right when it's needed." msgstr "" +"Если атрибут ``attr`` для ``values`` не существует или имеет значение " +"``None``, то метод обеспечения_value() сначала устанавливает его в " +"``value``, а затем возвращает ``value``. Это очень удобно для таких " +"действий, как «расширить», «добавить» и «подсчитать», которые накапливают " +"данные в переменной и ожидают, что эта переменная будет определенного типа. " +"(список для первых двух, целое число для последнего). Использование :meth:" +"`ensure_value` означает, что скриптам, использующим ваше действие, не нужно " +"беспокоиться об установке значения по умолчанию для рассматриваемых пунктов " +"назначения; они могут просто оставить значение по умолчанию «Нет», и :meth:" +"`ensure_value` позаботится о том, чтобы все было правильно, когда это " +"необходимо." msgid "Exceptions" msgstr "Wyjątki" @@ -2838,15 +4084,20 @@ msgid "" "Raised if an :class:`Option` instance is created with invalid or " "inconsistent arguments." msgstr "" +"Возникает, если экземпляр :class:`Option` создан с недопустимыми или " +"противоречивыми аргументами." msgid "Raised if conflicting options are added to an :class:`OptionParser`." msgstr "" +"Возникает, если в :class:`OptionParser` добавлены конфликтующие параметры." msgid "Raised if an invalid option value is encountered on the command line." msgstr "" +"Возникает, если в командной строке обнаружено недопустимое значение " +"параметра." msgid "Raised if an invalid option is passed on the command line." -msgstr "" +msgstr "Возникает, если в командной строке передан недопустимый параметр." msgid "Raised if an ambiguous option is passed on the command line." -msgstr "" +msgstr "Возникает, если в командной строке передается неоднозначная опция." diff --git a/library/os.path.po b/library/os.path.po index 2db0d0e5ee..60b307433a 100644 --- a/library/os.path.po +++ b/library/os.path.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-25 15:00+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -266,9 +264,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." @@ -369,9 +369,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 +415,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 " @@ -571,10 +603,10 @@ msgid "path" msgstr "ścieżka" msgid "operations" -msgstr "" +msgstr "операции" msgid "~ (tilde)" -msgstr "" +msgstr "~ (тильда)" msgid "home directory expansion" msgstr "" @@ -592,7 +624,7 @@ msgid "environment variables expansion" msgstr "" msgid "% (percent)" -msgstr "" +msgstr "% (процент)" msgid "environment variables expansion (Windows)" msgstr "" diff --git a/library/os.po b/library/os.po index e8c4bb02fc..3d3a772da1 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-04-04 14:18+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -26,10 +24,10 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!os` --- Miscellaneous operating system interfaces" -msgstr "" +msgstr ":mod:`!os` --- Miscellaneous operating system interfaces" 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 " @@ -40,9 +38,16 @@ msgid "" "mod:`tempfile` module, and for high-level file and directory handling see " "the :mod:`shutil` module." msgstr "" +"Modul ini menyediakan cara portabel menggunakan fungsionalitas yang " +"bergantung pada sistem operasi. Jika Anda hanya ingin membaca atau menulis " +"file, lihat :func:`open`, jika Anda ingin memanipulasi path, lihat modul :" +"mod:`os.path`, dan jika Anda ingin membaca semua baris di semua file pada " +"baris perintah lihat modul :mod:`fileinput`. Untuk membuat file dan " +"direktori sementara lihat modul :mod:`tempfile`, dan untuk penanganan file " +"dan direktori tingkat tinggi lihat modul :mod:`shutil`." msgid "Notes on the availability of these functions:" -msgstr "" +msgstr "Catatan tentang ketersediaan fungsi-fungsi tersebut:" msgid "" "The design of all built-in operating system dependent modules of Python is " @@ -51,22 +56,33 @@ msgid "" "information about *path* in the same format (which happens to have " "originated with the POSIX interface)." msgstr "" +"Конструкція всіх вбудованих залежних від операційної системи модулів Python " +"така, що, поки доступна та сама функціональність, він використовує той самий " +"інтерфейс; наприклад, функція ``os.stat(path)`` повертає статистичну " +"інформацію про *path* у тому самому форматі (який, як виявилося, походить з " +"інтерфейсу POSIX)." 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 " "portability." msgstr "" +"Розширення, властиві певній операційній системі, також доступні через " +"модуль :mod:`os`, але їх використання, звичайно, є загрозою для " +"переносимості." msgid "" "All functions accepting path or file names accept both bytes and string " "objects, and result in an object of the same type, if a path or file name is " "returned." msgstr "" +"Усі функції, які приймають імена шляхів або файлів, приймають як байти, так " +"і рядкові об’єкти, і в результаті повертають об’єкт того самого типу, якщо " +"повертається шлях або ім’я файлу." msgid "" "On VxWorks, os.popen, os.fork, os.execv and os.spawn*p* are not supported." -msgstr "" +msgstr "У VxWorks os.popen, os.fork, os.execv і os.spawn*p* не підтримуються." msgid "" "On WebAssembly platforms, Android and iOS, large parts of the :mod:`os` " @@ -76,33 +92,47 @@ msgid "" "getpid` are emulated or stubs. WebAssembly platforms also lack support for " "signals (e.g. :func:`~os.kill`, :func:`~os.wait`)." msgstr "" +"На платформах WebAssembly, Android и iOS, большие части модуля :mod:`os` " +"недоступны или ведут себя по-другому. API, связанные с процессами " +"(например, :func:`~os.fork`, :func:`~os.execve`) и ресурсами (например, :" +"func:`~os.nice`), недоступны. Другие, такие как :func:`~os.getuid` и :func:" +"`~os.getpid`, эмулируются или являются заглушками. Платформы WebAssembly " +"также не поддерживают сигналы (например, :func:`~os.kill`, :func:`~os.wait`)." msgid "" "All functions in this module raise :exc:`OSError` (or subclasses thereof) in " "the case of invalid or inaccessible file names and paths, or other arguments " "that have the correct type, but are not accepted by the operating system." msgstr "" +"Усі функції в цьому модулі викликають :exc:`OSError` (або його підкласи) у " +"разі недійсних або недоступних імен файлів і шляхів або інших аргументів, " +"які мають правильний тип, але не приймаються операційною системою." msgid "An alias for the built-in :exc:`OSError` exception." -msgstr "" +msgstr "Псевдонім для вбудованого винятку :exc:`OSError`." msgid "" "The name of the operating system dependent module imported. The following " "names have currently been registered: ``'posix'``, ``'nt'``, ``'java'``." msgstr "" +"Назва імпортованого модуля, залежного від операційної системи. Наразі " +"зареєстровано такі назви: ``'posix'``, ``'nt'``, ``'java'``." msgid "" ":data:`sys.platform` has a finer granularity. :func:`os.uname` gives system-" "dependent version information." msgstr "" +":data:`sys.platform` имеет более мелкую зернистость. :func:`os.uname` " +"предоставляет информацию о версии, зависящую от системы." msgid "" "The :mod:`platform` module provides detailed checks for the system's " "identity." msgstr "" +"Модуль :mod:`platform` забезпечує детальну перевірку ідентичності системи." msgid "File Names, Command Line Arguments, and Environment Variables" -msgstr "" +msgstr "Nama Berkas, Argumen Command Line, dan Variabel Lingkungan" msgid "" "In Python, file names, command line arguments, and environment variables are " @@ -111,6 +141,11 @@ msgid "" "Python uses the :term:`filesystem encoding and error handler` to perform " "this conversion (see :func:`sys.getfilesystemencoding`)." msgstr "" +"У Python імена файлів, аргументи командного рядка та змінні середовища " +"представлені за допомогою рядкового типу. У деяких системах декодування цих " +"рядків у та з байтів є необхідним перед передачею їх в операційну систему. " +"Python використовує :term:`filesystem encoding and error handler` для " +"виконання цього перетворення (див. :func:`sys.getfilesystemencoding`)." msgid "" "The :term:`filesystem encoding and error handler` are configured at Python " @@ -126,6 +161,12 @@ msgid "" "Unicode character U+DC\\ *xx* on decoding, and these are again translated to " "the original byte on encoding." msgstr "" +"В некоторых системах преобразование с использованием кодировки файловой " +"системы может завершиться неудачно. В этом случае Python использует " +"обработчик ошибок кодирования surrogateescape.\n" +"`, что означает, что недекодируемые байты заменяются символом Юникода U+DC\\ " +"*xx* при декодировании, и они снова преобразуются в исходный байт при " +"кодировании." msgid "" "The :term:`file system encoding ` " @@ -133,33 +174,43 @@ msgid "" "system encoding fails to provide this guarantee, API functions can raise :" "exc:`UnicodeError`." msgstr "" +":term:`кодування файлової системи ` " +"має гарантувати успішне декодування всіх байтів нижче 128. Якщо кодування " +"файлової системи не забезпечує цю гарантію, функції API можуть викликати :" +"exc:`UnicodeError`." msgid "See also the :term:`locale encoding`." msgstr "" msgid "Python UTF-8 Mode" -msgstr "" +msgstr "Python UTF-8 Modu" msgid "See :pep:`540` for more details." -msgstr "" +msgstr "Lihat :pep:`540` untuk lebih detail." msgid "" "The Python UTF-8 Mode ignores the :term:`locale encoding` and forces the " "usage of the UTF-8 encoding:" msgstr "" +"Режим Python UTF-8 ігнорує кодування :term:`locale encoding` і змушує " +"використовувати кодування UTF-8:" msgid "" "Use UTF-8 as the :term:`filesystem encoding `." msgstr "" +"Використовуйте UTF-8 як :term:`кодування файлової системи `." msgid ":func:`sys.getfilesystemencoding` returns ``'utf-8'``." -msgstr "" +msgstr ":func:`sys.getfilesystemencoding` возвращает ``'utf-8'`` ." msgid "" ":func:`locale.getpreferredencoding` returns ``'utf-8'`` (the *do_setlocale* " "argument has no effect)." msgstr "" +":func:`locale.getpreferredencoding` возвращает ``'utf-8'`` (аргумент " +"*do_setlocale* не имеет никакого эффекта)." msgid "" ":data:`sys.stdin`, :data:`sys.stdout`, and :data:`sys.stderr` all use UTF-8 " @@ -168,30 +219,44 @@ msgid "" "(:data:`sys.stderr` continues to use ``backslashreplace`` as it does in the " "default locale-aware mode)" msgstr "" +":data:`sys.stdin`, :data:`sys.stdout` і :data:`sys.stderr` використовують " +"UTF-8 як кодування тексту з ``surrogateescape`` :ref:`обробником помилок " +"` увімкнено для :data:`sys.stdin` і :data:`sys.stdout` (:" +"data:`sys.stderr` продовжує використовувати ``backslashreplace``, як це " +"робиться в режимі з урахуванням локалі за замовчуванням)" msgid "" "On Unix, :func:`os.device_encoding` returns ``'utf-8'`` rather than the " "device encoding." msgstr "" +"В Unix, :func:`os.device_encoding` возвращает ``'utf-8'`` а не кодировка " +"устройства." msgid "" "Note that the standard stream settings in UTF-8 mode can be overridden by :" "envvar:`PYTHONIOENCODING` (just as they can be in the default locale-aware " "mode)." msgstr "" +"Зауважте, що стандартні параметри потоку в режимі UTF-8 можна замінити :" +"envvar:`PYTHONIOENCODING` (так само, як вони можуть бути в режимі з " +"урахуванням локалі за замовчуванням)." msgid "" "As a consequence of the changes in those lower level APIs, other higher " "level APIs also exhibit different default behaviours:" msgstr "" +"Як наслідок змін у цих API нижчого рівня, інші API вищого рівня також " +"демонструють іншу поведінку за замовчуванням:" msgid "" "Command line arguments, environment variables and filenames are decoded to " "text using the UTF-8 encoding." msgstr "" +"Аргументи командного рядка, змінні середовища та імена файлів декодуються в " +"текст за допомогою кодування UTF-8." msgid ":func:`os.fsdecode` and :func:`os.fsencode` use the UTF-8 encoding." -msgstr "" +msgstr ":func:`os.fsdecode` и :func:`os.fsencode` используйте кодировку UTF-8." msgid "" ":func:`open`, :func:`io.open`, and :func:`codecs.open` use the UTF-8 " @@ -199,17 +264,26 @@ msgid "" "default so that attempting to open a binary file in text mode is likely to " "raise an exception rather than producing nonsense data." msgstr "" +":func:`открыть` , :func:`io.open` , и :func:`codecs.open` по умолчанию " +"используйте кодировку UTF-8. Однако по умолчанию они по-прежнему используют " +"строгий обработчик ошибок, поэтому попытка открыть двоичный файл в текстовом " +"режиме скорее всего приведет к возникновению исключения, а не к созданию " +"бессмысленных данных." msgid "" "The :ref:`Python UTF-8 Mode ` is enabled if the LC_CTYPE locale " "is ``C`` or ``POSIX`` at Python startup (see the :c:func:`PyConfig_Read` " "function)." msgstr "" +":ref:`Режим Python UTF-8 ` увімкнено, якщо під час запуску Python " +"локаль LC_CTYPE є ``C`` або ``POSIX`` (див. функцію :c:func:`PyConfig_Read`)." msgid "" "It can be enabled or disabled using the :option:`-X utf8 <-X>` command line " "option and the :envvar:`PYTHONUTF8` environment variable." msgstr "" +"Його можна ввімкнути або вимкнути за допомогою параметра командного рядка :" +"option:`-X utf8 <-X>` і змінної середовища :envvar:`PYTHONUTF8`." msgid "" "If the :envvar:`PYTHONUTF8` environment variable is not set at all, then the " @@ -219,34 +293,46 @@ msgid "" "or fails. In such legacy locales, the interpreter will default to enabling " "UTF-8 mode unless explicitly instructed not to do so." msgstr "" +"Якщо змінна середовища :envvar:`PYTHONUTF8` не встановлена взагалі, " +"інтерпретатор за замовчуванням використовує поточні параметри локалі, *якщо* " +"поточна локаль не визначена як застаріла локаль на основі ASCII (як описано " +"для :envvar:`PYTHONCOERCECLOCALE`), а примусове налаштування локалі вимкнено " +"або не працює. У таких застарілих локалях інтерпретатор за замовчуванням " +"увімкне режим UTF-8, якщо немає явних вказівок не робити цього." msgid "" "The Python UTF-8 Mode can only be enabled at the Python startup. Its value " "can be read from :data:`sys.flags.utf8_mode `." msgstr "" +"Режим Python UTF-8 можна ввімкнути лише під час запуску Python. Його " +"значення можна прочитати з :data:`sys.flags.utf8_mode `." msgid "" "See also the :ref:`UTF-8 mode on Windows ` and the :term:" "`filesystem encoding and error handler`." msgstr "" +"Дивіться також режим :ref:`UTF-8 у Windows ` і :term:" +"`filesystem encoding and error handler`." msgid ":pep:`686`" msgstr ":pep:`686`" msgid "Python 3.15 will make :ref:`utf8-mode` default." -msgstr "" +msgstr "Python 3.15 сделает :ref:`utf8-режим` по умолчанию." msgid "Process Parameters" -msgstr "" +msgstr "İşleme Parametreleri" msgid "" "These functions and data items provide information and operate on the " "current process and user." msgstr "" +"Ці функції та елементи даних надають інформацію та діють щодо поточного " +"процесу та користувача." msgid "" "Return the filename corresponding to the controlling terminal of the process." -msgstr "" +msgstr "Повертає ім'я файлу, що відповідає керуючому терміналу процесу." msgid "Availability" msgstr "Dostępność" @@ -257,6 +343,10 @@ msgid "" "of your home directory (on some platforms), and is equivalent to " "``getenv(\"HOME\")`` in C." msgstr "" +"Об’єкт :term:`mapping`, де ключі та значення є рядками, які представляють " +"середовище процесу. Наприклад, ``environ['HOME']`` є шляхом до вашого " +"домашнього каталогу (на деяких платформах) і еквівалентний " +"``getenv(\"HOME\")`` в C." msgid "" "This mapping is captured the first time the :mod:`os` module is imported, " @@ -265,34 +355,53 @@ msgid "" "`os.environ`, except for changes made by modifying :data:`os.environ` " "directly." msgstr "" +"Це зіставлення фіксується під час першого імпорту модуля :mod:`os`, зазвичай " +"під час запуску Python як частина обробки :file:`site.py`. Зміни в " +"середовищі, внесені після цього часу, не відображаються в :data:`os." +"environ`, за винятком змін, внесених безпосередньо шляхом модифікації :data:" +"`os.environ`." msgid "" "This mapping may be used to modify the environment as well as query the " "environment. :func:`putenv` will be called automatically when the mapping " "is modified." msgstr "" +"Це відображення можна використовувати для зміни середовища, а також запиту " +"середовища. :func:`putenv` буде викликано автоматично, коли відображення " +"буде змінено." msgid "" "On Unix, keys and values use :func:`sys.getfilesystemencoding` and " "``'surrogateescape'`` error handler. Use :data:`environb` if you would like " "to use a different encoding." msgstr "" +"В Unix ключі та значення використовують :func:`sys.getfilesystemencoding` і " +"``'surrogateescape'`` обробник помилок. Використовуйте :data:`environb`, " +"якщо ви хочете використати інше кодування." msgid "" "On Windows, the keys are converted to uppercase. This also applies when " "getting, setting, or deleting an item. For example, ``environ['monty'] = " "'python'`` maps the key ``'MONTY'`` to the value ``'python'``." msgstr "" +"В Windows клавиши преобразуются в верхний регистр. Это также применимо при " +"получении, настройке или удалении элемента. Например, ``environ['monty'] = " +"'python'`` отображает ключ ``'МОНТИ'`` к значению ``'питон'`` ." msgid "" "Calling :func:`putenv` directly does not change :data:`os.environ`, so it's " "better to modify :data:`os.environ`." msgstr "" +"Безпосередній виклик :func:`putenv` не змінює :data:`os.environ`, тому краще " +"змінити :data:`os.environ`." msgid "" "On some platforms, including FreeBSD and macOS, setting ``environ`` may " "cause memory leaks. Refer to the system documentation for :c:func:`!putenv`." msgstr "" +"На некоторых платформах, включая FreeBSD и macOS, настройка ``о`` может " +"вызвать утечку памяти. Обратитесь к документации системы для :c:func:`!" +"putenv` ." msgid "" "You can delete items in this mapping to unset environment variables. :func:" @@ -300,10 +409,16 @@ msgid "" "`os.environ`, and when one of the :meth:`pop` or :meth:`clear` methods is " "called." msgstr "" +"Ви можете видалити елементи в цьому відображенні, щоб скасувати налаштування " +"змінних середовища. :func:`unsetenv` буде викликано автоматично, коли " +"елемент буде видалено з :data:`os.environ`, а також під час виклику одного з " +"методів :meth:`pop` або :meth:`clear`." msgid "" "Updated to support :pep:`584`'s merge (``|``) and update (``|=``) operators." msgstr "" +"Оновлено для підтримки операторів злиття (``|``) і оновлення (``|=``) :pep:" +"`584`." msgid "" "Bytes version of :data:`environ`: a :term:`mapping` object where both keys " @@ -311,38 +426,50 @@ msgid "" "data:`environ` and :data:`environb` are synchronized (modifying :data:" "`environb` updates :data:`environ`, and vice versa)." msgstr "" +"Байтова версія :data:`environ`: об’єкт :term:`mapping`, де і ключі, і " +"значення є об’єктами :class:`bytes`, що представляють середовище процесу. :" +"data:`environ` і :data:`environb` синхронізуються (модифікація :data:" +"`environb` оновлює :data:`environ`, і навпаки)." msgid "" ":data:`environb` is only available if :const:`supports_bytes_environ` is " "``True``." msgstr "" +":data:`окружающая среда` доступен только в том случае, если :const:" +"`supports_bytes_environ` является ``Правда`` ." msgid "These functions are described in :ref:`os-file-dir`." -msgstr "" +msgstr "Fungsi ini dideskripsikan di :ref:`os-file-dir`." msgid "" "Encode :term:`path-like ` *filename* to the :term:" "`filesystem encoding and error handler`; return :class:`bytes` unchanged." msgstr "" +"Закодуйте :term:`path-like ` *ім’я файлу* до :term:" +"`filesystem encoding and error handler`; повертає :class:`bytes` без змін." msgid ":func:`fsdecode` is the reverse function." -msgstr "" +msgstr ":func:`fsdecode` є зворотною функцією." msgid "" "Support added to accept objects implementing the :class:`os.PathLike` " "interface." msgstr "" +"Додано підтримку прийому об’єктів, що реалізують інтерфейс :class:`os." +"PathLike`." msgid "" "Decode the :term:`path-like ` *filename* from the :term:" "`filesystem encoding and error handler`; return :class:`str` unchanged." msgstr "" +"Декодуйте :term:`path-like ` *filename* з :term:" +"`filesystem encoding and error handler`; повертає :class:`str` без змін." msgid ":func:`fsencode` is the reverse function." -msgstr "" +msgstr ":func:`fsencode` є зворотною функцією." msgid "Return the file system representation of the path." -msgstr "" +msgstr "Повертає представлення файлової системи шляху." msgid "" "If :class:`str` or :class:`bytes` is passed in, it is returned unchanged. " @@ -350,19 +477,27 @@ msgid "" "returned as long as it is a :class:`str` or :class:`bytes` object. In all " "other cases, :exc:`TypeError` is raised." msgstr "" +"Якщо передано :class:`str` або :class:`bytes`, воно повертається без змін. В " +"іншому випадку викликається :meth:`~os.PathLike.__fspath__` і повертається " +"його значення, якщо це об’єкт :class:`str` або :class:`bytes`. У всіх інших " +"випадках виникає :exc:`TypeError`." msgid "" "An :term:`abstract base class` for objects representing a file system path, " "e.g. :class:`pathlib.PurePath`." msgstr "" +":term:`abstract base class` для об’єктів, що представляють шлях файлової " +"системи, напр. :class:`pathlib.PurePath`." msgid "Return the file system path representation of the object." -msgstr "" +msgstr "Повертає представлення шляху файлової системи до об’єкта." msgid "" "The method should only return a :class:`str` or :class:`bytes` object, with " "the preference being for :class:`str`." msgstr "" +"Метод має повертати лише об’єкт :class:`str` або :class:`bytes`, з перевагою " +"для :class:`str`." msgid "" "Return the value of the environment variable *key* as a string if it exists, " @@ -371,12 +506,20 @@ msgid "" "also captured on import, and the function may not reflect future environment " "changes." msgstr "" +"Верните значение переменной среды *key* в виде строки, если она существует, " +"или *default*, если ее нет. *ключ* — это строка. Обратите внимание, что " +"поскольку :func:`getenv` использует :data:`os.environ` , отображение :func:" +"`getenv` аналогичным образом также фиксируется при импорте, и функция может " +"не отражать будущие изменения среды." msgid "" "On Unix, keys and values are decoded with :func:`sys.getfilesystemencoding` " "and ``'surrogateescape'`` error handler. Use :func:`os.getenvb` if you would " "like to use a different encoding." msgstr "" +"В Unix ключі та значення декодуються за допомогою :func:`sys." +"getfilesystemencoding` і ``'surrogateescape'`` обробника помилок. " +"Використовуйте :func:`os.getenvb`, якщо ви хочете використати інше кодування." msgid "" "Return the value of the environment variable *key* as bytes if it exists, or " @@ -385,11 +528,18 @@ msgid "" "similarly also captured on import, and the function may not reflect future " "environment changes." msgstr "" +"Верните значение переменной среды *key* в виде байтов, если она существует, " +"или *default*, если ее нет. *ключ* должен быть байтовым. Обратите внимание, " +"что поскольку :func:`getenvb` использует :data:`os.environb` , отображение :" +"func:`getenvb` аналогичным образом также фиксируется при импорте, и функция " +"может не отражать будущие изменения среды." msgid "" ":func:`getenvb` is only available if :const:`supports_bytes_environ` is " "``True``." msgstr "" +":func:`getenvb` доступен только в том случае, если :const:" +"`supports_bytes_environ` является ``Правда`` ." msgid "" "Returns the list of directories that will be searched for a named " @@ -397,22 +547,31 @@ msgid "" "specified, should be an environment variable dictionary to lookup the PATH " "in. By default, when *env* is ``None``, :data:`environ` is used." msgstr "" +"Повертає список каталогів, у яких здійснюватиметься пошук іменованого " +"виконуваного файлу, схожого на оболонку, під час запуску процесу. *env*, " +"якщо вказано, має бути словником змінної середовища для пошуку ШЛЯХУ. За " +"умовчанням, коли *env* має значення ``None``, використовується :data:" +"`environ`." msgid "" "Return the effective group id of the current process. This corresponds to " "the \"set id\" bit on the file being executed in the current process." msgstr "" +"Повертає ефективний ідентифікатор групи поточного процесу. Це відповідає " +"біту \"set id\" у файлі, який виконується в поточному процесі." msgid "Return the current process's effective user id." -msgstr "" +msgstr "Повернути ефективний ідентифікатор користувача поточного процесу." msgid "Return the real group id of the current process." -msgstr "" +msgstr "Повертає справжній ідентифікатор групи поточного процесу." msgid "" "The function is a stub on WASI, see :ref:`wasm-availability` for more " "information." msgstr "" +"Функция является заглушкой WASI, см. :ref:`wasm-availability` для получения " +"дополнительной информации." msgid "" "Return list of group ids that *user* belongs to. If *group* is not in the " @@ -420,10 +579,16 @@ msgid "" "from the password record for *user*, because that group ID will otherwise be " "potentially omitted." msgstr "" +"Возвращает список идентификаторов групп, к которым принадлежит *user*. Если " +"*group* нет в списке, она включается; обычно *group* указывается в качестве " +"поля идентификатора группы из записи пароля для *user*, поскольку в " +"противном случае этот идентификатор группы может быть опущен." msgid "" "Return list of supplemental group ids associated with the current process." msgstr "" +"Повернути список ідентифікаторів додаткових груп, пов’язаних із поточним " +"процесом." msgid "" "On macOS, :func:`getgroups` behavior differs somewhat from other Unix " @@ -440,6 +605,20 @@ msgid "" "`MACOSX_DEPLOYMENT_TARGET`, can be obtained with :func:`sysconfig." "get_config_var`." msgstr "" +"Где macOS, :func:`getgroups` поведение несколько отличается от других " +"платформ Unix. Если интерпретатор Python был создан с целью развертывания " +"``10.5`` или раньше, :func:`getgroups` возвращает список эффективных " +"идентификаторов групп, связанных с текущим пользовательским процессом; этот " +"список ограничен определенным системой количеством записей, обычно 16, и " +"может быть изменен вызовами :func:`setgroups` если у него есть " +"соответствующие привилегии. Если построено с целью развертывания, " +"превышающей ``10.5`` , :func:`getgroups` возвращает текущий список " +"группового доступа для пользователя, связанного с эффективным " +"идентификатором пользователя процесса; список доступа группы может меняться " +"в течение жизни процесса, на него не влияют вызовы :func:`setgroups` , а его " +"длина не ограничена 16. Целевое значение развертывания :const:" +"`MACOSX_DEPLOYMENT_TARGET`, can be obtained with :func:`sysconfig." +"get_config_var`." msgid "" "Return the name of the user logged in on the controlling terminal of the " @@ -448,14 +627,22 @@ msgid "" "or :envvar:`USERNAME` to find out who the user is, and falls back to ``pwd." "getpwuid(os.getuid())[0]`` to get the login name of the current real user id." msgstr "" +"Повертає ім’я користувача, який увійшов у систему на керуючому терміналі " +"процесу. Для більшості цілей корисніше використовувати :func:`getpass." +"getuser`, оскільки останній перевіряє змінні середовища :envvar:`LOGNAME` " +"або :envvar:`USERNAME`, щоб дізнатися, хто є користувачем, і повертається до " +"``pwd.getpwuid(os.getuid())[0]``, щоб отримати ім’я для входу поточного " +"реального ідентифікатора користувача." msgid "" "Return the process group id of the process with process id *pid*. If *pid* " "is 0, the process group id of the current process is returned." msgstr "" +"Повертає ідентифікатор групи процесу з ідентифікатором процесу *pid*. Якщо " +"*pid* дорівнює 0, повертається ідентифікатор групи поточного процесу." msgid "Return the id of the current process group." -msgstr "" +msgstr "Повертає ідентифікатор поточної групи процесів." msgid "Return the current process id." msgstr "Zwróci ID aktualnego procesu." @@ -465,6 +652,10 @@ msgid "" "the id returned is the one of the init process (1), on Windows it is still " "the same id, which may be already reused by another process." msgstr "" +"Повертає ідентифікатор батьківського процесу. Коли батьківський процес " +"завершив роботу, в Unix повертається ідентифікатор процесу ініціалізації " +"(1), у Windows це все ще той самий ідентифікатор, який може вже повторно " +"використовуватися іншим процесом." msgid "Added support for Windows." msgstr "Dodane wsparcie dla Windowsa." @@ -478,35 +669,52 @@ msgid "" "the calling process, the process group of the calling process, or the real " "user ID of the calling process." msgstr "" +"Отримати пріоритет планування програми. Значення *which* є одним із :const:" +"`PRIO_PROCESS`, :const:`PRIO_PGRP` або :const:`PRIO_USER`, і *who* " +"інтерпретується відносно *which* (ідентифікатор процесу для :const:" +"`PRIO_PROCESS`, ідентифікатор групи процесів для :const:`PRIO_PGRP` та " +"ідентифікатор користувача для :const:`PRIO_USER`). Нульове значення для " +"*who* позначає (відповідно) викликаючий процес, групу процесів викликаючого " +"процесу або справжній ідентифікатор користувача викликаючого процесу." msgid "" "Parameters for the :func:`getpriority` and :func:`setpriority` functions." -msgstr "" +msgstr "Parameter untuk fungsi :func:`getpriority` dan :func:`setpriority`." msgid "" "Return a tuple (ruid, euid, suid) denoting the current process's real, " "effective, and saved user ids." msgstr "" +"Повертає кортеж (ruid, euid, suid), що позначає справжні, ефективні та " +"збережені ідентифікатори користувачів поточного процесу." msgid "" "Return a tuple (rgid, egid, sgid) denoting the current process's real, " "effective, and saved group ids." msgstr "" +"Повертає кортеж (rgid, egid, sgid), що позначає справжні, ефективні та " +"збережені ідентифікатори груп поточного процесу." msgid "Return the current process's real user id." -msgstr "" +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." msgstr "" +"Викличте системний initgroups(), щоб ініціалізувати список доступу групи з " +"усіма групами, членом яких є вказане ім’я користувача, а також ідентифікатор " +"зазначеної групи." msgid "" "Set the environment variable named *key* to the string *value*. Such " "changes to the environment affect subprocesses started with :func:`os." "system`, :func:`popen` or :func:`fork` and :func:`execv`." msgstr "" +"Встановіть змінну середовища з назвою *key* на рядкове *значення*. Такі " +"зміни в середовищі впливають на підпроцеси, запущені з :func:`os.system`, :" +"func:`popen` або :func:`fork` і :func:`execv`." msgid "" "Assignments to items in :data:`os.environ` are automatically translated into " @@ -516,28 +724,39 @@ msgid "" "`getenvb`, which respectively use :data:`os.environ` and :data:`os.environb` " "in their implementations." msgstr "" +"Призначення елементів у :data:`os.environ` автоматично перетворюються на " +"відповідні виклики :func:`putenv`; однак виклики :func:`putenv` не " +"оновлюють :data:`os.environ`, тому насправді краще призначати елементам :" +"data:`os.environ`. Це також стосується :func:`getenv` і :func:`getenvb`, які " +"відповідно використовують :data:`os.environ` і :data:`os.environb` у своїх " +"реалізаціях." msgid "" "On some platforms, including FreeBSD and macOS, setting ``environ`` may " "cause memory leaks. Refer to the system documentation for :c:func:`!putenv`." msgstr "" +"На некоторых платформах, включая FreeBSD и macOS, настройка ``о`` может " +"вызвать утечку памяти. Обратитесь к документации системы для :c:func:`!" +"putenv` ." msgid "" "Raises an :ref:`auditing event ` ``os.putenv`` with arguments " "``key``, ``value``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.putenv`` з аргументами ``key``, " +"``value``." msgid "The function is now always available." -msgstr "" +msgstr "Fonksiyon artık her zaman mevcut." msgid "Set the current process's effective group id." -msgstr "" +msgstr "Tetapkan id grup proses efektif saat ini." msgid "Set the current process's effective user id." -msgstr "" +msgstr "Tetapkan id pengguna efektif proses saat ini." msgid "Set the current process' group id." -msgstr "" +msgstr "Tetapkan id grup proses saat ini." msgid "" "Set the list of supplemental group ids associated with the current process " @@ -545,6 +764,10 @@ msgid "" "integer identifying a group. This operation is typically available only to " "the superuser." msgstr "" +"Установіть для списку ідентифікаторів додаткових груп, пов’язаних із " +"поточним процесом, значення *groups*. *групи* мають бути послідовністю, а " +"кожен елемент має бути цілим числом, що ідентифікує групу. Зазвичай ця " +"операція доступна лише суперкористувачу." msgid "" "On macOS, the length of *groups* may not exceed the system-defined maximum " @@ -552,11 +775,19 @@ msgid "" "`getgroups` for cases where it may not return the same group list set by " "calling setgroups()." msgstr "" +"У macOS довжина *groups* не може перевищувати визначену системою максимальну " +"кількість ефективних ідентифікаторів груп, як правило, 16. Перегляньте " +"документацію для :func:`getgroups`, щоб дізнатися про випадки, коли він може " +"не повернути той самий список груп, встановлений за допомогою виклику " +"setgroups()." msgid "" "Reassociate the current thread with a Linux namespace. See the :manpage:" "`setns(2)` and :manpage:`namespaces(7)` man pages for more details." msgstr "" +"Повторно свяжите текущий поток с пространством имен Linux. См. :manpage:" +"`setns(2)` и :manpage:`пространства имен(7)` man-страницы для получения " +"более подробной информации." msgid "" "If *fd* refers to a :file:`/proc/{pid}/ns/` link, ``setns()`` reassociates " @@ -565,6 +796,11 @@ msgid "" "clone-flags>` to impose constraints on the operation (``0`` means no " "constraints)." msgstr "" +"Если *fd* относится к :file:`/proc/{pid}/ns/` связь, ``setns()`` повторно " +"связывает вызывающий поток с пространством имен, связанным с этой ссылкой, а " +"*nstype* может быть установлен в одну из констант :ref:`CLONE_NEW*\n" +"` чтобы наложить ограничения на операцию ( ``0`` означает отсутствие " +"ограничений)." msgid "" "Since Linux 5.8, *fd* may refer to a PID file descriptor obtained from :func:" @@ -575,37 +811,58 @@ msgid "" "flags>`, e.g. ``setns(fd, os.CLONE_NEWUTS | os.CLONE_NEWPID)``. The caller's " "memberships in unspecified namespaces are left unchanged." msgstr "" +"Начиная с Linux 5.8, *fd* может относиться к дескриптору файла PID, " +"полученному из :func:`~os.pidfd_open` . В этом случае, ``setns()`` повторно " +"связывает вызывающий поток с одним или несколькими теми же пространствами " +"имен, что и поток, на который ссылается *fd*. На это распространяются любые " +"ограничения, налагаемые *nstype*, который представляет собой битовую маску, " +"объединяющую одну или несколько констант :ref:`CLONE_NEW*.\n" +"`, например ``setns(fd, os.CLONE_NEWUTS | os.CLONE_NEWPID)`` . Членство " +"вызывающего абонента в неуказанных пространствах имен остается неизменным." msgid "" "*fd* can be any object with a :meth:`~io.IOBase.fileno` method, or a raw " "file descriptor." msgstr "" +"*fd* может быть любым объектом с :meth:`~io.IOBase.fileno` метод или " +"необработанный дескриптор файла." msgid "" "This example reassociates the thread with the ``init`` process's network " "namespace::" msgstr "" +"В этом примере поток повторно связывается с ``жара'' сетевое пространство " +"имен процесса::" msgid "" "fd = os.open(\"/proc/1/ns/net\", os.O_RDONLY)\n" "os.setns(fd, os.CLONE_NEWNET)\n" "os.close(fd)" msgstr "" +"fd = os.open(\"/proc/1/ns/net\", os.O_RDONLY)\n" +"os.setns(fd, os.CLONE_NEWNET)\n" +"os.close(fd)" msgid "The :func:`~os.unshare` function." -msgstr "" +msgstr "The :func:`~os.unshare` функция." msgid "" "Call the system call :c:func:`!setpgrp` or ``setpgrp(0, 0)`` depending on " "which version is implemented (if any). See the Unix manual for the " "semantics." msgstr "" +"Вызов системного вызова :c:func:`!setpgrp` или ``setpgrp(0, 0)`` в " +"зависимости от того, какая версия реализована (если есть). Семантику " +"смотрите в руководстве Unix." msgid "" "Call the system call :c:func:`!setpgid` to set the process group id of the " "process with id *pid* to the process group with id *pgrp*. See the Unix " "manual for the semantics." msgstr "" +"Вызов системного вызова :c:func:`!setpgid` чтобы установить идентификатор " +"группы процессов процесса с идентификатором *pid* в группу процессов с " +"идентификатором *pgrp*. Семантику смотрите в руководстве Unix." msgid "" "Set program scheduling priority. The value *which* is one of :const:" @@ -618,77 +875,110 @@ msgid "" "19. The default priority is 0; lower priorities cause more favorable " "scheduling." msgstr "" +"Встановити пріоритет планування програми. Значення *which* є одним із :const:" +"`PRIO_PROCESS`, :const:`PRIO_PGRP` або :const:`PRIO_USER` і *who* " +"інтерпретується відносно *which* (ідентифікатор процесу для :const:" +"`PRIO_PROCESS`, ідентифікатор групи процесів для :const:`PRIO_PGRP` та " +"ідентифікатор користувача для :const:`PRIO_USER`). Нульове значення для " +"*who* позначає (відповідно) викликаючий процес, групу процесів викликаючого " +"процесу або справжній ідентифікатор користувача викликаючого процесу. " +"*пріоритет* — це значення в діапазоні від -20 до 19. Пріоритет за " +"замовчуванням — 0; нижчі пріоритети викликають більш сприятливе планування." msgid "Set the current process's real and effective group ids." msgstr "" +"Встановіть справжні та ефективні ідентифікатори груп поточного процесу." msgid "Set the current process's real, effective, and saved group ids." msgstr "" +"Встановіть реальні, ефективні та збережені ідентифікатори груп поточного " +"процесу." msgid "Set the current process's real, effective, and saved user ids." msgstr "" +"Встановіть справжні, ефективні та збережені ідентифікатори користувачів " +"поточного процесу." msgid "Set the current process's real and effective user ids." msgstr "" +"Встановіть справжні та ефективні ідентифікатори користувачів поточного " +"процесу." msgid "" "Call the system call :c:func:`!getsid`. See the Unix manual for the " "semantics." msgstr "" +"Вызов системного вызова :c:func:`!getsid` . Семантику смотрите в руководстве " +"Unix." msgid "" "Call the system call :c:func:`!setsid`. See the Unix manual for the " "semantics." msgstr "" +"Вызов системного вызова :c:func:`!setsid` . Семантику смотрите в руководстве " +"Unix." msgid "Set the current process's user id." -msgstr "" +msgstr "Tetapkan id pengguna proses saat ini." msgid "" "Return the error message corresponding to the error code in *code*. On " "platforms where :c:func:`!strerror` returns ``NULL`` when given an unknown " "error number, :exc:`ValueError` is raised." msgstr "" +"Возвращает сообщение об ошибке, соответствующее коду ошибки в *code*. На " +"платформах, где :c:func:`!strerror` возвращает ``НУЛЬ`` при получении " +"неизвестного номера ошибки, :exc:`ValueError` поднят." msgid "" "``True`` if the native OS type of the environment is bytes (eg. ``False`` on " "Windows)." msgstr "" +"``True``, якщо рідний тип ОС середовища - байти (наприклад, ``False`` у " +"Windows)." msgid "Set the current numeric umask and return the previous umask." -msgstr "" +msgstr "Установіть поточну цифрову umask і поверніть попередню umask." msgid "" "Returns information identifying the current operating system. The return " "value is an object with five attributes:" msgstr "" +"Повертає інформацію про поточну операційну систему. Значення, що " +"повертається, є об’єктом із п’ятьма атрибутами:" msgid ":attr:`sysname` - operating system name" -msgstr "" +msgstr ":attr:`sysname` - nama sistem operasi" msgid ":attr:`nodename` - name of machine on network (implementation-defined)" -msgstr "" +msgstr ":attr:`nodename` - ім'я машини в мережі (визначено реалізацією)" msgid ":attr:`release` - operating system release" -msgstr "" +msgstr ":attr:`release` - rilis sistem operasi" msgid ":attr:`version` - operating system version" -msgstr "" +msgstr ":attr:`version` - versi sistem operasi" msgid ":attr:`machine` - hardware identifier" -msgstr "" +msgstr ":attr:`machine` - pengidentifikasi perangkat keras" msgid "" "For backwards compatibility, this object is also iterable, behaving like a " "five-tuple containing :attr:`sysname`, :attr:`nodename`, :attr:`release`, :" "attr:`version`, and :attr:`machine` in that order." msgstr "" +"Для зворотної сумісності цей об’єкт також можна ітерувати, ведучи себе як " +"п’ять кортежів, що містять :attr:`sysname`, :attr:`nodename`, :attr:" +"`release`, :attr:`version` і :attr:`machine` в такому порядку." msgid "" "Some systems truncate :attr:`nodename` to 8 characters or to the leading " "component; a better way to get the hostname is :func:`socket.gethostname` " "or even ``socket.gethostbyaddr(socket.gethostname())``." msgstr "" +"Деякі системи скорочують :attr:`nodename` до 8 символів або до початкового " +"компонента; кращий спосіб отримати ім’я хоста – :func:`socket.gethostname` " +"або навіть ``socket.gethostbyaddr(socket.gethostname())``." msgid "" "On macOS, iOS and Android, this returns the *kernel* name and version (i.e., " @@ -696,17 +986,26 @@ msgid "" "uname` can be used to get the user-facing operating system name and version " "on iOS and Android." msgstr "" +"В macOS, iOS и Android возвращается имя и версия *ядра* (т. е. ``'Дарвин'`` " +"на macOS и iOS; ``'Линукс'`` на Андроиде). :func:`platform.uname` может " +"использоваться для получения имени и версии операционной системы, " +"ориентированной на пользователя, на iOS и Android." msgid "" "Return type changed from a tuple to a tuple-like object with named " "attributes." msgstr "" +"Тип повернення змінено з кортежу на кортежний об’єкт з іменованими " +"атрибутами." msgid "" "Unset (delete) the environment variable named *key*. Such changes to the " "environment affect subprocesses started with :func:`os.system`, :func:" "`popen` or :func:`fork` and :func:`execv`." msgstr "" +"Скасувати (видалити) змінну середовища з назвою *key*. Такі зміни в " +"середовищі впливають на підпроцеси, запущені з :func:`os.system`, :func:" +"`popen` або :func:`fork` і :func:`execv`." msgid "" "Deletion of items in :data:`os.environ` is automatically translated into a " @@ -714,14 +1013,19 @@ msgid "" "don't update :data:`os.environ`, so it is actually preferable to delete " "items of :data:`os.environ`." msgstr "" +"Видалення елементів у :data:`os.environ` автоматично перетворюється на " +"відповідний виклик :func:`unsetenv`; однак виклики :func:`unsetenv` не " +"оновлюють :data:`os.environ`, тому насправді краще видалити елементи :data:" +"`os.environ`." msgid "" "Raises an :ref:`auditing event ` ``os.unsetenv`` with argument " "``key``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.unsetenv`` з аргументом ``key``." msgid "The function is now always available and is also available on Windows." -msgstr "" +msgstr "Fonksiyon artık daima mevcut ve Windows'ta da mevcuttur." msgid "" "Disassociate parts of the process execution context, and move them into a " @@ -732,23 +1036,36 @@ msgid "" "and moved to a new namespace. If the *flags* argument is ``0``, no changes " "are made to the calling process's execution context." msgstr "" +"Отсоедините части контекста выполнения процесса и переместите их во вновь " +"созданное пространство имен. См. :manpage:`unshare(2)` справочную страницу " +"для более подробной информации. Аргумент *flags* представляет собой битовую " +"маску, объединяющую ноль или более констант :ref:`CLONE_*.\n" +"`, который указывает, какие части контекста выполнения должны быть удалены " +"из существующих ассоциаций и перемещены в новое пространство имен. Если " +"аргумент *flags* ``0`` , никакие изменения в контекст выполнения вызывающего " +"процесса не вносятся." msgid "The :func:`~os.setns` function." -msgstr "" +msgstr "The :func:`~os.setns` функция." msgid "" "Flags to the :func:`unshare` function, if the implementation supports them. " "See :manpage:`unshare(2)` in the Linux manual for their exact effect and " "availability." msgstr "" +"Флаги для :func:`отменить совместное использование` функции, если реализация " +"их поддерживает. Видеть :manpage:`unshare(2)` в руководстве по Linux, чтобы " +"узнать их точный эффект и доступность." msgid "File Object Creation" -msgstr "" +msgstr "Pembuatan Objek Berkas" msgid "" "These functions create new :term:`file objects `. (See also :" "func:`~os.open` for opening file descriptors.)" msgstr "" +"Ці функції створюють нові :term:`файлові об’єкти `. (Див. " +"також :func:`~os.open` для відкриття дескрипторів файлів.)" msgid "" "Return an open file object connected to the file descriptor *fd*. This is " @@ -756,13 +1073,19 @@ msgid "" "arguments. The only difference is that the first argument of :func:`fdopen` " "must always be an integer." msgstr "" +"Повертає відкритий файловий об'єкт, підключений до файлового дескриптора " +"*fd*. Це псевдонім вбудованої функції :func:`open` і приймає ті самі " +"аргументи. Єдина відмінність полягає в тому, що перший аргумент :func:" +"`fdopen` завжди має бути цілим числом." msgid "File Descriptor Operations" -msgstr "" +msgstr "Операції файлового дескриптора" msgid "" "These functions operate on I/O streams referenced using file descriptors." msgstr "" +"Ці функції працюють із потоками введення/виведення, на які посилаються за " +"допомогою файлових дескрипторів." msgid "" "File descriptors are small integers corresponding to a file that has been " @@ -772,6 +1095,12 @@ msgid "" "\"file descriptor\" is slightly deceptive; on Unix platforms, sockets and " "pipes are also referenced by file descriptors." msgstr "" +"Дескриптори файлів — це малі цілі числа, що відповідають файлу, відкритому " +"поточним процесом. Наприклад, стандартним введенням зазвичай є дескриптор " +"файлу 0, стандартним виводом є 1, а стандартною помилкою є 2. Іншим файлам, " +"відкритим процесом, буде присвоєно 3, 4, 5 і так далі. Назва \"файловий " +"дескриптор\" трохи оманлива; на платформах Unix на сокети та канали також " +"посилаються дескриптори файлів." msgid "" "The :meth:`~io.IOBase.fileno` method can be used to obtain the file " @@ -779,9 +1108,13 @@ msgid "" "using the file descriptor directly will bypass the file object methods, " "ignoring aspects such as internal buffering of data." msgstr "" +"Метод :meth:`~io.IOBase.fileno` можна використовувати для отримання " +"дескриптора файлу, пов’язаного з :term:`file object`, коли це необхідно. " +"Зауважте, що використання безпосередньо файлового дескриптора обійде методи " +"файлового об’єкта, ігноруючи такі аспекти, як внутрішня буферизація даних." msgid "Close file descriptor *fd*." -msgstr "" +msgstr "Закрити файловий дескриптор *fd*." msgid "" "This function is intended for low-level I/O and must be applied to a file " @@ -789,11 +1122,18 @@ msgid "" "\"file object\" returned by the built-in function :func:`open` or by :func:" "`popen` or :func:`fdopen`, use its :meth:`~io.IOBase.close` method." msgstr "" +"Ця функція призначена для низькорівневого вводу-виводу та має " +"застосовуватися до дескриптора файлу, який повертає :func:`os.open` або :" +"func:`pipe`. Щоб закрити \"файловий об’єкт\", повернутий вбудованою " +"функцією :func:`open` або :func:`popen` або :func:`fdopen`, скористайтеся " +"його методом :meth:`~io.IOBase.close` ." msgid "" "Close all file descriptors from *fd_low* (inclusive) to *fd_high* " "(exclusive), ignoring errors. Equivalent to (but much faster than)::" msgstr "" +"Закрийте всі файлові дескриптори від *fd_low* (включно) до *fd_high* " +"(виключно), ігноруючи помилки. Еквівалентно (але набагато швидше ніж):" msgid "" "for fd in range(fd_low, fd_high):\n" @@ -802,6 +1142,11 @@ msgid "" " except OSError:\n" " pass" msgstr "" +"for fd in range(fd_low, fd_high):\n" +" try:\n" +" os.close(fd)\n" +" except OSError:\n" +" pass" msgid "" "Copy *count* bytes from file descriptor *src*, starting from offset " @@ -809,12 +1154,19 @@ msgid "" "If *offset_src* is ``None``, then *src* is read from the current position; " "respectively for *offset_dst*." msgstr "" +"Скопируйте *count* байт из файлового дескриптора *src*, начиная со смещения " +"*offset_src*, в файловый дескриптор *dst*, начиная со смещения *offset_dst*. " +"Если *offset_src* ``Нет`` , затем *src* считывается с текущей позиции; " +"соответственно для *offset_dst*." msgid "" "In Linux kernel older than 5.3, the files pointed to by *src* and *dst* must " "reside in the same filesystem, otherwise an :exc:`OSError` is raised with :" "attr:`~OSError.errno` set to :const:`errno.EXDEV`." msgstr "" +"В ядре Linux старше 5.3 файлы, на которые указывают *src* и *dst*, должны " +"находиться в одной файловой системе, в противном случае :exc:`OSError` " +"воспитывается с :attr:`~OSError.errno` установлен на :const:`errno.EXDEV` ." msgid "" "This copy is done without the additional cost of transferring data from the " @@ -824,16 +1176,28 @@ msgid "" "blocks; supported file systems include btrfs and XFS) and server-side copy " "(in the case of NFS)." msgstr "" +"Это копирование выполняется без дополнительных затрат на передачу данных из " +"ядра в пространство пользователя и затем обратно в ядро. Кроме того, в " +"некоторых файловых системах могут быть реализованы дополнительные " +"оптимизации, такие как использование реферальных ссылок (т. е. двух или " +"более индексных дескрипторов, которые совместно используют указатели на одни " +"и те же дисковые блоки с возможностью копирования при записи; поддерживаемые " +"файловые системы включают btrfs и XFS) и копирование на стороне сервера ( в " +"случае NFS)." msgid "" "The function copies bytes between two file descriptors. Text options, like " "the encoding and the line ending, are ignored." msgstr "" +"Функция копирует байты между двумя файловыми дескрипторами. Параметры " +"текста, такие как кодировка и окончание строки, игнорируются." msgid "" "The return value is the amount of bytes copied. This could be less than the " "amount requested." msgstr "" +"Поверненим значенням є кількість скопійованих байтів. Це може бути менше " +"запитаної суми." msgid "" "On Linux, :func:`os.copy_file_range` should not be used for copying a range " @@ -841,32 +1205,44 @@ msgid "" "always copy no bytes and return 0 as if the file was empty because of a " "known Linux kernel issue." msgstr "" +"В Linux, :func:`os.copy_file_range` не следует использовать для копирования " +"диапазона псевдофайла из специальной файловой системы, такой как procfs и " +"sysfs. Он всегда не копирует байты и возвращает 0, как если бы файл был " +"пустым из-за известной проблемы с ядром Linux." msgid "" "Return a string describing the encoding of the device associated with *fd* " "if it is connected to a terminal; else return :const:`None`." msgstr "" +"Повертає рядок, що описує кодування пристрою, пов’язаного з *fd*, якщо він " +"підключений до терміналу; інакше повертає :const:`None`." msgid "" "On Unix, if the :ref:`Python UTF-8 Mode ` is enabled, return " "``'UTF-8'`` rather than the device encoding." msgstr "" +"В Unix, якщо ввімкнено :ref:`Python UTF-8 Mode `, поверніть " +"``'UTF-8''`` замість кодування пристрою." msgid "On Unix, the function now implements the Python UTF-8 Mode." -msgstr "" +msgstr "В Unix функція тепер реалізує режим Python UTF-8." msgid "" "Return a duplicate of file descriptor *fd*. The new file descriptor is :ref:" "`non-inheritable `." msgstr "" +"Повертає дублікат файлового дескриптора *fd*. Новий файловий дескриптор :ref:" +"`не успадковується `." msgid "" "On Windows, when duplicating a standard stream (0: stdin, 1: stdout, 2: " "stderr), the new file descriptor is :ref:`inheritable `." msgstr "" +"У Windows під час дублювання стандартного потоку (0: stdin, 1: stdout, 2: " +"stderr) новий дескриптор файлу є :ref:`inheritable `." msgid "The new file descriptor is now non-inheritable." -msgstr "" +msgstr "Новий файловий дескриптор тепер не успадковується." msgid "" "Duplicate file descriptor *fd* to *fd2*, closing the latter first if " @@ -874,47 +1250,66 @@ msgid "" "` by default or non-inheritable if *inheritable* is " "``False``." msgstr "" +"Дублюйте файловий дескриптор *fd* до *fd2*, закриваючи останній, якщо " +"необхідно. Повернути *fd2*. Новий файловий дескриптор :ref:`inheritable " +"` за замовчуванням або не успадковується, якщо *inheritable* " +"має значення ``False``." msgid "Add the optional *inheritable* parameter." -msgstr "" +msgstr "Додайте необов’язковий параметр *inheritable*." msgid "Return *fd2* on success. Previously, ``None`` was always returned." -msgstr "" +msgstr "Повернути *fd2* у разі успіху. Раніше завжди повертався ``None``." msgid "" "Change the mode of the file given by *fd* to the numeric *mode*. See the " "docs for :func:`chmod` for possible values of *mode*. As of Python 3.3, " "this is equivalent to ``os.chmod(fd, mode)``." msgstr "" +"Змініть режим файлу, заданий *fd*, на числовий *режим*. Перегляньте " +"документацію для :func:`chmod`, щоб дізнатися про можливі значення *mode*. " +"Починаючи з Python 3.3, це еквівалентно ``os.chmod(fd, mode)``." msgid "" "Raises an :ref:`auditing event ` ``os.chmod`` with arguments " "``path``, ``mode``, ``dir_fd``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.chmod`` з аргументами ``path``, " +"``mode``, ``dir_fd``." msgid "" "The function is limited on WASI, see :ref:`wasm-availability` for more " "information." msgstr "" +"Эта функция ограничена WASI, см. :ref:`wasm-availability` для получения " +"дополнительной информации." msgid "Added support on Windows." -msgstr "" +msgstr "Добавлена ​​поддержка Windows." msgid "" "Change the owner and group id of the file given by *fd* to the numeric *uid* " "and *gid*. To leave one of the ids unchanged, set it to -1. See :func:" "`chown`. As of Python 3.3, this is equivalent to ``os.chown(fd, uid, gid)``." msgstr "" +"Змініть ідентифікатор власника та групи файлу, наданий *fd*, на числові " +"*uid* і *gid*. Щоб залишити один із ідентифікаторів без змін, встановіть для " +"нього значення -1. Дивіться :func:`chown`. Починаючи з Python 3.3, це " +"еквівалентно ``os.chown(fd, uid, gid)``." msgid "" "Raises an :ref:`auditing event ` ``os.chown`` with arguments " "``path``, ``uid``, ``gid``, ``dir_fd``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.chown`` з аргументами ``path``, " +"``uid``, ``gid``, ``dir_fd``." msgid "" "Force write of file with filedescriptor *fd* to disk. Does not force update " "of metadata." msgstr "" +"Примусовий запис файлу з файловим дескриптором *fd* на диск. Не примусово " +"оновлювати метадані." msgid "This function is not available on MacOS." msgstr "Ta funkcja nie jest dostępna w macOS." @@ -928,6 +1323,14 @@ msgid "" "given in the ``pathconf_names`` dictionary. For configuration variables not " "included in that mapping, passing an integer for *name* is also accepted." msgstr "" +"Повертає інформацію про конфігурацію системи, що стосується відкритого " +"файлу. *name* вказує значення конфігурації для отримання; це може бути " +"рядок, який є назвою визначеного системного значення; ці назви вказані в " +"ряді стандартів (POSIX.1, Unix 95, Unix 98 та інші). Деякі платформи також " +"визначають додаткові імена. Імена, відомі головній операційній системі, " +"наведено у словнику ``pathconf_names``. Для змінних конфігурації, не " +"включених до цього відображення, також допускається передача цілого числа " +"для *name*." msgid "" "If *name* is a string and is not known, :exc:`ValueError` is raised. If a " @@ -935,80 +1338,107 @@ msgid "" "included in ``pathconf_names``, an :exc:`OSError` is raised with :const:" "`errno.EINVAL` for the error number." msgstr "" +"Якщо *name* є рядком і невідоме, виникає :exc:`ValueError`. Якщо певне " +"значення для *name* не підтримується хост-системою, навіть якщо воно " +"включено в ``pathconf_names``, виникає :exc:`OSError` з :const:`errno." +"EINVAL` для номера помилки ." msgid "As of Python 3.3, this is equivalent to ``os.pathconf(fd, name)``." -msgstr "" +msgstr "Починаючи з Python 3.3, це еквівалентно ``os.pathconf(fd, name)``." msgid "" "Get the status of the file descriptor *fd*. Return a :class:`stat_result` " "object." msgstr "" +"Отримати статус дескриптора файлу *fd*. Повертає об’єкт :class:`stat_result`." msgid "As of Python 3.3, this is equivalent to ``os.stat(fd)``." -msgstr "" +msgstr "Починаючи з Python 3.3, це еквівалентно ``os.stat(fd)``." msgid "The :func:`.stat` function." -msgstr "" +msgstr "Функція :func:`.stat`." msgid "" "Return information about the filesystem containing the file associated with " "file descriptor *fd*, like :func:`statvfs`. As of Python 3.3, this is " "equivalent to ``os.statvfs(fd)``." msgstr "" +"Повертає інформацію про файлову систему, яка містить файл, пов’язаний із " +"файловим дескриптором *fd*, наприклад :func:`statvfs`. Починаючи з Python " +"3.3, це еквівалентно ``os.statvfs(fd)``." msgid "" "Force write of file with filedescriptor *fd* to disk. On Unix, this calls " "the native :c:func:`!fsync` function; on Windows, the MS :c:func:`!_commit` " "function." msgstr "" +"Принудительная запись файла с файловым дескриптором *fd* на диск. В Unix это " +"вызывает родной :c:func:`!fsync` функция; в Windows, MS :c:func:`!_commit` " +"функция." msgid "" "If you're starting with a buffered Python :term:`file object` *f*, first do " "``f.flush()``, and then do ``os.fsync(f.fileno())``, to ensure that all " "internal buffers associated with *f* are written to disk." msgstr "" +"Якщо ви починаєте з буферизованого :term:`file object` Python *f*, спочатку " +"виконайте ``f.flush()``, а потім виконайте ``os.fsync(f.fileno())``, щоб " +"переконатися, що всі внутрішні буфери, пов’язані з *f*, записуються на диск." msgid "" "Truncate the file corresponding to file descriptor *fd*, so that it is at " "most *length* bytes in size. As of Python 3.3, this is equivalent to ``os." "truncate(fd, length)``." msgstr "" +"Обріжте файл, що відповідає файловому дескриптору *fd*, щоб він мав розмір " +"не більше *length* байтів. Починаючи з Python 3.3, це еквівалентно ``os." +"truncate(fd, length)``." msgid "" "Raises an :ref:`auditing event ` ``os.truncate`` with arguments " "``fd``, ``length``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.truncate`` з аргументами " +"``fd``, ``length``." msgid "Added support for Windows" -msgstr "" +msgstr "Windows için destek eklendi" msgid "" "Get the blocking mode of the file descriptor: ``False`` if the :data:" "`O_NONBLOCK` flag is set, ``True`` if the flag is cleared." msgstr "" +"Отримати режим блокування дескриптора файлу: ``False``, якщо встановлено " +"прапорець :data:`O_NONBLOCK`, ``True``, якщо прапорець знято." msgid "See also :func:`set_blocking` and :meth:`socket.socket.setblocking`." msgstr "" +"Дивіться також :func:`set_blocking` і :meth:`socket.socket.setblocking`." msgid "On Windows, this function is limited to pipes." -msgstr "" +msgstr "В Windows эта функция ограничена каналами." msgid "Added support for pipes on Windows." -msgstr "" +msgstr "Добавлена ​​поддержка каналов в Windows." msgid "" "Grant access to the slave pseudo-terminal device associated with the master " "pseudo-terminal device to which the file descriptor *fd* refers. The file " "descriptor *fd* is not closed upon failure." msgstr "" +"Предоставьте доступ к подчиненному псевдотерминальному устройству, " +"связанному с главным псевдотерминальным устройством, на которое ссылается " +"файловый дескриптор *fd*. Дескриптор файла *fd* не закрывается в случае сбоя." msgid "Calls the C standard library function :c:func:`grantpt`." -msgstr "" +msgstr "Вызывает функцию стандартной библиотеки C. :c:func:`grantpt` ." msgid "" "Return ``True`` if the file descriptor *fd* is open and connected to a tty(-" "like) device, else ``False``." msgstr "" +"Повертає ``True``, якщо файловий дескриптор *fd* відкрито та підключено до " +"tty(-like) пристрою, інакше ``False``." msgid "" "Apply, test or remove a POSIX lock on an open file descriptor. *fd* is an " @@ -1016,81 +1446,108 @@ msgid "" "`F_LOCK`, :data:`F_TLOCK`, :data:`F_ULOCK` or :data:`F_TEST`. *len* " "specifies the section of the file to lock." msgstr "" +"Застосуйте, перевірте або видаліть блокування POSIX для відкритого файлового " +"дескриптора. *fd* — дескриптор відкритого файлу. *cmd* визначає команду для " +"використання - одну з :data:`F_LOCK`, :data:`F_TLOCK`, :data:`F_ULOCK` або :" +"data:`F_TEST`. *len* вказує розділ файлу, який потрібно заблокувати." msgid "" "Raises an :ref:`auditing event ` ``os.lockf`` with arguments " "``fd``, ``cmd``, ``len``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.lockf`` з аргументами ``fd``, " +"``cmd``, ``len``." msgid "Flags that specify what action :func:`lockf` will take." -msgstr "" +msgstr "Прапорці, які вказують, яку дію виконуватиме :func:`lockf`." msgid "" "Prepare the tty of which fd is a file descriptor for a new login session. " "Make the calling process a session leader; make the tty the controlling tty, " "the stdin, the stdout, and the stderr of the calling process; close fd." msgstr "" +"Подготовьте tty, fd которого является дескриптором файла для нового сеанса " +"входа в систему. Сделайте вызывающий процесс лидером сеанса; сделать tty " +"управляющим терминалом, stdin, stdout и stderr вызывающего процесса; закрыть " +"ФД." msgid "" "Set the current position of file descriptor *fd* to position *pos*, modified " "by *whence*, and return the new position in bytes relative to the start of " "the file. Valid values for *whence* are:" msgstr "" +"Установите текущую позицию файлового дескриптора *fd* в позицию *pos*, " +"измененную *whence*, и верните новую позицию в байтах относительно начала " +"файла. Допустимые значения для *wherefrom*:" msgid "" ":const:`SEEK_SET` or ``0`` -- set *pos* relative to the beginning of the file" msgstr "" +":const:`SEEK_SET` или ``0`` -- устанавливаем *pos* относительно начала файла" msgid "" ":const:`SEEK_CUR` or ``1`` -- set *pos* relative to the current file position" msgstr "" +":const:`SEEK_CUR` или ``1`` -- установить *pos* относительно текущей позиции " +"файла" msgid ":const:`SEEK_END` or ``2`` -- set *pos* relative to the end of the file" msgstr "" +":const:`SEEK_END` или ``2`` -- установить *pos* относительно конца файла" msgid "" ":const:`SEEK_HOLE` -- set *pos* to the next data location, relative to *pos*" msgstr "" +":const:`SEEK_HOLE` -- установить *pos* в следующую ячейку данных " +"относительно *pos*" msgid "" ":const:`SEEK_DATA` -- set *pos* to the next data hole, relative to *pos*" msgstr "" +":const:`SEEK_DATA` -- установить *pos* в следующую дырку данных относительно " +"*pos*" msgid "Add support for :const:`!SEEK_HOLE` and :const:`!SEEK_DATA`." -msgstr "" +msgstr "Добавить поддержку :const:`!SEEK_HOLE` и :const:`!SEEK_DATA` ." msgid "" "Parameters to the :func:`lseek` function and the :meth:`~io.IOBase.seek` " "method on :term:`file-like objects `, for whence to adjust the " "file position indicator." msgstr "" +"Параметры :func:`lseek` функция и :meth:`~io.IOBase.seek` метод для :term:" +"`файлоподобных объектов\n" +"`, откуда настроить индикатор положения файла." msgid ":const:`SEEK_SET`" msgstr ":const:`SEEK_SET`" msgid "Adjust the file position relative to the beginning of the file." -msgstr "" +msgstr "Отрегулируйте положение файла относительно начала файла." msgid ":const:`SEEK_CUR`" msgstr ":const:`SEEK_CUR`" msgid "Adjust the file position relative to the current file position." -msgstr "" +msgstr "Отрегулируйте положение файла относительно текущей позиции файла." msgid ":const:`SEEK_END`" msgstr ":const:`SEEK_END`" msgid "Adjust the file position relative to the end of the file." -msgstr "" +msgstr "Отрегулируйте положение файла относительно конца файла." msgid "Their values are 0, 1, and 2, respectively." -msgstr "" +msgstr "Их значения равны 0, 1 и 2 соответственно." msgid "" "Parameters to the :func:`lseek` function and the :meth:`~io.IOBase.seek` " "method on :term:`file-like objects `, for seeking file data and " "holes on sparsely allocated files." msgstr "" +"Параметры :func:`lseek` функция и :meth:`~io.IOBase.seek` метод для :term:" +"`файлоподобных объектов\n" +"`, для поиска файловых данных и дыр в редко выделенных файлах." msgid ":data:`!SEEK_DATA`" msgstr ":data:`!SEEK_DATA`" @@ -1099,6 +1556,8 @@ msgid "" "Adjust the file offset to the next location containing data, relative to the " "seek position." msgstr "" +"Отрегулируйте смещение файла до следующего места, содержащего данные, " +"относительно позиции поиска." msgid ":data:`!SEEK_HOLE`" msgstr ":data:`!SEEK_HOLE`" @@ -1107,9 +1566,12 @@ msgid "" "Adjust the file offset to the next location containing a hole, relative to " "the seek position. A hole is defined as a sequence of zeros." msgstr "" +"Отрегулируйте смещение файла до следующего места, содержащего отверстие, " +"относительно позиции поиска. Дыра определяется как последовательность нулей." msgid "These operations only make sense for filesystems that support them." msgstr "" +"Эти операции имеют смысл только для файловых систем, которые их поддерживают." msgid "" "Open the file *path* and set various flags according to *flags* and possibly " @@ -1117,6 +1579,11 @@ msgid "" "value is first masked out. Return the file descriptor for the newly opened " "file. The new file descriptor is :ref:`non-inheritable `." msgstr "" +"Відкрийте *шлях* до файлу та встановіть різні позначки відповідно до *flags* " +"і, можливо, його режим відповідно до *mode*. Під час обчислення *режиму* " +"поточне значення umask спочатку маскується. Повертає файловий дескриптор для " +"щойно відкритого файлу. Новий файловий дескриптор :ref:`не успадковується " +"`." msgid "" "For a description of the flag and mode values, see the C run-time " @@ -1124,11 +1591,17 @@ msgid "" "are defined in the :mod:`os` module. In particular, on Windows adding :" "const:`O_BINARY` is needed to open files in binary mode." msgstr "" +"Для опису значень прапора та режиму дивіться документацію про час виконання " +"C; константи прапорів (наприклад, :const:`O_RDONLY` і :const:`O_WRONLY`) " +"визначені в модулі :mod:`os`. Зокрема, у Windows додавання :const:`O_BINARY` " +"потрібне для відкриття файлів у бінарному режимі." msgid "" "This function can support :ref:`paths relative to directory descriptors " "` with the *dir_fd* parameter." msgstr "" +"Ця функція може підтримувати :ref:`шляхи відносно дескрипторів каталогу " +"` з параметром *dir_fd*." msgid "" "Raises an :ref:`auditing event ` ``open`` with arguments ``path``, " @@ -1143,9 +1616,14 @@ msgid "" "meth:`~file.read` and :meth:`~file.write` methods (and many more). To wrap " "a file descriptor in a file object, use :func:`fdopen`." msgstr "" +"Ця функція призначена для низькорівневого введення-виведення. Для звичайного " +"використання використовуйте вбудовану функцію :func:`open`, яка повертає " +"об’єкт :term:`file object` з методами :meth:`~file.read` і :meth:`~file." +"write` (і набагато більше). Щоб обернути файловий дескриптор у файловий " +"об’єкт, використовуйте :func:`fdopen`." msgid "Added the *dir_fd* parameter." -msgstr "" +msgstr "Додано параметр *dir_fd*." msgid "" "If the system call is interrupted and the signal handler does not raise an " @@ -1167,36 +1645,47 @@ msgid "" "Unix or `the MSDN `_ " "on Windows." msgstr "" +"Наступні константи є опціями для параметра *flags* функції :func:`~os.open`. " +"Їх можна комбінувати за допомогою порозрядного оператора АБО ``|``. Деякі з " +"них доступні не на всіх платформах. Для опису їх доступності та використання " +"зверніться до :manpage:`open(2)` сторінки посібника для Unix або `MSDN " +"`_ для Windows." msgid "The above constants are available on Unix and Windows." -msgstr "" +msgstr "Yukarıdaki sabitler Unix ve Windows'ta mevcuttur." msgid "The above constants are only available on Unix." -msgstr "" +msgstr "Yukarıdaki sabitler yalnız Unix'te mevcuttur." msgid "Add :data:`O_CLOEXEC` constant." -msgstr "" +msgstr "Додайте константу :data:`O_CLOEXEC`." msgid "The above constants are only available on Windows." -msgstr "" +msgstr "Yukarıdaki sabitler yalnız Windows'ta mevcuttur." msgid "The above constants are only available on macOS." -msgstr "" +msgstr "Наведені вище константи доступні лише в macOS." msgid "" "Add :data:`O_EVTONLY`, :data:`O_FSYNC`, :data:`O_SYMLINK` and :data:" "`O_NOFOLLOW_ANY` constants." msgstr "" +"Додайте константи :data:`O_EVTONLY`, :data:`O_FSYNC`, :data:`O_SYMLINK` і :" +"data:`O_NOFOLLOW_ANY`." msgid "" "The above constants are extensions and not present if they are not defined " "by the C library." msgstr "" +"Наведені вище константи є розширеннями і не присутні, якщо вони не визначені " +"бібліотекою C." msgid "" "Add :data:`O_PATH` on systems that support it. Add :data:`O_TMPFILE`, only " "available on Linux Kernel 3.11 or newer." msgstr "" +"Додайте :data:`O_PATH` до систем, які його підтримують. Додайте :data:" +"`O_TMPFILE`, доступний лише на ядрі Linux 3.11 або новіших." msgid "" "Open a new pseudo-terminal pair. Return a pair of file descriptors " @@ -1204,15 +1693,22 @@ msgid "" "descriptors are :ref:`non-inheritable `. For a (slightly) " "more portable approach, use the :mod:`pty` module." msgstr "" +"Відкрийте нову пару псевдотерміналів. Повертає пару файлових дескрипторів " +"``(master, slave)`` для pty і tty відповідно. Нові дескриптори файлів :ref:" +"`не успадковуються `. Для (трохи) більш портативного підходу " +"використовуйте модуль :mod:`pty`." msgid "The new file descriptors are now non-inheritable." -msgstr "" +msgstr "Нові файлові дескриптори тепер не успадковуються." msgid "" "Create a pipe. Return a pair of file descriptors ``(r, w)`` usable for " "reading and writing, respectively. The new file descriptor is :ref:`non-" "inheritable `." msgstr "" +"Створіть трубу. Повертає пару файлових дескрипторів ``(r, w)``, які можна " +"використовувати для читання та запису відповідно. Новий файловий дескриптор :" +"ref:`не успадковується `." msgid "" "Create a pipe with *flags* set atomically. *flags* can be constructed by " @@ -1220,11 +1716,17 @@ msgid "" "`O_CLOEXEC`. Return a pair of file descriptors ``(r, w)`` usable for reading " "and writing, respectively." msgstr "" +"Створіть трубу з *прапорцями*, встановленими атомарно. *прапорці* можуть " +"бути створені шляхом об’єднання одного або кількох із цих значень :data:" +"`O_NONBLOCK`, :data:`O_CLOEXEC`. Повертає пару файлових дескрипторів ``(r, " +"w)``, які можна використовувати для читання та запису відповідно." msgid "" "Ensures that enough disk space is allocated for the file specified by *fd* " "starting from *offset* and continuing for *len* bytes." msgstr "" +"Переконується, що для файлу, указаного *fd*, виділено достатньо місця на " +"диску, починаючи з *offset* і продовжуючи *len* байт." msgid "" "Announces an intention to access data in a specific pattern thus allowing " @@ -1235,36 +1737,57 @@ msgid "" "`POSIX_FADV_NOREUSE`, :data:`POSIX_FADV_WILLNEED` or :data:" "`POSIX_FADV_DONTNEED`." msgstr "" +"Оголошує про намір отримати доступ до даних за певним шаблоном, що дозволяє " +"ядру проводити оптимізацію. Порада стосується регіону файлу, визначеного " +"*fd*, починаючи з *offset* і продовжуючи *len* байти. *порада* є одним із :" +"data:`POSIX_FADV_NORMAL`, :data:`POSIX_FADV_SEQUENTIAL`, :data:" +"`POSIX_FADV_RANDOM`, :data:`POSIX_FADV_NOREUSE`, :data:`POSIX_FADV_WILLNEED` " +"або :data:`POSIX_FADV_DONTNEED`." msgid "" "Flags that can be used in *advice* in :func:`posix_fadvise` that specify the " "access pattern that is likely to be used." msgstr "" +"Прапорці, які можна використовувати в *advice* у :func:`posix_fadvise`, які " +"визначають шаблон доступу, який, імовірно, буде використаний." msgid "" "Read at most *n* bytes from file descriptor *fd* at a position of *offset*, " "leaving the file offset unchanged." msgstr "" +"Прочитати щонайбільше *n* байт із файлового дескриптора *fd* у позиції " +"*offset*, залишаючи зміщення файлу незмінним." msgid "" "Return a bytestring containing the bytes read. If the end of the file " "referred to by *fd* has been reached, an empty bytes object is returned." msgstr "" +"Повертає байтовий рядок, що містить прочитані байти. Якщо досягнуто кінця " +"файлу, на який посилається *fd*, повертається порожній об’єкт bytes." msgid "Open and return a file descriptor for a master pseudo-terminal device." msgstr "" +"Откройте и верните файловый дескриптор главного псевдотерминального " +"устройства." msgid "" "Calls the C standard library function :c:func:`posix_openpt`. The *oflag* " "argument is used to set file status flags and file access modes as specified " "in the manual page of :c:func:`posix_openpt` of your system." msgstr "" +"Вызывает функцию стандартной библиотеки C. :c:func:`posix_openpt` . Аргумент " +"*oflag* используется для установки флагов состояния файла и режимов доступа " +"к файлу, как указано на странице руководства по :c:func:`posix_openpt` вашей " +"системы." msgid "" "The returned file descriptor is :ref:`non-inheritable `. If " "the value :data:`O_CLOEXEC` is available on the system, it is added to " "*oflag*." msgstr "" +"Возвращенный файловый дескриптор не наследуется.\n" +"`. Если значение :data:`O_CLOEXEC` доступен в системе, он добавляется в " +"*oflag*." msgid "" "Read from a file descriptor *fd* at a position of *offset* into mutable :" @@ -1272,11 +1795,15 @@ msgid "" "offset unchanged. Transfer data into each buffer until it is full and then " "move on to the next buffer in the sequence to hold the rest of the data." msgstr "" +"Читання з файлового дескриптора *fd* у позиції *offset* у змінні :term:`байт-" +"подібні об’єкти ` *buffers*, залишаючи зміщення файлу " +"незмінним. Передайте дані в кожен буфер, доки він не заповниться, а потім " +"перейдіть до наступного буфера в послідовності, щоб утримувати решту даних." msgid "" "The flags argument contains a bitwise OR of zero or more of the following " "flags:" -msgstr "" +msgstr "Аргумент flags містить порозрядне АБО нуля або більше таких прапорів:" msgid ":data:`RWF_HIPRI`" msgstr ":data:`RWF_HIPRI`" @@ -1288,59 +1815,84 @@ msgid "" "Return the total number of bytes actually read which can be less than the " "total capacity of all the objects." msgstr "" +"Повертає загальну кількість фактично прочитаних байтів, яка може бути меншою " +"за загальну ємність усіх об’єктів." msgid "" "The operating system may set a limit (:func:`sysconf` value " "``'SC_IOV_MAX'``) on the number of buffers that can be used." msgstr "" +"Операційна система може встановити обмеження (:func:`sysconf` значення " +"``'SC_IOV_MAX'``) на кількість буферів, які можна використовувати." msgid "Combine the functionality of :func:`os.readv` and :func:`os.pread`." msgstr "" +"Поєднайте функціональні можливості :func:`os.readv` і :func:`os.pread`." msgid "Using flags requires Linux >= 4.6." -msgstr "" +msgstr "Для использования флагов требуется Linux >= 4.6." msgid "" "Do not wait for data which is not immediately available. If this flag is " "specified, the system call will return instantly if it would have to read " "data from the backing storage or wait for a lock." msgstr "" +"Не чекайте даних, які доступні не відразу. Якщо вказано цей прапорець, " +"системний виклик повернеться миттєво, якщо йому доведеться прочитати дані з " +"резервного сховища або дочекатися блокування." msgid "" "If some data was successfully read, it will return the number of bytes read. " "If no bytes were read, it will return ``-1`` and set errno to :const:`errno." "EAGAIN`." msgstr "" +"Если некоторые данные были успешно прочитаны, они вернут количество " +"прочитанных байтов. Если ни один байт не был прочитан, он вернет ``-1`` и " +"установите errno на :const:`errno.EAGAIN` ." msgid "" "High priority read/write. Allows block-based filesystems to use polling of " "the device, which provides lower latency, but may use additional resources." msgstr "" +"Високий пріоритет читання/запису. Дозволяє файловим системам на основі " +"блоків використовувати опитування пристрою, що забезпечує меншу затримку, " +"але може використовувати додаткові ресурси." msgid "" "Currently, on Linux, this feature is usable only on a file descriptor opened " "using the :data:`O_DIRECT` flag." msgstr "" +"Наразі в Linux цю функцію можна використовувати лише для дескриптора файлу, " +"відкритого за допомогою позначки :data:`O_DIRECT`." msgid "" "Return the name of the slave pseudo-terminal device associated with the " "master pseudo-terminal device to which the file descriptor *fd* refers. The " "file descriptor *fd* is not closed upon failure." msgstr "" +"Возвращает имя подчиненного псевдотерминального устройства, связанного с " +"главным псевдотерминальным устройством, на которое ссылается файловый " +"дескриптор *fd*. Дескриптор файла *fd* не закрывается в случае сбоя." msgid "" "Calls the reentrant C standard library function :c:func:`ptsname_r` if it is " "available; otherwise, the C standard library function :c:func:`ptsname`, " "which is not guaranteed to be thread-safe, is called." msgstr "" +"Вызывает реентерабельную функцию стандартной библиотеки C. :c:func:" +"`ptsname_r` если он доступен; в противном случае функция стандартной " +"библиотеки C :c:func:`ptsname` , который не гарантированно является " +"потокобезопасным." msgid "" "Write the bytestring in *str* to file descriptor *fd* at position of " "*offset*, leaving the file offset unchanged." msgstr "" +"Запишіть байтовий рядок у *str* у файловий дескриптор *fd* у позиції " +"*offset*, залишаючи зміщення файлу без змін." msgid "Return the number of bytes actually written." -msgstr "" +msgstr "Повертає кількість фактично записаних байтів." msgid "" "Write the *buffers* contents to file descriptor *fd* at an offset *offset*, " @@ -1349,6 +1901,11 @@ msgid "" "order. Entire contents of the first buffer is written before proceeding to " "the second, and so on." msgstr "" +"Запишите содержимое *buffers* в файловый дескриптор *fd* по смещению " +"*offset*, оставив смещение файла неизменным. *буферы* должны представлять " +"собой последовательность :term:`байтоподобных объектов\n" +"`. Буферы обрабатываются в порядке массива. Все содержимое первого буфера " +"записывается перед переходом ко второму и так далее." msgid ":data:`RWF_DSYNC`" msgstr ":data:`RWF_DSYNC`" @@ -1360,20 +1917,26 @@ msgid ":data:`RWF_APPEND`" msgstr ":data:`RWF_APPEND`" msgid "Return the total number of bytes actually written." -msgstr "" +msgstr "Повертає загальну кількість фактично записаних байтів." msgid "Combine the functionality of :func:`os.writev` and :func:`os.pwrite`." -msgstr "" +msgstr "Поєднайте функції :func:`os.writev` і :func:`os.pwrite`." msgid "" "Provide a per-write equivalent of the :data:`O_DSYNC` :func:`os.open` flag. " "This flag effect applies only to the data range written by the system call." msgstr "" +"Надайте еквівалент для кожного запису прапора :data:`O_DSYNC` :func:`os." +"open`. Цей ефект прапора застосовується лише до діапазону даних, записаного " +"системним викликом." msgid "" "Provide a per-write equivalent of the :data:`O_SYNC` :func:`os.open` flag. " "This flag effect applies only to the data range written by the system call." msgstr "" +"Надайте еквівалент для кожного запису прапора :data:`O_SYNC` :func:`os." +"open`. Цей ефект прапора застосовується лише до діапазону даних, записаного " +"системним викликом." msgid "" "Provide a per-write equivalent of the :data:`O_APPEND` :func:`os.open` flag. " @@ -1383,9 +1946,15 @@ msgid "" "of the file. However, if the *offset* argument is ``-1``, the current file " "*offset* is updated." msgstr "" +"Надайте еквівалент для кожного запису прапора :data:`O_APPEND` :func:`os." +"open`. Цей прапор має значення лише для :func:`os.pwritev`, і його дія " +"стосується лише діапазону даних, записаного системним викликом. Аргумент " +"*offset* не впливає на операцію запису; дані завжди додаються в кінець " +"файлу. Однак, якщо аргумент *offset* дорівнює ``-1``, поточний файл *offset* " +"оновлюється." msgid "Read at most *n* bytes from file descriptor *fd*." -msgstr "" +msgstr "Прочитати щонайбільше *n* байт із файлового дескриптора *fd*." msgid "" "This function is intended for low-level I/O and must be applied to a file " @@ -1394,22 +1963,35 @@ msgid "" "or :func:`fdopen`, or :data:`sys.stdin`, use its :meth:`~file.read` or :meth:" "`~file.readline` methods." msgstr "" +"Ця функція призначена для низькорівневого вводу-виводу та має " +"застосовуватися до дескриптора файлу, який повертає :func:`os.open` або :" +"func:`pipe`. Щоб прочитати \"файловий об’єкт\", повернутий вбудованою " +"функцією :func:`open` або :func:`popen` або :func:`fdopen`, або :data:`sys." +"stdin`, використовуйте його :meth:`~file.read` або :meth:`~file.readline` " +"методи." msgid "" "Copy *count* bytes from file descriptor *in_fd* to file descriptor *out_fd* " "starting at *offset*. Return the number of bytes sent. When EOF is reached " "return ``0``." msgstr "" +"Скопіюйте *count* байтів із файлового дескриптора *in_fd* до файлового " +"дескриптора *out_fd*, починаючи зі *offset*. Повертає кількість надісланих " +"байтів. Коли EOF досягнуто, повертає ``0``." msgid "" "The first function notation is supported by all platforms that define :func:" "`sendfile`." msgstr "" +"Першу нотацію функції підтримують усі платформи, які визначають :func:" +"`sendfile`." msgid "" "On Linux, if *offset* is given as ``None``, the bytes are read from the " "current position of *in_fd* and the position of *in_fd* is updated." msgstr "" +"У Linux, якщо *offset* задано як ``None``, байти зчитуються з поточної " +"позиції *in_fd*, а позиція *in_fd* оновлюється." msgid "" "The second case may be used on macOS and FreeBSD where *headers* and " @@ -1417,48 +1999,66 @@ msgid "" "after the data from *in_fd* is written. It returns the same as the first " "case." msgstr "" +"Другий випадок можна використовувати в macOS і FreeBSD, де *заголовки* і " +"*кінці* є довільними послідовностями буферів, які записуються до і після " +"запису даних з *in_fd*. Він повертає те саме, що й перший випадок." msgid "" "On macOS and FreeBSD, a value of ``0`` for *count* specifies to send until " "the end of *in_fd* is reached." msgstr "" +"У macOS і FreeBSD значення ``0`` для *count* вказує на надсилання до кінця " +"*in_fd*." msgid "" "All platforms support sockets as *out_fd* file descriptor, and some " "platforms allow other types (e.g. regular file, pipe) as well." msgstr "" +"Усі платформи підтримують сокети як файловий дескриптор *out_fd*, а деякі " +"платформи також дозволяють інші типи (наприклад, звичайний файл, канал)." msgid "" "Cross-platform applications should not use *headers*, *trailers* and *flags* " "arguments." msgstr "" +"Міжплатформні програми не повинні використовувати аргументи *headers*, " +"*trailers* і *flags*." msgid "" "For a higher-level wrapper of :func:`sendfile`, see :meth:`socket.socket." "sendfile`." msgstr "" +"Щоб отримати обгортку вищого рівня :func:`sendfile`, перегляньте :meth:" +"`socket.socket.sendfile`." msgid "Parameters *out* and *in* was renamed to *out_fd* and *in_fd*." -msgstr "" +msgstr "Параметри *out* і *in* перейменовано на *out_fd* і *in_fd*." msgid "" "Parameters to the :func:`sendfile` function, if the implementation supports " "them." -msgstr "" +msgstr "Параметри функції :func:`sendfile`, якщо реалізація їх підтримує." msgid "" "Parameter to the :func:`sendfile` function, if the implementation supports " "it. The data won't be cached in the virtual memory and will be freed " "afterwards." msgstr "" +"Параметр для :func:`отправить файл` функция, если реализация поддерживает " +"ее. Данные не будут кэшироваться в виртуальной памяти и впоследствии будут " +"освобождены." msgid "" "Set the blocking mode of the specified file descriptor. Set the :data:" "`O_NONBLOCK` flag if blocking is ``False``, clear the flag otherwise." msgstr "" +"Встановити режим блокування вказаного файлового дескриптора. Установіть " +"прапорець :data:`O_NONBLOCK`, якщо блокування має значення ``False``, " +"зніміть прапорець в іншому випадку." msgid "See also :func:`get_blocking` and :meth:`socket.socket.setblocking`." msgstr "" +"Дивіться також :func:`get_blocking` і :meth:`socket.socket.setblocking`." msgid "" "Transfer *count* bytes from file descriptor *src*, starting from offset " @@ -1477,6 +2077,10 @@ msgid "" "filesystems could implement extra optimizations. The copy is done as if both " "files are opened as binary." msgstr "" +"Ця копія виконується без додаткових витрат на передачу даних із ядра в " +"простір користувача, а потім назад у ядро. Крім того, деякі файлові системи " +"можуть реалізувати додаткові оптимізації. Копіювання виконується так, ніби " +"обидва файли відкриваються як двійкові." msgid "" "Upon successful completion, returns the number of bytes spliced to or from " @@ -1485,6 +2089,11 @@ msgid "" "sense to block because there are no writers connected to the write end of " "the pipe." msgstr "" +"Після успішного завершення повертає кількість байтів, з’єднаних із каналом " +"або з каналу. Повернене значення 0 означає кінець введення. Якщо *src* " +"посилається на канал, це означає, що не було даних для передачі, і не було б " +"сенсу блокувати, оскільки немає записувачів, підключених до кінця каналу для " +"запису." msgid "" "Read from a file descriptor *fd* into a number of mutable :term:`bytes-like " @@ -1492,34 +2101,48 @@ msgid "" "it is full and then move on to the next buffer in the sequence to hold the " "rest of the data." msgstr "" +"Читання з файлового дескриптора *fd* у кілька змінних :term:`байт-подібних " +"об’єктів ` *буферів*. Передайте дані в кожен буфер, доки " +"він не заповниться, а потім перейдіть до наступного буфера в послідовності, " +"щоб утримувати решту даних." msgid "" "Return the process group associated with the terminal given by *fd* (an open " "file descriptor as returned by :func:`os.open`)." msgstr "" +"Повертає групу процесів, пов’язану з терміналом, задану *fd* (дескриптор " +"відкритого файлу, який повертає :func:`os.open`)." msgid "" "Set the process group associated with the terminal given by *fd* (an open " "file descriptor as returned by :func:`os.open`) to *pg*." msgstr "" +"Встановіть групу процесів, пов’язану з терміналом, надану *fd* (дескриптор " +"відкритого файлу, який повертає :func:`os.open`), на *pg*." msgid "" "Return a string which specifies the terminal device associated with file " "descriptor *fd*. If *fd* is not associated with a terminal device, an " "exception is raised." msgstr "" +"Повертає рядок, який визначає термінальний пристрій, пов’язаний із файловим " +"дескриптором *fd*. Якщо *fd* не пов’язано з термінальним пристроєм, виникає " +"виняток." msgid "" "Unlock the slave pseudo-terminal device associated with the master pseudo-" "terminal device to which the file descriptor *fd* refers. The file " "descriptor *fd* is not closed upon failure." msgstr "" +"Разблокируйте подчиненное псевдотерминальное устройство, связанное с главным " +"псевдотерминальным устройством, на которое ссылается файловый дескриптор " +"*fd*. Дескриптор файла *fd* не закрывается в случае сбоя." msgid "Calls the C standard library function :c:func:`unlockpt`." -msgstr "" +msgstr "Вызывает функцию стандартной библиотеки C. :c:func:`unlockpt` ." msgid "Write the bytestring in *str* to file descriptor *fd*." -msgstr "" +msgstr "Запишіть байтовий рядок у *str* до файлового дескриптора *fd*." msgid "" "This function is intended for low-level I/O and must be applied to a file " @@ -1528,6 +2151,12 @@ msgid "" "`popen` or :func:`fdopen`, or :data:`sys.stdout` or :data:`sys.stderr`, use " "its :meth:`~file.write` method." msgstr "" +"Ця функція призначена для низькорівневого вводу-виводу та має " +"застосовуватися до дескриптора файлу, який повертає :func:`os.open` або :" +"func:`pipe`. Щоб записати \"файловий об’єкт\", який повертає вбудована " +"функція :func:`open` або :func:`popen` або :func:`fdopen`, або :data:`sys." +"stdout` або :data:`sys.stderr`, використовуйте його метод :meth:`~file." +"write`." msgid "" "Write the contents of *buffers* to file descriptor *fd*. *buffers* must be a " @@ -1535,57 +2164,75 @@ msgid "" "processed in array order. Entire contents of the first buffer is written " "before proceeding to the second, and so on." msgstr "" +"Запишіть вміст *buffers* у файловий дескриптор *fd*. *буфери* мають бути " +"послідовністю :term:`байт-подібних об’єктів `. Буфери " +"обробляються в порядку масиву. Весь вміст першого буфера записується перед " +"переходом до другого і так далі." msgid "Returns the total number of bytes actually written." -msgstr "" +msgstr "Повертає загальну кількість фактично записаних байтів." msgid "Querying the size of a terminal" -msgstr "" +msgstr "Запит розміру терміналу" msgid "" "Return the size of the terminal window as ``(columns, lines)``, tuple of " "type :class:`terminal_size`." msgstr "" +"Повертає розмір вікна терміналу як ``(стовпці, рядки)``, кортеж типу :class:" +"`terminal_size`." msgid "" "The optional argument ``fd`` (default ``STDOUT_FILENO``, or standard output) " "specifies which file descriptor should be queried." msgstr "" +"Додатковий аргумент ``fd`` (за замовчуванням ``STDOUT_FILENO`` або " +"стандартний вивід) визначає, який дескриптор файлу слід запитувати." msgid "" "If the file descriptor is not connected to a terminal, an :exc:`OSError` is " "raised." msgstr "" +"Якщо дескриптор файлу не підключено до терміналу, виникає :exc:`OSError`." msgid "" ":func:`shutil.get_terminal_size` is the high-level function which should " "normally be used, ``os.get_terminal_size`` is the low-level implementation." msgstr "" +":func:`shutil.get_terminal_size` — це функція високого рівня, яка зазвичай " +"повинна використовуватися, ``os.get_terminal_size`` — це реалізація низького " +"рівня." msgid "" "A subclass of tuple, holding ``(columns, lines)`` of the terminal window " "size." msgstr "" +"Підклас кортежу, що містить ``(стовпці, рядки)`` розміру вікна терміналу." msgid "Width of the terminal window in characters." -msgstr "" +msgstr "Ширина вікна терміналу в символах." msgid "Height of the terminal window in characters." -msgstr "" +msgstr "Висота вікна терміналу в символах." msgid "Inheritance of File Descriptors" -msgstr "" +msgstr "Успадкування файлових дескрипторів" msgid "" "A file descriptor has an \"inheritable\" flag which indicates if the file " "descriptor can be inherited by child processes. Since Python 3.4, file " "descriptors created by Python are non-inheritable by default." msgstr "" +"Файловий дескриптор має позначку \"успадковуваний\", яка вказує, чи може " +"файловий дескриптор успадковуватися дочірніми процесами. Починаючи з Python " +"3.4, дескриптори файлів, створені Python, за замовчуванням не успадковуються." msgid "" "On UNIX, non-inheritable file descriptors are closed in child processes at " "the execution of a new program, other file descriptors are inherited." msgstr "" +"В UNIX неуспадковані файлові дескриптори закриваються в дочірніх процесах " +"під час виконання нової програми, інші файлові дескриптори успадковуються." msgid "" "On Windows, non-inheritable handles and file descriptors are closed in child " @@ -1596,30 +2243,44 @@ msgid "" "descriptors except standard streams are closed, and inheritable handles are " "only inherited if the *close_fds* parameter is ``False``." msgstr "" +"У Windows неуспадковані дескриптори та дескриптори файлів закриті в дочірніх " +"процесах, за винятком стандартних потоків (дескриптори файлів 0, 1 і 2: " +"stdin, stdout і stderr), які завжди успадковуються. За допомогою функцій :" +"func:`spawn\\* ` успадковуються всі успадковані маркери та всі " +"успадковані дескриптори файлів. За допомогою модуля :mod:`subprocess` усі " +"файлові дескриптори, крім стандартних потоків, закриваються, а успадковані " +"дескриптори успадковуються, лише якщо параметр *close_fds* має значення " +"``False``." msgid "On WebAssembly platforms, the file descriptor cannot be modified." -msgstr "" +msgstr "На платформах WebAssembly дескриптор файла нельзя изменить." msgid "" "Get the \"inheritable\" flag of the specified file descriptor (a boolean)." msgstr "" +"Отримайте позначку \"успадкований\" зазначеного файлового дескриптора " +"(логічне значення)." msgid "Set the \"inheritable\" flag of the specified file descriptor." msgstr "" +"Встановіть прапорець \"успадкований\" для зазначеного файлового дескриптора." msgid "Get the \"inheritable\" flag of the specified handle (a boolean)." msgstr "" +"Отримайте прапор \"успадкований\" зазначеного маркера (логічне значення)." msgid "Set the \"inheritable\" flag of the specified handle." -msgstr "" +msgstr "Встановіть прапорець \"успадкований\" для вказаного маркера." msgid "Files and Directories" -msgstr "" +msgstr "Dosyalar ve Dizinler " msgid "" "On some Unix platforms, many of these functions support one or more of these " "features:" msgstr "" +"На деяких платформах Unix багато з цих функцій підтримують одну або кілька " +"таких функцій:" msgid "" "**specifying a file descriptor:** Normally the *path* argument provided to " @@ -1630,6 +2291,12 @@ msgid "" "the function prefixed with ``f`` (e.g. call ``fchdir`` instead of " "``chdir``).)" msgstr "" +"**зазначення дескриптора файлу:** Зазвичай аргумент *path*, який надається " +"функціям у модулі :mod:`os`, має бути рядком, що вказує шлях до файлу. Однак " +"деякі функції тепер альтернативно приймають дескриптор відкритого файлу для " +"свого аргументу *path*. Потім функція працюватиме з файлом, на який " +"посилається дескриптор. (Для систем POSIX Python викличе варіант функції з " +"префіксом ``f`` (наприклад, виклик ``fchdir`` замість ``chdir``).)" msgid "" "You can check whether or not *path* can be specified as a file descriptor " @@ -1637,11 +2304,17 @@ msgid "" "this functionality is unavailable, using it will raise a :exc:" "`NotImplementedError`." msgstr "" +"Ви можете перевірити, чи можна вказати *шлях* як дескриптор файлу для певної " +"функції на вашій платформі за допомогою :data:`os.supports_fd`. Якщо ця " +"функція недоступна, її використання призведе до помилки :exc:" +"`NotImplementedError`." msgid "" "If the function also supports *dir_fd* or *follow_symlinks* arguments, it's " "an error to specify one of those when supplying *path* as a file descriptor." msgstr "" +"Якщо функція також підтримує аргументи *dir_fd* або *follow_symlinks*, буде " +"помилкою вказати один із них під час надання *шляху* як дескриптора файлу." msgid "" "**paths relative to directory descriptors:** If *dir_fd* is not ``None``, it " @@ -1652,12 +2325,21 @@ msgid "" "and possibly prefixed with ``f`` (e.g. call ``faccessat`` instead of " "``access``)." msgstr "" +"**шляхи відносно дескрипторів каталогу:** Якщо *dir_fd* не є ``None``, це " +"має бути дескриптор файлу, який посилається на каталог, а шлях для роботи " +"має бути відносним; тоді шлях буде відносним до цього каталогу. Якщо шлях " +"абсолютний, *dir_fd* ігнорується. (Для систем POSIX Python викличе варіант " +"функції з суфіксом ``at`` і, можливо, з префіксом ``f`` (наприклад, виклик " +"``faccessat`` замість ``access``)." msgid "" "You can check whether or not *dir_fd* is supported for a particular function " "on your platform using :data:`os.supports_dir_fd`. If it's unavailable, " "using it will raise a :exc:`NotImplementedError`." msgstr "" +"Ви можете перевірити, чи підтримується *dir_fd* для певної функції на вашій " +"платформі за допомогою :data:`os.supports_dir_fd`. Якщо він недоступний, " +"його використання призведе до помилки :exc:`NotImplementedError`." msgid "" "**not following symlinks:** If *follow_symlinks* is ``False``, and the last " @@ -1666,12 +2348,20 @@ msgid "" "link. (For POSIX systems, Python will call the ``l...`` variant of the " "function.)" msgstr "" +"**не слідувати за символічними посиланнями:** Якщо *follow_symlinks* має " +"значення ``False``, а останнім елементом шляху, з яким потрібно працювати, є " +"символьне посилання, функція працюватиме з самим символічним посиланням, а " +"не з файлом, на який вказує посилання. (Для систем POSIX Python викличе " +"варіант функції ``l...``.)" msgid "" "You can check whether or not *follow_symlinks* is supported for a particular " "function on your platform using :data:`os.supports_follow_symlinks`. If it's " "unavailable, using it will raise a :exc:`NotImplementedError`." msgstr "" +"Ви можете перевірити, чи підтримується *follow_symlinks* для певної функції " +"на вашій платформі, використовуючи :data:`os.supports_follow_symlinks`. Якщо " +"він недоступний, його використання викличе :exc:`NotImplementedError`." msgid "" "Use the real uid/gid to test for access to *path*. Note that most " @@ -1683,11 +2373,23 @@ msgid "" "`True` if access is allowed, :const:`False` if not. See the Unix man page :" "manpage:`access(2)` for more information." msgstr "" +"Використовуйте справжній uid/gid, щоб перевірити доступ до *шляху*. " +"Зауважте, що більшість операцій використовуватиме ефективний uid/gid, тому " +"цю підпрограму можна використовувати в середовищі suid/sgid, щоб перевірити, " +"чи має користувач, який викликає, вказаний доступ до *path*. *режим* має " +"бути :const:`F_OK`, щоб перевірити існування *шляху*, або він може бути " +"включним АБО одного чи кількох :const:`R_OK`, :const:`W_OK` і :const:`X_OK`, " +"щоб перевірити дозволи. Повертає :const:`True`, якщо доступ дозволено, :" +"const:`False`, якщо ні. Додаткову інформацію див. на сторінці довідки Unix :" +"manpage:`access(2)`." msgid "" "This function can support specifying :ref:`paths relative to directory " "descriptors ` and :ref:`not following symlinks `." msgstr "" +"Ця функція може підтримувати вказівку :ref:`шляхів відносно дескрипторів " +"каталогу ` і :ref:`не слідувати символічним посиланням " +"`." msgid "" "If *effective_ids* is ``True``, :func:`access` will perform its access " @@ -1696,6 +2398,12 @@ msgid "" "or not it is available using :data:`os.supports_effective_ids`. If it is " "unavailable, using it will raise a :exc:`NotImplementedError`." msgstr "" +"Якщо *effective_ids* має значення ``True``, :func:`access` виконуватиме " +"перевірку доступу, використовуючи ефективний uid/gid замість справжнього uid/" +"gid. *effective_ids* може не підтримуватися на вашій платформі; ви можете " +"перевірити, чи він доступний, за допомогою :data:`os." +"supports_effective_ids`. Якщо він недоступний, його використання призведе до " +"помилки :exc:`NotImplementedError`." msgid "" "Using :func:`access` to check if a user is authorized to e.g. open a file " @@ -1704,6 +2412,11 @@ msgid "" "the file to manipulate it. It's preferable to use :term:`EAFP` techniques. " "For example::" msgstr "" +"Використовуючи :func:`access`, щоб перевірити, чи має користувач право, " +"наприклад, відкрити файл перед тим, як це зробити за допомогою :func:`open` " +"створює діру в безпеці, тому що користувач може використати короткий " +"проміжок часу між перевіркою та відкриттям файлу, щоб маніпулювати ним. " +"Бажано використовувати техніку :term:`EAFP`. Наприклад::" msgid "" "if os.access(\"myfile\", os.R_OK):\n" @@ -1711,9 +2424,13 @@ msgid "" " return fp.read()\n" "return \"some default data\"" msgstr "" +"if os.access(\"myfile\", os.R_OK):\n" +" with open(\"myfile\") as fp:\n" +" return fp.read()\n" +"return \"some default data\"" msgid "is better written as::" -msgstr "" +msgstr "краще записати як::" msgid "" "try:\n" @@ -1724,49 +2441,73 @@ msgid "" " with fp:\n" " return fp.read()" msgstr "" +"try:\n" +" fp = open(\"myfile\")\n" +"except PermissionError:\n" +" return \"some default data\"\n" +"else:\n" +" with fp:\n" +" return fp.read()" msgid "" "I/O operations may fail even when :func:`access` indicates that they would " "succeed, particularly for operations on network filesystems which may have " "permissions semantics beyond the usual POSIX permission-bit model." msgstr "" +"Операції вводу/виводу можуть завершуватися невдачею, навіть якщо :func:" +"`access` вказує, що вони будуть успішними, особливо для операцій у мережевих " +"файлових системах, які можуть мати семантику дозволів за межами звичайної " +"бітової моделі дозволів POSIX." msgid "Added the *dir_fd*, *effective_ids*, and *follow_symlinks* parameters." -msgstr "" +msgstr "Додано параметри *dir_fd*, *effective_ids* і *follow_symlinks*." msgid "" "Values to pass as the *mode* parameter of :func:`access` to test the " "existence, readability, writability and executability of *path*, " "respectively." msgstr "" +"Значення, які потрібно передавати як параметр *mode* :func:`access`, щоб " +"перевірити наявність, читабельність, запис і можливість виконання *path* " +"відповідно." msgid "Change the current working directory to *path*." -msgstr "" +msgstr "Змініть поточний робочий каталог на *шлях*." msgid "" "This function can support :ref:`specifying a file descriptor `. " "The descriptor must refer to an opened directory, not an open file." msgstr "" +"Ця функція може підтримувати :ref:`зазначення файлового дескриптора " +"`. Дескриптор має посилатися на відкритий каталог, а не на " +"відкритий файл." msgid "" "This function can raise :exc:`OSError` and subclasses such as :exc:" "`FileNotFoundError`, :exc:`PermissionError`, and :exc:`NotADirectoryError`." msgstr "" +"Ця функція може викликати :exc:`OSError` і підкласи, такі як :exc:" +"`FileNotFoundError`, :exc:`PermissionError` і :exc:`NotADirectoryError`." msgid "" "Raises an :ref:`auditing event ` ``os.chdir`` with argument " "``path``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.chdir`` з аргументом ``path``." msgid "" "Added support for specifying *path* as a file descriptor on some platforms." msgstr "" +"Додано підтримку вказівки *шляху* як дескриптора файлу на деяких платформах." msgid "" "Set the flags of *path* to the numeric *flags*. *flags* may take a " "combination (bitwise OR) of the following values (as defined in the :mod:" "`stat` module):" msgstr "" +"Встановіть прапорці *шляху* на числові *прапорці*. *flags* може приймати " +"комбінацію (порозрядне АБО) таких значень (як визначено в модулі :mod:" +"`stat`):" msgid ":const:`stat.UF_NODUMP`" msgstr ":const:`stat.UF_NODUMP`" @@ -1807,20 +2548,27 @@ msgstr ":const:`stat.SF_SNAPSHOT`" msgid "" "This function can support :ref:`not following symlinks `." msgstr "" +"Ця функція підтримує :ref:`неперехід за символічними посиланнями " +"`." msgid "" "Raises an :ref:`auditing event ` ``os.chflags`` with arguments " "``path``, ``flags``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.chflags`` з аргументами " +"``path``, ``flags``." msgid "Added the *follow_symlinks* parameter." -msgstr "" +msgstr "Добавлен параметр *follow_symlinks*." msgid "" "Change the mode of *path* to the numeric *mode*. *mode* may take one of the " "following values (as defined in the :mod:`stat` module) or bitwise ORed " "combinations of them:" msgstr "" +"Змініть режим *шляху* на числовий *режим*. *mode* може приймати одне з " +"наступних значень (як визначено в модулі :mod:`stat`) або їх комбінації " +"порозрядними АБО:" msgid ":const:`stat.S_ISUID`" msgstr ":const:`stat.S_ISUID`" @@ -1884,6 +2632,9 @@ msgid "" "ref:`paths relative to directory descriptors ` and :ref:`not " "following symlinks `." msgstr "" +"Ця функція може підтримувати :ref:`зазначення дескриптора файлу `, :" +"ref:`шляхи відносно дескрипторів каталогу ` та :ref:`неперехід за " +"символічними посиланнями `." msgid "" "Although Windows supports :func:`chmod`, you can only set the file's read-" @@ -1891,56 +2642,77 @@ msgid "" "or a corresponding integer value). All other bits are ignored. The default " "value of *follow_symlinks* is ``False`` on Windows." msgstr "" +"Хотя Windows поддерживает :func:`chmod` , вы можете установить для файла " +"только флаг «только для чтения» (через ``stat.S_IWRITE`` и ``stat.S_IREAD`` " +"константы или соответствующее целое значение). Все остальные биты " +"игнорируются. Значение по умолчанию *follow_symlinks*: ``Ложь`` в Windows." msgid "" "Added support for specifying *path* as an open file descriptor, and the " "*dir_fd* and *follow_symlinks* arguments." msgstr "" +"Додано підтримку вказівки *шляху* як дескриптора відкритого файлу, а також " +"аргументів *dir_fd* і *follow_symlinks*." msgid "" "Added support for a file descriptor and the *follow_symlinks* argument on " "Windows." msgstr "" +"Добавлена ​​поддержка файлового дескриптора и аргумента *follow_symlinks* в " +"Windows." msgid "" "Change the owner and group id of *path* to the numeric *uid* and *gid*. To " "leave one of the ids unchanged, set it to -1." msgstr "" +"Змініть власника та ідентифікатор групи *path* на числові *uid* і *gid*. Щоб " +"залишити один із ідентифікаторів без змін, встановіть для нього значення -1." msgid "" "See :func:`shutil.chown` for a higher-level function that accepts names in " "addition to numeric ids." msgstr "" +"Перегляньте :func:`shutil.chown` для функції вищого рівня, яка приймає імена " +"на додаток до числових ідентифікаторів." msgid "Supports a :term:`path-like object`." -msgstr "" +msgstr "Підтримує :term:`path-like object`." msgid "Change the root directory of the current process to *path*." -msgstr "" +msgstr "Змініть кореневий каталог поточного процесу на *шлях*." msgid "" "Change the current working directory to the directory represented by the " "file descriptor *fd*. The descriptor must refer to an opened directory, not " "an open file. As of Python 3.3, this is equivalent to ``os.chdir(fd)``." msgstr "" +"Змініть поточний робочий каталог на каталог, представлений дескриптором " +"файлу *fd*. Дескриптор має посилатися на відкритий каталог, а не на " +"відкритий файл. Починаючи з Python 3.3, це еквівалентно ``os.chdir(fd)``." msgid "Return a string representing the current working directory." -msgstr "" +msgstr "Повертає рядок, що представляє поточний робочий каталог." msgid "Return a bytestring representing the current working directory." -msgstr "" +msgstr "Повертає байтовий рядок, що представляє поточний робочий каталог." msgid "" "The function now uses the UTF-8 encoding on Windows, rather than the ANSI " "code page: see :pep:`529` for the rationale. The function is no longer " "deprecated on Windows." msgstr "" +"Функція тепер використовує кодування UTF-8 у Windows, а не кодову сторінку " +"ANSI: див. :pep:`529` для обґрунтування. Ця функція більше не підтримується " +"в Windows." msgid "" "Set the flags of *path* to the numeric *flags*, like :func:`chflags`, but do " "not follow symbolic links. As of Python 3.3, this is equivalent to ``os." "chflags(path, flags, follow_symlinks=False)``." msgstr "" +"Встановіть прапорці *path* на числові *flags*, наприклад :func:`chflags`, " +"але не переходьте за символічними посиланнями. Починаючи з Python 3.3, це " +"еквівалентно ``os.chflags(path, flags, follow_symlinks=False)``." msgid "" "Change the mode of *path* to the numeric *mode*. If path is a symlink, this " @@ -1948,20 +2720,30 @@ msgid "" "for possible values of *mode*. As of Python 3.3, this is equivalent to ``os." "chmod(path, mode, follow_symlinks=False)``." msgstr "" +"Змініть режим *шляху* на числовий *режим*. Якщо шлях є символічним " +"посиланням, це впливає на символічне посилання, а не на ціль. Перегляньте " +"документацію для :func:`chmod`, щоб дізнатися про можливі значення *mode*. " +"Починаючи з Python 3.3, це еквівалентно ``os.chmod(path, mode, " +"follow_symlinks=False)``." msgid "" "``lchmod()`` is not part of POSIX, but Unix implementations may have it if " "changing the mode of symbolic links is supported." msgstr "" +"``lchmod()`` не является частью POSIX, но реализации Unix могут иметь его, " +"если поддерживается изменение режима символических ссылок." msgid "" "Change the owner and group id of *path* to the numeric *uid* and *gid*. " "This function will not follow symbolic links. As of Python 3.3, this is " "equivalent to ``os.chown(path, uid, gid, follow_symlinks=False)``." msgstr "" +"Змініть власника та ідентифікатор групи *path* на числові *uid* і *gid*. Ця " +"функція не переходитиме за символічними посиланнями. Починаючи з Python 3.3, " +"це еквівалентно ``os.chown(path, uid, gid, follow_symlinks=False)``." msgid "Create a hard link pointing to *src* named *dst*." -msgstr "" +msgstr "Створіть жорстке посилання на *src* під назвою *dst*." msgid "" "This function can support specifying *src_dir_fd* and/or *dst_dir_fd* to " @@ -1973,15 +2755,17 @@ msgid "" "Raises an :ref:`auditing event ` ``os.link`` with arguments " "``src``, ``dst``, ``src_dir_fd``, ``dst_dir_fd``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.link`` з аргументами ``src``, " +"``dst``, ``src_dir_fd``, ``dst_dir_fd``." msgid "Added Windows support." msgstr "Dodano wsparcie dla WIndowsa." msgid "Added the *src_dir_fd*, *dst_dir_fd*, and *follow_symlinks* parameters." -msgstr "" +msgstr "Добавлены параметры *src_dir_fd*, *dst_dir_fd* и *follow_symlinks*." msgid "Accepts a :term:`path-like object` for *src* and *dst*." -msgstr "" +msgstr "Приймає :term:`path-like object` для *src* і *dst*." msgid "" "Return a list containing the names of the entries in the directory given by " @@ -1990,6 +2774,11 @@ msgid "" "file is removed from or added to the directory during the call of this " "function, whether a name for that file be included is unspecified." msgstr "" +"Повертає список, що містить імена записів у каталозі, заданому *шляхом*. " +"Список розташований у довільному порядку й не містить спеціальних записів " +"``'.''`` і ``'..''``, навіть якщо вони присутні в каталозі. Якщо файл " +"видалено з каталогу або додано до нього під час виклику цієї функції, не " +"вказано, чи буде включено ім’я цього файлу." msgid "" "*path* may be a :term:`path-like object`. If *path* is of type ``bytes`` " @@ -1997,33 +2786,45 @@ msgid "" "filenames returned will also be of type ``bytes``; in all other " "circumstances, they will be of type ``str``." msgstr "" +"*path* може бути :term:`path-like object`. Якщо *path* має тип ``bytes`` " +"(прямо чи опосередковано через інтерфейс :class:`PathLike`), повернуті імена " +"файлів також будуть типу ``bytes``; за всіх інших обставин вони будуть типу " +"``str``." msgid "" "This function can also support :ref:`specifying a file descriptor " "`; the file descriptor must refer to a directory." msgstr "" +"Ця функція також може підтримувати :ref:`зазначення файлового дескриптора " +"`; дескриптор файлу повинен посилатися на каталог." msgid "" "Raises an :ref:`auditing event ` ``os.listdir`` with argument " "``path``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.listdir`` з аргументом ``path``." msgid "To encode ``str`` filenames to ``bytes``, use :func:`~os.fsencode`." msgstr "" +"Щоб закодувати ``str`` імена файлів у ``байти``, використовуйте :func:`~os." +"fsencode`." msgid "" "The :func:`scandir` function returns directory entries along with file " "attribute information, giving better performance for many common use cases." msgstr "" +"Функція :func:`scandir` повертає записи каталогу разом із інформацією про " +"атрибути файлів, забезпечуючи кращу продуктивність у багатьох поширених " +"випадках використання." msgid "The *path* parameter became optional." -msgstr "" +msgstr "Параметр *path* став необов'язковим." msgid "Added support for specifying *path* as an open file descriptor." -msgstr "" +msgstr "Додано підтримку вказівки *шляху* як дескриптора відкритого файлу." msgid "Return a list containing the names of drives on a Windows system." -msgstr "" +msgstr "Возвращает список, содержащий имена дисков в системе Windows." msgid "" "A drive name typically looks like ``'C:\\\\'``. Not every drive name will be " @@ -2031,18 +2832,26 @@ msgid "" "reasons, including permissions, network connectivity or missing media. This " "function does not test for access." msgstr "" +"Имя диска обычно выглядит так ``'C:\\\\'`` . Не каждое имя диска будет " +"связано с томом, а некоторые могут быть недоступны по ряду причин, включая " +"разрешения, сетевое подключение или отсутствие носителя. Эта функция не " +"проверяет доступ." msgid "May raise :exc:`OSError` if an error occurs collecting the drive names." msgstr "" +"Может поднять :exc:`OSError` если возникает ошибка при сборе имен дисков." msgid "" "Raises an :ref:`auditing event ` ``os.listdrives`` with no " "arguments." msgstr "" +"Вызывает :ref:`событие аудита\n" +"` ``os.listdrives`` без каких-либо аргументов." msgid "" "Return a list containing the mount points for a volume on a Windows system." msgstr "" +"Возвращает список, содержащий точки монтирования тома в системе Windows." msgid "" "*volume* must be represented as a GUID path, like those returned by :func:" @@ -2050,24 +2859,34 @@ msgid "" "all. In the latter case, the list will be empty. Mount points that are not " "associated with a volume will not be returned by this function." msgstr "" +"*volume* должен быть представлен как путь GUID, например, возвращаемый :func:" +"`os.listvolumes` . Тома могут быть смонтированы в нескольких местах или не " +"смонтированы вообще. В последнем случае список будет пуст. Точки " +"монтирования, не связанные с томом, не будут возвращены этой функцией." msgid "" "The mount points return by this function will be absolute paths, and may be " "longer than the drive name." msgstr "" +"Точки монтирования, возвращаемые этой функцией, будут абсолютными путями и " +"могут быть длиннее имени диска." msgid "" "Raises :exc:`OSError` if the volume is not recognized or if an error occurs " "collecting the paths." msgstr "" +"Поднимает :exc:`OSError` если том не распознан или возникла ошибка при сборе " +"путей." msgid "" "Raises an :ref:`auditing event ` ``os.listmounts`` with argument " "``volume``." msgstr "" +"Вызывает :ref:`событие аудита\n" +"` ``os.listmounts`` с аргументом ``объем`` ." msgid "Return a list containing the volumes in the system." -msgstr "" +msgstr "Возвращает список, содержащий тома в системе." msgid "" "Volumes are typically represented as a GUID path that looks like ``\\\\?" @@ -2076,38 +2895,55 @@ msgid "" "generally not familiar with them, and so the recommended use of this " "function is to retrieve mount points using :func:`os.listmounts`." msgstr "" +"Тома обычно представляются как путь GUID, который выглядит так: ``\\\\?" +"\\Volume{xxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\\`` . Доступ к файлам " +"обычно можно получить через путь GUID, если позволяют разрешения. Однако " +"пользователи, как правило, с ними не знакомы, поэтому рекомендуется " +"использовать эту функцию для получения точек монтирования с помощью :func:" +"`os.listmounts` ." msgid "May raise :exc:`OSError` if an error occurs collecting the volumes." -msgstr "" +msgstr "Может поднять :exc:`OSError` если возникает ошибка при сборе томов." msgid "" "Raises an :ref:`auditing event ` ``os.listvolumes`` with no " "arguments." msgstr "" +"Вызывает :ref:`событие аудита\n" +"` ``os.listvolumes`` без каких-либо аргументов." msgid "" "Perform the equivalent of an :c:func:`!lstat` system call on the given path. " "Similar to :func:`~os.stat`, but does not follow symbolic links. Return a :" "class:`stat_result` object." msgstr "" +"Выполните эквивалент :c:func:`!lstat` системный вызов по заданному пути. " +"Похоже на: :func:`~os.stat` , но не следует по символическим ссылкам. " +"Вернуть :class:`stat_result` объект." msgid "" "On platforms that do not support symbolic links, this is an alias for :func:" "`~os.stat`." msgstr "" +"На платформах, які не підтримують символічні посилання, це псевдонім для :" +"func:`~os.stat`." msgid "" "As of Python 3.3, this is equivalent to ``os.stat(path, dir_fd=dir_fd, " "follow_symlinks=False)``." msgstr "" +"Починаючи з Python 3.3, це еквівалентно ``os.stat(path, dir_fd=dir_fd, " +"follow_symlinks=False)``." msgid "" "This function can also support :ref:`paths relative to directory descriptors " "`." msgstr "" +"Ця функція також може підтримувати :ref:`шляхи відносно дескрипторів " +"каталогу `." msgid "Added support for Windows 6.0 (Vista) symbolic links." -msgstr "" +msgstr "Windows 6.0 (Vista) sembolik bağlantıları için destek eklendi." msgid "" "On Windows, now opens reparse points that represent another path (name " @@ -2115,15 +2951,21 @@ msgid "" "of reparse points are resolved by the operating system as for :func:`~os." "stat`." msgstr "" +"У Windows тепер відкриваються точки повторного аналізу, які представляють " +"інший шлях (сурогати імен), включаючи символічні посилання та з’єднання " +"каталогів. Інші типи точок повторного аналізу вирішуються операційною " +"системою як для :func:`~os.stat`." msgid "Create a directory named *path* with numeric mode *mode*." -msgstr "" +msgstr "Створіть каталог під назвою *path* із числовим режимом *mode*." msgid "" "If the directory already exists, :exc:`FileExistsError` is raised. If a " "parent directory in the path does not exist, :exc:`FileNotFoundError` is " "raised." msgstr "" +"Якщо каталог уже існує, виникає :exc:`FileExistsError`. Якщо батьківський " +"каталог у шляху не існує, виникає :exc:`FileNotFoundError`." msgid "" "On some systems, *mode* is ignored. Where it is used, the current umask " @@ -2132,30 +2974,45 @@ msgid "" "platform-dependent. On some platforms, they are ignored and you should " "call :func:`chmod` explicitly to set them." msgstr "" +"У деяких системах *режим* ігнорується. Там, де воно використовується, " +"поточне значення umask спочатку маскується. Якщо встановлено інші біти, ніж " +"останні 9 (тобто останні 3 цифри вісімкового представлення *режиму*), їхнє " +"значення залежить від платформи. На деяких платформах вони ігноруються, і " +"вам слід явно викликати :func:`chmod`, щоб встановити їх." msgid "" "On Windows, a *mode* of ``0o700`` is specifically handled to apply access " "control to the new directory such that only the current user and " "administrators have access. Other values of *mode* are ignored." msgstr "" +"В Windows *режим* ``0o700`` специально обрабатывается для применения " +"контроля доступа к новому каталогу, чтобы доступ имели только текущий " +"пользователь и администраторы. Другие значения *mode* игнорируются." msgid "" "It is also possible to create temporary directories; see the :mod:`tempfile` " "module's :func:`tempfile.mkdtemp` function." msgstr "" +"Також є можливість створювати тимчасові каталоги; подивіться функцію :func:" +"`tempfile.mkdtemp` модуля :mod:`tempfile`." msgid "" "Raises an :ref:`auditing event ` ``os.mkdir`` with arguments " "``path``, ``mode``, ``dir_fd``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.mkdir`` з аргументами ``path``, " +"``mode``, ``dir_fd``." msgid "Windows now handles a *mode* of ``0o700``." -msgstr "" +msgstr "Windows теперь поддерживает *режим* ``0o700`` ." msgid "" "Recursive directory creation function. Like :func:`mkdir`, but makes all " "intermediate-level directories needed to contain the leaf directory." msgstr "" +"Функція рекурсивного створення каталогу. Подібно до :func:`mkdir`, але " +"створює всі каталоги середнього рівня, необхідні для того, щоб містити " +"кінцевий каталог." msgid "" "The *mode* parameter is passed to :func:`mkdir` for creating the leaf " @@ -2164,22 +3021,32 @@ msgid "" "directories you can set the umask before invoking :func:`makedirs`. The " "file permission bits of existing parent directories are not changed." msgstr "" +"Параметр *mode* передается в :func:`mkdir` для создания листового каталога; " +"см. :ref:`описание mkdir()\n" +"` для того, как это интерпретируется. Чтобы установить биты разрешений " +"файлов для любых вновь созданных родительских каталогов, вы можете " +"установить umask перед вызовом. :func:`madeirs` . Биты прав доступа к файлам " +"существующих родительских каталогов не изменяются." msgid "" "If *exist_ok* is ``False`` (the default), a :exc:`FileExistsError` is raised " "if the target directory already exists." msgstr "" +"Если *exist_ok* ``Ложь`` (по умолчанию), а :exc:`FileExistsError` возникает, " +"если целевой каталог уже существует." msgid "" ":func:`makedirs` will become confused if the path elements to create " "include :data:`pardir` (eg. \"..\" on UNIX systems)." msgstr "" +":func:`makedirs` заплутає, якщо елементи шляху, які потрібно створити, " +"включають :data:`pardir` (наприклад, \"..\" у системах UNIX)." msgid "This function handles UNC paths correctly." -msgstr "" +msgstr "Ця функція правильно обробляє шляхи UNC." msgid "Added the *exist_ok* parameter." -msgstr "" +msgstr "Добавлен параметр *exist_ok*." msgid "" "Before Python 3.4.1, if *exist_ok* was ``True`` and the directory existed, :" @@ -2187,16 +3054,24 @@ msgid "" "of the existing directory. Since this behavior was impossible to implement " "safely, it was removed in Python 3.4.1. See :issue:`21082`." msgstr "" +"До Python 3.4.1, якщо *exist_ok* було ``True`` і каталог існував, :func:" +"`makedirs` все одно викликав помилку, якщо *mode* не відповідав режиму " +"існуючого каталогу. Оскільки таку поведінку було неможливо реалізувати " +"безпечно, її було видалено в Python 3.4.1. Див. :issue:`21082`." msgid "" "The *mode* argument no longer affects the file permission bits of newly " "created intermediate-level directories." msgstr "" +"Аргумент *mode* больше не влияет на биты разрешений файлов вновь созданных " +"каталогов промежуточного уровня." msgid "" "Create a FIFO (a named pipe) named *path* with numeric mode *mode*. The " "current umask value is first masked out from the mode." msgstr "" +"Створіть FIFO (іменований канал) під назвою *path* із числовим режимом " +"*mode*. Поточне значення umask спочатку маскується з режиму." msgid "" "FIFOs are pipes that can be accessed like regular files. FIFOs exist until " @@ -2206,6 +3081,12 @@ msgid "" "Note that :func:`mkfifo` doesn't open the FIFO --- it just creates the " "rendezvous point." msgstr "" +"FIFO — це канали, до яких можна отримати доступ, як до звичайних файлів. " +"FIFO існують, доки їх не буде видалено (наприклад, за допомогою :func:`os." +"unlink`). Зазвичай FIFO використовуються як місце зустрічі між процесами " +"типу \"клієнт\" і \"сервер\": сервер відкриває FIFO для читання, а клієнт " +"відкриває його для запису. Зверніть увагу, що :func:`mkfifo` не відкриває " +"FIFO --- він лише створює точку зустрічі." msgid "" "Create a filesystem node (file, device special file or named pipe) named " @@ -2216,19 +3097,33 @@ msgid "" "*device* defines the newly created device special file (probably using :func:" "`os.makedev`), otherwise it is ignored." msgstr "" +"Створіть вузол файлової системи (файл, спеціальний файл пристрою або " +"іменований канал) під назвою *шлях*. *mode* визначає як дозволи для " +"використання, так і тип вузла, який буде створено, поєднуючись (побітове " +"АБО) з одним із ``stat.S_IFREG``, ``stat.S_IFCHR``, ``stat.S_IFBLK`` і " +"``stat.S_IFIFO`` (ці константи доступні в :mod:`stat`). Для ``stat.S_IFCHR`` " +"і ``stat.S_IFBLK`` *device* визначає щойно створений спеціальний файл " +"пристрою (імовірно, використовуючи :func:`os.makedev`), інакше він " +"ігнорується." msgid "" "Extract the device major number from a raw device number (usually the :attr:" "`st_dev` or :attr:`st_rdev` field from :c:struct:`stat`)." msgstr "" +"Извлеките основной номер устройства из необработанного номера устройства " +"(обычно :attr:`st_dev` или :attr:`st_rdev` поле из :c:struct:`stat` )." msgid "" "Extract the device minor number from a raw device number (usually the :attr:" "`st_dev` or :attr:`st_rdev` field from :c:struct:`stat`)." msgstr "" +"Извлеките младший номер устройства из необработанного номера устройства " +"(обычно :attr:`st_dev` или :attr:`st_rdev` поле из :c:struct:`stat` )." msgid "Compose a raw device number from the major and minor device numbers." msgstr "" +"Складіть необроблений номер пристрою з головного та другорядного номерів " +"пристроїв." msgid "" "Return system configuration information relevant to a named file. *name* " @@ -2239,16 +3134,28 @@ msgid "" "given in the ``pathconf_names`` dictionary. For configuration variables not " "included in that mapping, passing an integer for *name* is also accepted." msgstr "" +"Повертає інформацію про конфігурацію системи, що стосується названого файлу. " +"*name* вказує значення конфігурації для отримання; це може бути рядок, який " +"є назвою визначеного системного значення; ці назви вказані в ряді стандартів " +"(POSIX.1, Unix 95, Unix 98 та інші). Деякі платформи також визначають " +"додаткові імена. Імена, відомі головній операційній системі, наведено у " +"словнику ``pathconf_names``. Для змінних конфігурації, не включених до цього " +"відображення, також допускається передача цілого числа для *name*." msgid "" "This function can support :ref:`specifying a file descriptor `." msgstr "" +"Ця функція може підтримувати :ref:`зазначення файлового дескриптора " +"`." msgid "" "Dictionary mapping names accepted by :func:`pathconf` and :func:`fpathconf` " "to the integer values defined for those names by the host operating system. " "This can be used to determine the set of names known to the system." msgstr "" +"Словник зіставляє імена, прийняті :func:`pathconf` і :func:`fpathconf` до " +"цілих значень, визначених для цих імен головною операційною системою. Це " +"можна використовувати для визначення набору імен, відомих системі." msgid "" "Return a string representing the path to which the symbolic link points. " @@ -2256,6 +3163,10 @@ msgid "" "relative, it may be converted to an absolute pathname using ``os.path." "join(os.path.dirname(path), result)``." msgstr "" +"Повертає рядок, що представляє шлях, на який вказує символічне посилання. " +"Результатом може бути абсолютний або відносний шлях; якщо він відносний, " +"його можна перетворити на абсолютний шлях за допомогою ``os.path.join(os." +"path.dirname(path), result)``." msgid "" "If the *path* is a string object (directly or indirectly through a :class:" @@ -2263,34 +3174,49 @@ msgid "" "may raise a UnicodeDecodeError. If the *path* is a bytes object (direct or " "indirectly), the result will be a bytes object." msgstr "" +"Якщо *шлях* є рядковим об’єктом (прямо чи опосередковано через інтерфейс :" +"class:`PathLike`), результат також буде рядковим об’єктом, і виклик може " +"викликати UnicodeDecodeError. Якщо *шлях* є об’єктом bytes (прямим чи " +"опосередкованим), результатом буде об’єкт bytes." msgid "" "When trying to resolve a path that may contain links, use :func:`~os.path." "realpath` to properly handle recursion and platform differences." msgstr "" +"Під час спроби визначити шлях, який може містити посилання, використовуйте :" +"func:`~os.path.realpath` для належної обробки рекурсії та відмінностей " +"платформи." msgid "Accepts a :term:`path-like object` on Unix." -msgstr "" +msgstr "Приймає :term:`path-like object` в Unix." msgid "Accepts a :term:`path-like object` and a bytes object on Windows." -msgstr "" +msgstr "Приймає :term:`path-like object` і об’єкт bytes у Windows." msgid "" "Added support for directory junctions, and changed to return the " "substitution path (which typically includes ``\\\\?\\`` prefix) rather than " "the optional \"print name\" field that was previously returned." msgstr "" +"Додано підтримку для з’єднань каталогів і змінено, щоб повертати шлях " +"підстановки (який зазвичай включає префікс ``\\\\?\\``), а не необов’язкове " +"поле \"назви для друку\", яке поверталося раніше." msgid "" "Remove (delete) the file *path*. If *path* is a directory, an :exc:" "`OSError` is raised. Use :func:`rmdir` to remove directories. If the file " "does not exist, a :exc:`FileNotFoundError` is raised." msgstr "" +"Удалить (удалить) файл *путь*. Если *path* — это каталог, :exc:`OSError` " +"поднят. Использовать :func:`rmdir` удалить каталоги. Если файл не " +"существует, :exc:`FileNotFoundError` поднят." msgid "" "This function can support :ref:`paths relative to directory descriptors " "`." msgstr "" +"Ця функція може підтримувати :ref:`шляхи відносно дескрипторів каталогу " +"`." msgid "" "On Windows, attempting to remove a file that is in use causes an exception " @@ -2298,14 +3224,19 @@ msgid "" "allocated to the file is not made available until the original file is no " "longer in use." msgstr "" +"У Windows спроба видалити файл, який використовується, викликає виняток; в " +"Unix запис каталогу видаляється, але сховище, виділене для файлу, не стає " +"доступним, доки оригінальний файл більше не буде використовуватися." msgid "This function is semantically identical to :func:`unlink`." -msgstr "" +msgstr "Ця функція семантично ідентична :func:`unlink`." msgid "" "Raises an :ref:`auditing event ` ``os.remove`` with arguments " "``path``, ``dir_fd``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.remove`` з аргументами " +"``path``, ``dir_fd``." msgid "" "Remove directories recursively. Works like :func:`rmdir` except that, if " @@ -2317,17 +3248,31 @@ msgid "" "and ``'foo'`` if they are empty. Raises :exc:`OSError` if the leaf directory " "could not be successfully removed." msgstr "" +"Видалити каталоги рекурсивно. Працює як :func:`rmdir`, за винятком того, що " +"якщо кінцевий каталог успішно видалено, :func:`removedirs` намагається " +"послідовно видалити кожен батьківський каталог, згаданий у *path*, доки не " +"виникне помилка (яка ігнорується, оскільки зазвичай означає, що батьківський " +"каталог не порожній). Наприклад, ``os.removedirs('foo/bar/baz')`` спочатку " +"видалить каталог ``'foo/bar/baz'``, а потім видалить ``'foo/bar'`` і " +"``'foo'``, якщо вони порожні. Викликає :exc:`OSError`, якщо кінцевий каталог " +"не вдалося успішно видалити." msgid "" "Rename the file or directory *src* to *dst*. If *dst* exists, the operation " "will fail with an :exc:`OSError` subclass in a number of cases:" msgstr "" +"Перейменуйте файл або каталог *src* на *dst*. Якщо *dst* існує, операція " +"буде невдалою з підкласом :exc:`OSError` у кількох випадках:" msgid "" "On Windows, if *dst* exists a :exc:`FileExistsError` is always raised. The " "operation may fail if *src* and *dst* are on different filesystems. Use :" "func:`shutil.move` to support moves to a different filesystem." msgstr "" +"В Windows, если *dst* существует :exc:`FileExistsError` всегда повышен. " +"Операция может завершиться неудачно, если *src* и *dst* находятся в разных " +"файловых системах. Использовать :func:`shutil.move` для поддержки перехода в " +"другую файловую систему." msgid "" "On Unix, if *src* is a file and *dst* is a directory or vice-versa, an :exc:" @@ -2339,24 +3284,38 @@ msgid "" "are on different filesystems. If successful, the renaming will be an atomic " "operation (this is a POSIX requirement)." msgstr "" +"В Unix, якщо *src* є файлом, а *dst* є каталогом або навпаки, виникне :exc:" +"`IsADirectoryError` або :exc:`NotADirectoryError` відповідно. Якщо обидва є " +"каталогами, а *dst* порожній, *dst* буде мовчки замінено. Якщо *dst* є " +"непорожнім каталогом, виникає :exc:`OSError`. Якщо обидва є файлами, *dst* " +"буде замінено мовчки, якщо користувач має дозвіл. Операція може завершитися " +"помилкою в деяких варіантах Unix, якщо *src* і *dst* знаходяться в різних " +"файлових системах. У разі успіху перейменування буде атомарною операцією (це " +"вимога POSIX)." msgid "" "This function can support specifying *src_dir_fd* and/or *dst_dir_fd* to " "supply :ref:`paths relative to directory descriptors `." msgstr "" +"Ця функція може підтримувати вказівку *src_dir_fd* та/або *dst_dir_fd* для " +"надання :ref:`шляхів відносно дескрипторів каталогу `." msgid "" "If you want cross-platform overwriting of the destination, use :func:" "`replace`." msgstr "" +"Якщо ви бажаєте перезаписати місце призначення на різних платформах, " +"використовуйте :func:`replace`." msgid "" "Raises an :ref:`auditing event ` ``os.rename`` with arguments " "``src``, ``dst``, ``src_dir_fd``, ``dst_dir_fd``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.rename`` з аргументами ``src``, " +"``dst``, ``src_dir_fd``, ``dst_dir_fd``." msgid "Added the *src_dir_fd* and *dst_dir_fd* parameters." -msgstr "" +msgstr "Добавлены параметры *src_dir_fd* и *dst_dir_fd*." msgid "" "Recursive directory or file renaming function. Works like :func:`rename`, " @@ -2365,14 +3324,22 @@ msgid "" "corresponding to rightmost path segments of the old name will be pruned away " "using :func:`removedirs`." msgstr "" +"Функція рекурсивного перейменування каталогу або файлу. Працює як :func:" +"`rename`, за винятком того, що спочатку намагаються створити будь-які " +"проміжні каталоги, необхідні для того, щоб зробити нове ім’я шляху " +"правильним. Після перейменування каталоги, які відповідають крайнім правим " +"сегментам шляху старої назви, будуть видалені за допомогою :func:" +"`removedirs`." msgid "" "This function can fail with the new directory structure made if you lack " "permissions needed to remove the leaf directory or file." msgstr "" +"Ця функція може вийти з ладу з новою структурою каталогів, якщо у вас немає " +"дозволів, необхідних для видалення кінцевого каталогу або файлу." msgid "Accepts a :term:`path-like object` for *old* and *new*." -msgstr "" +msgstr "Приймає :term:`path-like object` для *old* і *new*." msgid "" "Rename the file or directory *src* to *dst*. If *dst* is a non-empty " @@ -2381,6 +3348,11 @@ msgid "" "fail if *src* and *dst* are on different filesystems. If successful, the " "renaming will be an atomic operation (this is a POSIX requirement)." msgstr "" +"Перейменуйте файл або каталог *src* на *dst*. Якщо *dst* є непорожнім " +"каталогом, буде викликано :exc:`OSError`. Якщо *dst* існує і є файлом, його " +"буде замінено мовчки, якщо користувач має дозвіл. Операція може завершитися " +"помилкою, якщо *src* і *dst* знаходяться в різних файлових системах. У разі " +"успіху перейменування буде атомарною операцією (це вимога POSIX)." msgid "" "Remove (delete) the directory *path*. If the directory does not exist or is " @@ -2388,11 +3360,16 @@ msgid "" "respectively. In order to remove whole directory trees, :func:`shutil." "rmtree` can be used." msgstr "" +"Удалить (удалить) каталог *путь*. Если каталог не существует или не пуст, :" +"exc:`FileNotFoundError` или :exc:`OSError` соответственно повышается. Чтобы " +"удалить целые деревья каталогов, :func:`shutil.rmtree` можно использовать." msgid "" "Raises an :ref:`auditing event ` ``os.rmdir`` with arguments " "``path``, ``dir_fd``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.rmdir`` з аргументами ``path``, " +"``dir_fd``." msgid "" "Return an iterator of :class:`os.DirEntry` objects corresponding to the " @@ -2402,6 +3379,11 @@ msgid "" "creating the iterator, whether an entry for that file be included is " "unspecified." msgstr "" +"Повертає ітератор об’єктів :class:`os.DirEntry`, що відповідають записам у " +"каталозі, визначеному *path*. Записи надаються в довільному порядку, і " +"спеціальні записи ``'.'`` і ``'..'`` не включені. Якщо файл видалено з " +"каталогу або додано до нього після створення ітератора, чи буде включений " +"запис для цього файлу, не визначено." msgid "" "Using :func:`scandir` instead of :func:`listdir` can significantly increase " @@ -2413,6 +3395,15 @@ msgid "" "symbolic links; :func:`os.DirEntry.stat` always requires a system call on " "Unix but only requires one for symbolic links on Windows." msgstr "" +"Використання :func:`scandir` замість :func:`listdir` може значно підвищити " +"продуктивність коду, який також потребує інформації про тип файлу чи " +"атрибути файлу, оскільки об’єкти :class:`os.DirEntry` надають цю інформацію, " +"якщо операційна система надає під час сканування каталогу. Усі методи :class:" +"`os.DirEntry` можуть виконувати системний виклик, але :func:`~os.DirEntry." +"is_dir` і :func:`~os.DirEntry.is_file` зазвичай вимагають лише системного " +"виклику для символічних посилань; :func:`os.DirEntry.stat` завжди вимагає " +"системного виклику в Unix, але вимагає лише один для символічних посилань у " +"Windows." msgid "" "*path* may be a :term:`path-like object`. If *path* is of type ``bytes`` " @@ -2421,25 +3412,35 @@ msgid "" "each :class:`os.DirEntry` will be ``bytes``; in all other circumstances, " "they will be of type ``str``." msgstr "" +"*path* може бути :term:`path-like object`. Якщо *path* має тип ``bytes`` " +"(прямо чи опосередковано через інтерфейс :class:`PathLike`), тип :attr:`~os." +"DirEntry.name` і Атрибути :attr:`~os.DirEntry.path` кожного :class:`os." +"DirEntry` будуть ``bytes``; за всіх інших обставин вони будуть типу ``str``." msgid "" "Raises an :ref:`auditing event ` ``os.scandir`` with argument " "``path``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.scandir`` з аргументом ``path``." msgid "" "The :func:`scandir` iterator supports the :term:`context manager` protocol " "and has the following method:" msgstr "" +"Ітератор :func:`scandir` підтримує протокол :term:`context manager` і має " +"такий метод:" msgid "Close the iterator and free acquired resources." -msgstr "" +msgstr "Закрийте ітератор і звільніть отримані ресурси." msgid "" "This is called automatically when the iterator is exhausted or garbage " "collected, or when an error happens during iterating. However it is " "advisable to call it explicitly or use the :keyword:`with` statement." msgstr "" +"Це викликається автоматично, коли ітератор вичерпано або зібрано сміття, або " +"коли під час ітерації трапляється помилка. Однак бажано викликати його явно " +"або використовувати оператор :keyword:`with`." msgid "" "The following example shows a simple use of :func:`scandir` to display all " @@ -2447,6 +3448,10 @@ msgid "" "``'.'``. The ``entry.is_file()`` call will generally not make an additional " "system call::" msgstr "" +"У наступному прикладі показано просте використання :func:`scandir` для " +"відображення всіх файлів (за винятком каталогів) у заданому *шляху*, які не " +"починаються з ``'.'``. Виклик ``entry.is_file()`` зазвичай не здійснить " +"додатковий системний виклик:" msgid "" "with os.scandir(path) as it:\n" @@ -2454,6 +3459,10 @@ msgid "" " if not entry.name.startswith('.') and entry.is_file():\n" " print(entry.name)" msgstr "" +"with os.scandir(path) as it:\n" +" for entry in it:\n" +" if not entry.name.startswith('.') and entry.is_file():\n" +" print(entry.name)" msgid "" "On Unix-based systems, :func:`scandir` uses the system's `opendir() `_ and `FindNextFileW `_ functions." msgstr "" +"В системах на базе Unix :func:`скандир` использует системный `opendir() " +"`_ и " +"`readdir() `_ функции. В Windows он использует Win32 `FindFirstFileW " +"`_ и `НайтиСледующийФайлW `_ функции." msgid "" "Added support for the :term:`context manager` protocol and the :func:" @@ -2471,23 +3487,31 @@ msgid "" "nor explicitly closed a :exc:`ResourceWarning` will be emitted in its " "destructor." msgstr "" +"Добавлена ​​поддержка протокола :term:`context Manager` и :func:`~scandir." +"close` метод. Если :func:`скандир` итератор не исчерпан и не закрыт явно :" +"exc:`ResourceWarning` будет создан в его деструкторе." msgid "The function accepts a :term:`path-like object`." -msgstr "" +msgstr "Fungsi yang menerima sebuah :term:`path-like object`." msgid "Added support for :ref:`file descriptors ` on Unix." -msgstr "" +msgstr "Додано підтримку :ref:`дескрипторів файлів ` в Unix." msgid "" "Object yielded by :func:`scandir` to expose the file path and other file " "attributes of a directory entry." msgstr "" +"Об’єкт, створений :func:`scandir` для показу шляху до файлу та інших " +"атрибутів файлу в записі каталогу." msgid "" ":func:`scandir` will provide as much of this information as possible without " "making additional system calls. When a ``stat()`` or ``lstat()`` system call " "is made, the ``os.DirEntry`` object will cache the result." msgstr "" +":func:`scandir` надасть якомога більше цієї інформації без додаткових " +"системних викликів. Коли виконується системний виклик ``stat()`` або " +"``lstat()``, об'єкт ``os.DirEntry`` кешує результат." msgid "" "``os.DirEntry`` instances are not intended to be stored in long-lived data " @@ -2495,6 +3519,10 @@ msgid "" "elapsed since calling :func:`scandir`, call ``os.stat(entry.path)`` to fetch " "up-to-date information." msgstr "" +"Екземпляри ``os.DirEntry`` не призначені для зберігання в довгострокових " +"структурах даних; якщо ви знаєте, що метадані файлу змінилися, або якщо " +"після виклику :func:`scandir` минуло багато часу, викличте ``os.stat(entry." +"path)``, щоб отримати актуальну інформацію." msgid "" "Because the ``os.DirEntry`` methods can make operating system calls, they " @@ -2502,24 +3530,33 @@ msgid "" "errors, you can catch :exc:`OSError` when calling one of the ``os.DirEntry`` " "methods and handle as appropriate." msgstr "" +"Оскільки методи ``os.DirEntry`` можуть здійснювати виклики операційної " +"системи, вони також можуть викликати :exc:`OSError`. Якщо вам потрібен дуже " +"точний контроль над помилками, ви можете перехопити :exc:`OSError` під час " +"виклику одного з методів ``os.DirEntry`` і обробити відповідно." msgid "" "To be directly usable as a :term:`path-like object`, ``os.DirEntry`` " "implements the :class:`PathLike` interface." msgstr "" +"Для безпосереднього використання як :term:`path-like object`, ``os." +"DirEntry`` реалізує інтерфейс :class:`PathLike`." msgid "Attributes and methods on a ``os.DirEntry`` instance are as follows:" -msgstr "" +msgstr "Атрибути та методи екземпляра ``os.DirEntry`` такі:" msgid "" "The entry's base filename, relative to the :func:`scandir` *path* argument." -msgstr "" +msgstr "Базове ім’я файлу запису відносно аргументу *path* :func:`scandir`." msgid "" "The :attr:`name` attribute will be ``bytes`` if the :func:`scandir` *path* " "argument is of type ``bytes`` and ``str`` otherwise. Use :func:`~os." "fsdecode` to decode byte filenames." msgstr "" +"Атрибут :attr:`name` буде ``bytes``, якщо аргумент :func:`scandir` *path* " +"має тип ``bytes`` та ``str`` інакше. Використовуйте :func:`~os.fsdecode` для " +"декодування байтових імен файлів." msgid "" "The entry's full path name: equivalent to ``os.path.join(scandir_path, entry." @@ -2529,43 +3566,66 @@ msgid "" "`, the :attr:`path` attribute is the same as the :attr:`name` " "attribute." msgstr "" +"Повний шлях до запису: еквівалент ``os.path.join(scandir_path, entry." +"name)``, де *scandir_path* є аргументом :func:`scandir` *path*. Шлях є " +"абсолютним, лише якщо аргумент *path* :func:`scandir` був абсолютним. Якщо " +"аргумент :func:`scandir` *path* був :ref:`дескриптором файлу `, " +"атрибут :attr:`path` буде таким самим, як атрибут :attr:`name`." msgid "" "The :attr:`path` attribute will be ``bytes`` if the :func:`scandir` *path* " "argument is of type ``bytes`` and ``str`` otherwise. Use :func:`~os." "fsdecode` to decode byte filenames." msgstr "" +"Атрибут :attr:`path` матиме значення ``bytes``, якщо аргумент *path* :func:" +"`scandir` має тип ``bytes`` та ``str`` інакше. Використовуйте :func:`~os." +"fsdecode` для декодування байтових імен файлів." msgid "Return the inode number of the entry." -msgstr "" +msgstr "Повертає номер inode запису." msgid "" "The result is cached on the ``os.DirEntry`` object. Use ``os.stat(entry." "path, follow_symlinks=False).st_ino`` to fetch up-to-date information." msgstr "" +"Результат кешується в об’єкті ``os.DirEntry``. Використовуйте ``os." +"stat(entry.path, follow_symlinks=False).st_ino``, щоб отримати актуальну " +"інформацію." msgid "" "On the first, uncached call, a system call is required on Windows but not on " "Unix." msgstr "" +"İlk, önbelleğe alınmamış çağrıda, Windows'ta bir sistem çağrısı gerekir, " +"ancak Unix'te gerekli değildir." msgid "" "Return ``True`` if this entry is a directory or a symbolic link pointing to " "a directory; return ``False`` if the entry is or points to any other kind of " "file, or if it doesn't exist anymore." msgstr "" +"Повертає ``True``, якщо цей запис є каталогом або символічним посиланням, що " +"вказує на каталог; повертає ``False``, якщо запис є або вказує на будь-який " +"інший тип файлу, або якщо він більше не існує." msgid "" "If *follow_symlinks* is ``False``, return ``True`` only if this entry is a " "directory (without following symlinks); return ``False`` if the entry is any " "other kind of file or if it doesn't exist anymore." msgstr "" +"Якщо *follow_symlinks* має значення ``False``, повертає ``True``, лише якщо " +"цей запис є каталогом (без наступних символічних посилань); повертає " +"``False``, якщо запис є файлом будь-якого іншого типу або якщо він більше не " +"існує." msgid "" "The result is cached on the ``os.DirEntry`` object, with a separate cache " "for *follow_symlinks* ``True`` and ``False``. Call :func:`os.stat` along " "with :func:`stat.S_ISDIR` to fetch up-to-date information." msgstr "" +"Результат кешується в об’єкті ``os.DirEntry`` з окремим кешем для " +"*follow_symlinks* ``True`` і ``False``. Викличте :func:`os.stat` разом із :" +"func:`stat.S_ISDIR`, щоб отримати актуальну інформацію." msgid "" "On the first, uncached call, no system call is required in most cases. " @@ -2575,39 +3635,62 @@ msgid "" "system call will be required to follow the symlink unless *follow_symlinks* " "is ``False``." msgstr "" +"Під час першого некешованого виклику в більшості випадків системний виклик " +"не потрібен. Зокрема, для несимволічних посилань ні Windows, ні Unix не " +"потребують системного виклику, за винятком певних файлових систем Unix, " +"таких як мережеві файлові системи, які повертають ``dirent.d_type == " +"DT_UNKNOWN``. Якщо запис є символічним посиланням, для переходу за " +"символічним посиланням знадобиться системний виклик, якщо *follow_symlinks* " +"не має значення ``False``." msgid "" "This method can raise :exc:`OSError`, such as :exc:`PermissionError`, but :" "exc:`FileNotFoundError` is caught and not raised." msgstr "" +"Цей метод може викликати :exc:`OSError`, наприклад :exc:`PermissionError`, " +"але :exc:`FileNotFoundError` перехоплюється і не викликається." msgid "" "Return ``True`` if this entry is a file or a symbolic link pointing to a " "file; return ``False`` if the entry is or points to a directory or other non-" "file entry, or if it doesn't exist anymore." msgstr "" +"Повертає ``True``, якщо цей запис є файлом або символічним посиланням, що " +"вказує на файл; повертає ``False``, якщо запис є або вказує на каталог або " +"інший нефайловий запис, або якщо він більше не існує." msgid "" "If *follow_symlinks* is ``False``, return ``True`` only if this entry is a " "file (without following symlinks); return ``False`` if the entry is a " "directory or other non-file entry, or if it doesn't exist anymore." msgstr "" +"Якщо *follow_symlinks* має значення ``False``, повертає ``True``, лише якщо " +"цей запис є файлом (без наступних символічних посилань); повертає ``False``, " +"якщо запис є каталогом чи іншим записом, що не є файлом, або якщо він більше " +"не існує." msgid "" "The result is cached on the ``os.DirEntry`` object. Caching, system calls " "made, and exceptions raised are as per :func:`~os.DirEntry.is_dir`." msgstr "" +"Результат кешується в об’єкті ``os.DirEntry``. Кешування, системні виклики " +"та викликані винятки відповідають :func:`~os.DirEntry.is_dir`." msgid "" "Return ``True`` if this entry is a symbolic link (even if broken); return " "``False`` if the entry points to a directory or any kind of file, or if it " "doesn't exist anymore." msgstr "" +"Повертає ``True``, якщо цей запис є символічним посиланням (навіть якщо " +"пошкоджене); повертає ``False``, якщо запис вказує на каталог або будь-який " +"файл, або якщо він більше не існує." msgid "" "The result is cached on the ``os.DirEntry`` object. Call :func:`os.path." "islink` to fetch up-to-date information." msgstr "" +"Результат кешується в об’єкті ``os.DirEntry``. Викличте :func:`os.path." +"islink`, щоб отримати актуальну інформацію." msgid "" "On the first, uncached call, no system call is required in most cases. " @@ -2615,41 +3698,63 @@ msgid "" "certain Unix file systems, such as network file systems, that return " "``dirent.d_type == DT_UNKNOWN``." msgstr "" +"Під час першого некешованого виклику в більшості випадків системний виклик " +"не потрібен. Зокрема, ані Windows, ані Unix не потребують системного " +"виклику, за винятком певних файлових систем Unix, таких як мережеві файлові " +"системи, які повертають ``dirent.d_type == DT_UNKNOWN``." msgid "" "Return ``True`` if this entry is a junction (even if broken); return " "``False`` if the entry points to a regular directory, any kind of file, a " "symlink, or if it doesn't exist anymore." msgstr "" +"Возвращаться ``Правда`` если эта запись является перекрестком (даже если она " +"сломана); возвращаться ``Ложь`` если запись указывает на обычный каталог, " +"файл любого типа, символическую ссылку или он больше не существует." msgid "" "The result is cached on the ``os.DirEntry`` object. Call :func:`os.path." "isjunction` to fetch up-to-date information." msgstr "" +"Результат кэшируется на ``os.DirEntry`` объект. Вызов :func:`os.path." +"isjunction` для получения актуальной информации." msgid "" "Return a :class:`stat_result` object for this entry. This method follows " "symbolic links by default; to stat a symbolic link add the " "``follow_symlinks=False`` argument." msgstr "" +"Повернути об’єкт :class:`stat_result` для цього запису. Цей метод за " +"умовчанням слідує символічним посиланням; щоб стати символічним посиланням, " +"додайте аргумент ``follow_symlinks=False``." msgid "" "On Unix, this method always requires a system call. On Windows, it only " "requires a system call if *follow_symlinks* is ``True`` and the entry is a " "reparse point (for example, a symbolic link or directory junction)." msgstr "" +"В Unix цей метод завжди потребує системного виклику. У Windows системний " +"виклик потрібен, лише якщо *follow_symlinks* має значення ``True`` і запис є " +"точкою повторного аналізу (наприклад, символічне посилання або з’єднання " +"каталогу)." msgid "" "On Windows, the ``st_ino``, ``st_dev`` and ``st_nlink`` attributes of the :" "class:`stat_result` are always set to zero. Call :func:`os.stat` to get " "these attributes." msgstr "" +"У Windows атрибути ``st_ino``, ``st_dev`` і ``st_nlink`` :class:" +"`stat_result` завжди встановлюються на нуль. Викличте :func:`os.stat`, щоб " +"отримати ці атрибути." msgid "" "The result is cached on the ``os.DirEntry`` object, with a separate cache " "for *follow_symlinks* ``True`` and ``False``. Call :func:`os.stat` to fetch " "up-to-date information." msgstr "" +"Результат кешується в об’єкті ``os.DirEntry`` з окремим кешем для " +"*follow_symlinks* ``True`` і ``False``. Зателефонуйте :func:`os.stat`, щоб " +"отримати актуальну інформацію." msgid "" "Note that there is a nice correspondence between several attributes and " @@ -2657,11 +3762,18 @@ msgid "" "``name`` attribute has the same meaning, as do the ``is_dir()``, " "``is_file()``, ``is_symlink()``, ``is_junction()``, and ``stat()`` methods." msgstr "" +"Обратите внимание, что между несколькими атрибутами и методами существует " +"хорошее соответствие. ``os.DirEntry`` и из :class:`pathlib.Path` . В " +"частности, ``имя`` атрибут имеет то же значение, что и атрибут " +"``is_dir()`` , ``is_file()`` , ``is_symlink()`` , ``is_junction()`` , и " +"``stat()`` методы." msgid "" "Added support for the :class:`~os.PathLike` interface. Added support for :" "class:`bytes` paths on Windows." msgstr "" +"Додано підтримку інтерфейсу :class:`~os.PathLike`. Додано підтримку шляхів :" +"class:`bytes` у Windows." msgid "" "The ``st_ctime`` attribute of a stat result is deprecated on Windows. The " @@ -2669,6 +3781,10 @@ msgid "" "future ``st_ctime`` may be changed to return zero or the metadata change " "time, if available." msgstr "" +"The ``st_ctime`` Атрибут результата статистики устарел в Windows. Время " +"создания файла правильно доступно как ``st_birthtime`` , и в будущем " +"``st_ctime`` может быть изменено, чтобы возвращать ноль или время изменения " +"метаданных, если оно доступно." msgid "" "Get the status of a file or a file descriptor. Perform the equivalent of a :" @@ -2677,16 +3793,25 @@ msgid "" "`PathLike` interface -- or as an open file descriptor. Return a :class:" "`stat_result` object." msgstr "" +"Отримати статус файлу або дескриптора файлу. Виконайте еквівалент системного " +"виклику :c:func:`stat` на вказаному шляху. *шлях* можна вказати як рядок або " +"байти — прямо чи опосередковано через інтерфейс :class:`PathLike` — або як " +"дескриптор відкритого файлу. Повертає об’єкт :class:`stat_result`." msgid "" "This function normally follows symlinks; to stat a symlink add the argument " "``follow_symlinks=False``, or use :func:`lstat`." msgstr "" +"Ця функція зазвичай слідує за символічними посиланнями; щоб стати " +"символічним посиланням, додайте аргумент ``follow_symlinks=False`` або " +"використовуйте :func:`lstat`." msgid "" "This function can support :ref:`specifying a file descriptor ` and :" "ref:`not following symlinks `." msgstr "" +"Ця функція може підтримувати :ref:`зазначення файлового дескриптора " +"` і :ref:`неперехід за символічними посиланнями `." msgid "" "On Windows, passing ``follow_symlinks=False`` will disable following all " @@ -2700,6 +3825,17 @@ msgid "" "func:`lstat` on the result. This does not apply to dangling symlinks or " "junction points, which will raise the usual exceptions." msgstr "" +"У Windows передача ``follow_symlinks=False`` вимкне відстеження всіх " +"сурогатних точок повторного аналізу імен, включаючи символічні посилання та " +"з’єднання каталогів. Інші типи точок повторного аналізу, які не схожі на " +"посилання або за якими операційна система не може слідувати, будуть відкриті " +"безпосередньо. Під час переходу за ланцюгом із кількох посилань це може " +"призвести до повернення оригінального посилання замість незв’язку, яке " +"перешкоджало повному обходу. Щоб отримати статистичні результати для " +"кінцевого шляху в цьому випадку, скористайтеся :func:`os.path.realpath` " +"функцією, щоб вирішити назву шляху, наскільки це можливо, і викликайте :func:" +"`lstat` для результату. Це не стосується висячих символічних посилань або " +"точок з’єднання, які призведуть до звичайних винятків." msgid "Example::" msgstr "Przykład::" @@ -2714,14 +3850,24 @@ msgid "" ">>> statinfo.st_size\n" "264" msgstr "" +">>> import os\n" +">>> statinfo = os.stat('somefile.txt')\n" +">>> statinfo\n" +"os.stat_result(st_mode=33188, st_ino=7876932, st_dev=234881026,\n" +"st_nlink=1, st_uid=501, st_gid=501, st_size=264, st_atime=1297230295,\n" +"st_mtime=1297230027, st_ctime=1297230027)\n" +">>> statinfo.st_size\n" +"264" msgid ":func:`fstat` and :func:`lstat` functions." -msgstr "" +msgstr "Функції :func:`fstat` і :func:`lstat`." msgid "" "Added the *dir_fd* and *follow_symlinks* parameters, specifying a file " "descriptor instead of a path." msgstr "" +"Добавлены параметры *dir_fd* и *follow_symlinks*, указывающие дескриптор " +"файла вместо пути." msgid "" "On Windows, all reparse points that can be resolved by the operating system " @@ -2731,98 +3877,125 @@ msgid "" "the original path as if ``follow_symlinks=False`` had been specified instead " "of raising an error." msgstr "" +"У Windows усі точки повторного аналізу, які може вирішити операційна " +"система, тепер відстежуються, а передача ``follow_symlinks=False`` вимикає " +"відстеження всіх сурогатних точок повторного аналізу імен. Якщо операційна " +"система досягає точки повторного аналізу, за якою вона не може слідувати, " +"*stat* тепер повертає інформацію для початкового шляху, як якщо б було " +"вказано ``follow_symlinks=False`` замість того, щоб викликати помилку." msgid "" "Object whose attributes correspond roughly to the members of the :c:struct:" "`stat` structure. It is used for the result of :func:`os.stat`, :func:`os." "fstat` and :func:`os.lstat`." msgstr "" +"Объект, атрибуты которого примерно соответствуют членам :c:struct:`stat` " +"структура. Используется для получения результата :func:`os.stat` , :func:`os." +"fstat` и :func:`os.lstat` ." msgid "Attributes:" -msgstr "" +msgstr "Öznitelikler:" msgid "File mode: file type and file mode bits (permissions)." -msgstr "" +msgstr "Öznitelikler:" msgid "" "Platform dependent, but if non-zero, uniquely identifies the file for a " "given value of ``st_dev``. Typically:" msgstr "" +"Залежить від платформи, але якщо не нуль, унікально ідентифікує файл для " +"заданого значення ``st_dev``. Зазвичай:" msgid "the inode number on Unix," -msgstr "" +msgstr "Unix'teki düğüm numarası," msgid "" "the `file index `_ on " "Windows" msgstr "" +"`індекс файлу `_ у Windows" msgid "Identifier of the device on which this file resides." -msgstr "" +msgstr "Ідентифікатор пристрою, на якому знаходиться цей файл." msgid "Number of hard links." -msgstr "" +msgstr "Кількість жорстких посилань." msgid "User identifier of the file owner." -msgstr "" +msgstr "Dosya sahibinin kullanıcı tanımlayıcısı." msgid "Group identifier of the file owner." -msgstr "" +msgstr "Груповий ідентифікатор власника файлу." msgid "" "Size of the file in bytes, if it is a regular file or a symbolic link. The " "size of a symbolic link is the length of the pathname it contains, without a " "terminating null byte." msgstr "" +"Розмір файлу в байтах, якщо це звичайний файл або символьне посилання. " +"Розмір символічного посилання - це довжина шляху, який воно містить, без " +"кінцевого нульового байта." msgid "Timestamps:" -msgstr "" +msgstr "Мітки часу:" msgid "Time of most recent access expressed in seconds." -msgstr "" +msgstr "Час останнього доступу, виражений у секундах." msgid "Time of most recent content modification expressed in seconds." -msgstr "" +msgstr "Час останньої зміни вмісту, виражений у секундах." msgid "Time of most recent metadata change expressed in seconds." -msgstr "" +msgstr "Время последнего изменения метаданных, выраженное в секундах." msgid "" "``st_ctime`` is deprecated on Windows. Use ``st_birthtime`` for the file " "creation time. In the future, ``st_ctime`` will contain the time of the most " "recent metadata change, as for other platforms." msgstr "" +"``st_ctime`` устарел в Windows. Использовать ``st_birthtime`` для времени " +"создания файла. В будущем, ``st_ctime`` будет содержать время последнего " +"изменения метаданных, как и для других платформ." msgid "Time of most recent access expressed in nanoseconds as an integer." -msgstr "" +msgstr "Час останнього доступу, виражений у наносекундах як ціле число." msgid "" "Time of most recent content modification expressed in nanoseconds as an " "integer." -msgstr "" +msgstr "Час останньої зміни вмісту, виражений у наносекундах як ціле число." msgid "" "Time of most recent metadata change expressed in nanoseconds as an integer." msgstr "" +"Время последнего изменения метаданных, выраженное в наносекундах как целое " +"число." msgid "" "``st_ctime_ns`` is deprecated on Windows. Use ``st_birthtime_ns`` for the " "file creation time. In the future, ``st_ctime`` will contain the time of the " "most recent metadata change, as for other platforms." msgstr "" +"``st_ctime_ns`` устарел в Windows. Использовать ``st_birthtime_ns`` для " +"времени создания файла. В будущем, ``st_ctime`` будет содержать время " +"последнего изменения метаданных, как и для других платформ." msgid "" "Time of file creation expressed in seconds. This attribute is not always " "available, and may raise :exc:`AttributeError`." msgstr "" +"Время создания файла выражается в секундах. Этот атрибут не всегда доступен " +"и может повысить :exc:`AttributeError` ." msgid "``st_birthtime`` is now available on Windows." -msgstr "" +msgstr "``st_birthtime`` теперь доступен в Windows." msgid "" "Time of file creation expressed in nanoseconds as an integer. This attribute " "is not always available, and may raise :exc:`AttributeError`." msgstr "" +"Время создания файла выражается в наносекундах целым числом. Этот атрибут не " +"всегда доступен и может повысить :exc:`AttributeError` ." msgid "" "The exact meaning and resolution of the :attr:`st_atime`, :attr:`st_mtime`, :" @@ -2832,6 +4005,12 @@ msgid "" "has only 1-day resolution. See your operating system documentation for " "details." msgstr "" +"Точный смысл и разрешение :attr:`st_atime` , :attr:`st_mtime` , :attr:" +"`st_ctime` и :attr:`st_birthtime` атрибуты зависят от операционной системы и " +"файловой системы. Например, в системах Windows, использующих файловые " +"системы FAT32, :attr:`st_mtime` имеет 2-секундное разрешение и :attr:" +"`st_atime` имеет только 1-дневное разрешение. Подробности смотрите в " +"документации к вашей операционной системе." msgid "" "Similarly, although :attr:`st_atime_ns`, :attr:`st_mtime_ns`, :attr:" @@ -2844,59 +4023,77 @@ msgid "" "`st_atime_ns`, :attr:`st_mtime_ns`, :attr:`st_ctime_ns` and :attr:" "`st_birthtime_ns`." msgstr "" +"Аналогично, хотя :attr:`st_atime_ns` , :attr:`st_mtime_ns` , :attr:" +"`st_ctime_ns` и :attr:`st_birthtime_ns` всегда выражаются в наносекундах, " +"многие системы не обеспечивают наносекундную точность. В системах, которые " +"обеспечивают наносекундную точность, объект с плавающей запятой, " +"используемый для хранения :attr:`st_atime` , :attr:`st_mtime` , :attr:" +"`st_ctime` и :attr:`st_birthtime` не может сохранить все это и поэтому будет " +"немного неточным. Если вам нужны точные временные метки, вы всегда должны " +"использовать :attr:`st_atime_ns` , :attr:`st_mtime_ns` , :attr:`st_ctime_ns` " +"и :attr:`st_birthtime_ns` ." msgid "" "On some Unix systems (such as Linux), the following attributes may also be " "available:" msgstr "" +"Bazı Unix sistemlerinde (Linux gibi), aşağıdaki öznitelikler de mevcuttur:" msgid "" "Number of 512-byte blocks allocated for file. This may be smaller than :attr:" "`st_size`/512 when the file has holes." msgstr "" +"Кількість 512-байтних блоків, виділених для файлу. Це може бути менше, ніж :" +"attr:`st_size`/512, якщо файл має отвори." msgid "" "\"Preferred\" blocksize for efficient file system I/O. Writing to a file in " "smaller chunks may cause an inefficient read-modify-rewrite." msgstr "" +"\"Бажаний\" розмір блоку для ефективного введення/виведення файлової " +"системи. Запис у файл меншими фрагментами може спричинити неефективне " +"читання-змінення-перезапис." msgid "Type of device if an inode device." -msgstr "" +msgstr "Тип пристрою, якщо пристрій inode." msgid "User defined flags for file." -msgstr "" +msgstr "Визначені користувачем позначки для файлу." msgid "" "On other Unix systems (such as FreeBSD), the following attributes may be " "available (but may be only filled out if root tries to use them):" msgstr "" +"Diğer Unix sistemlerinde (FreeBSD gibi), aşağıdaki öznitelikler mevcuttur " +"(ancak yalnızca kök bunları kullanmaya çalışırsa doldurulabilir):" msgid "File generation number." -msgstr "" +msgstr "Номер покоління файлу." msgid "" "On Solaris and derivatives, the following attributes may also be available:" -msgstr "" +msgstr "У Solaris і похідних також можуть бути доступні такі атрибути:" msgid "" "String that uniquely identifies the type of the filesystem that contains the " "file." msgstr "" +"Рядок, який однозначно визначає тип файлової системи, яка містить файл." msgid "On macOS systems, the following attributes may also be available:" -msgstr "" +msgstr "У системах macOS також можуть бути доступні такі атрибути:" msgid "Real size of the file." -msgstr "" +msgstr "Реальний розмір файлу." msgid "Creator of the file." -msgstr "" +msgstr "Творець файлу." msgid "File type." -msgstr "" +msgstr "Тип файлу." msgid "On Windows systems, the following attributes are also available:" -msgstr "" +msgstr "У системах Windows також доступні такі атрибути:" msgid "" "Windows file attributes: ``dwFileAttributes`` member of the " @@ -2904,6 +4101,10 @@ msgid "" "GetFileInformationByHandle`. See the :const:`!FILE_ATTRIBUTE_* ` constants in the :mod:`stat` module." msgstr "" +"Атрибуты файла Windows: ``dwFileAttributes`` член " +"``BY_HANDLE_FILE_INFORMATION`` структура, возвращаемая :c:func:`!" +"GetFileInformationByHandle` . См. :const:`!FILE_ATTRIBUTE_* ` константы в :mode:`состояние` модуль." msgid "" "When :attr:`st_file_attributes` has the :const:`~stat." @@ -2911,12 +4112,19 @@ msgid "" "the type of reparse point. See the :const:`IO_REPARSE_TAG_* ` constants in the :mod:`stat` module." msgstr "" +"Когда :attr:`st_file_attributes` имеет :const:`~stat." +"FILE_ATTRIBUTE_REPARSE_POINT` установлено, это поле содержит тег, " +"определяющий тип точки повторной обработки. См. :const:`IO_REPARSE_TAG_*. " +"` константы в :mode:`состояние` модуль." msgid "" "The standard module :mod:`stat` defines functions and constants that are " "useful for extracting information from a :c:struct:`stat` structure. (On " "Windows, some items are filled with dummy values.)" msgstr "" +"Стандартный модуль :mode:`состояние` определяет функции и константы, которые " +"полезны для извлечения информации из :c:struct:`stat` структура. (В Windows " +"некоторые элементы заполнены фиктивными значениями.)" msgid "" "For backward compatibility, a :class:`stat_result` instance is also " @@ -2928,40 +4136,61 @@ msgid "" "implementations. For compatibility with older Python versions, accessing :" "class:`stat_result` as a tuple always returns integers." msgstr "" +"Для обратной совместимости, :class:`stat_result` экземпляр также доступен в " +"виде кортежа, состоящего как минимум из 10 целых чисел, дающих наиболее " +"важные (и переносимые) члены :c:struct:`stat` структура, в порядке :attr:" +"`st_mode` , :attr:`st_ino` , :attr:`st_dev` , :attr:`st_nlink` , :attr:" +"`st_uid` , :attr:`st_gid` , :attr:`st_size` , :attr:`st_atime` , :attr:" +"`st_mtime` , :attr:`st_ctime` . В некоторых реализациях в конце могут быть " +"добавлены дополнительные элементы. Для совместимости со старыми версиями " +"Python откройте :class:`stat_result` поскольку кортеж всегда возвращает " +"целые числа." msgid "Windows now returns the file index as :attr:`st_ino` when available." msgstr "" +"Тепер Windows повертає індекс файлу як :attr:`st_ino`, якщо він доступний." msgid "Added the :attr:`st_fstype` member to Solaris/derivatives." -msgstr "" +msgstr "Додано член :attr:`st_fstype` до Solaris/derivatives." msgid "Added the :attr:`st_reparse_tag` member on Windows." -msgstr "" +msgstr "Додано член :attr:`st_reparse_tag` у Windows." msgid "" "On Windows, the :attr:`st_mode` member now identifies special files as :" "const:`S_IFCHR`, :const:`S_IFIFO` or :const:`S_IFBLK` as appropriate." msgstr "" +"У Windows член :attr:`st_mode` тепер ідентифікує спеціальні файли як :const:" +"`S_IFCHR`, :const:`S_IFIFO` або :const:`S_IFBLK` відповідно." msgid "" "On Windows, :attr:`st_ctime` is deprecated. Eventually, it will contain the " "last metadata change time, for consistency with other platforms, but for now " "still contains creation time. Use :attr:`st_birthtime` for the creation time." msgstr "" +"В Windows, :attr:`st_ctime` устарел. В конечном итоге он будет содержать " +"время последнего изменения метаданных для согласованности с другими " +"платформами, но на данный момент все еще содержит время создания. " +"Использовать :attr:`st_birthtime` за время создания." msgid "" "On Windows, :attr:`st_ino` may now be up to 128 bits, depending on the file " "system. Previously it would not be above 64 bits, and larger file " "identifiers would be arbitrarily packed." msgstr "" +"В Windows, :attr:`st_ino` теперь может достигать 128 бит, в зависимости от " +"файловой системы. Раньше его длина не превышала 64 бит, а более крупные " +"идентификаторы файлов упаковывались произвольно." msgid "" "On Windows, :attr:`st_rdev` no longer returns a value. Previously it would " "contain the same as :attr:`st_dev`, which was incorrect." msgstr "" +"В Windows, :attr:`st_rdev` больше не возвращает значение. Раньше он содержал " +"то же самое, что и :attr:`st_dev` , что было неверно." msgid "Added the :attr:`st_birthtime` member on Windows." -msgstr "" +msgstr "Добавлен :attr:`st_birthtime` участник в Windows." msgid "" "Perform a :c:func:`!statvfs` system call on the given path. The return " @@ -2971,6 +4200,12 @@ msgid "" "`f_bfree`, :attr:`f_bavail`, :attr:`f_files`, :attr:`f_ffree`, :attr:" "`f_favail`, :attr:`f_flag`, :attr:`f_namemax`, :attr:`f_fsid`." msgstr "" +"Выполните :c:func:`!statvfs` системный вызов по заданному пути. Возвращаемое " +"значение — это объект, атрибуты которого описывают файловую систему по " +"заданному пути и соответствуют членам :c:struct:`statvfs` структуру, а " +"именно: :attr:`f_bsize` , :attr:`f_frsize` , :attr:`f_blocks` , :attr:" +"`f_bfree` , :attr:`f_bavail` , :attr:`f_files` , :attr:`f_ffree` , :attr:" +"`f_favail` , :attr:`f_flag` , :attr:`f_namemax` , :attr:`f_fsid` ." msgid "" "Two module-level constants are defined for the :attr:`f_flag` attribute's " @@ -2978,6 +4213,10 @@ msgid "" "only, and if :const:`ST_NOSUID` is set, the semantics of setuid/setgid bits " "are disabled or not supported." msgstr "" +"Для бітових прапорів атрибута :attr:`f_flag` визначено дві константи рівня " +"модуля: якщо встановлено :const:`ST_RDONLY`, файлова система монтується лише " +"для читання, а якщо встановлено :const:`ST_NOSUID`, семантика бітів setuid/" +"setgid вимкнена або не підтримується." msgid "" "Additional module-level constants are defined for GNU/glibc based systems. " @@ -2990,9 +4229,18 @@ msgid "" "not update directory access times), :const:`ST_RELATIME` (update atime " "relative to mtime/ctime)." msgstr "" +"Для систем на основі GNU/glibc визначено додаткові константи рівня модуля. " +"Це :const:`ST_NODEV` (заборона доступу до спеціальних файлів пристрою), :" +"const:`ST_NOEXEC` (заборона виконання програми), :const:`ST_SYNCHRONOUS` " +"(записи синхронізуються одночасно), :const:`ST_MANDLOCK` ( дозволити " +"обов’язкове блокування FS), :const:`ST_WRITE` (запис у файл/каталог/символне " +"посилання), :const:`ST_APPEND` (файл лише для додавання), :const:" +"`ST_IMMUTABLE` (незмінний файл), :const:`ST_NOATIME` (не оновлювати час " +"доступу), :const:`ST_NODIRATIME` (не оновлювати час доступу до каталогу), :" +"const:`ST_RELATIME` (оновлювати atime відносно mtime/ctime)." msgid "The :const:`ST_RDONLY` and :const:`ST_NOSUID` constants were added." -msgstr "" +msgstr "Додано константи :const:`ST_RDONLY` і :const:`ST_NOSUID`." msgid "" "The :const:`ST_NODEV`, :const:`ST_NOEXEC`, :const:`ST_SYNCHRONOUS`, :const:" @@ -3000,9 +4248,13 @@ msgid "" "`ST_IMMUTABLE`, :const:`ST_NOATIME`, :const:`ST_NODIRATIME`, and :const:" "`ST_RELATIME` constants were added." msgstr "" +":const:`ST_NODEV`, :const:`ST_NOEXEC`, :const:`ST_SYNCHRONOUS`, :const:" +"`ST_MANDLOCK`, :const:`ST_WRITE`, :const:`ST_APPEND`, :const:`ST_IMMUTABLE`, " +"Додано константи :const:`ST_NOATIME`, :const:`ST_NODIRATIME` і :const:" +"`ST_RELATIME`." msgid "Added the :attr:`f_fsid` attribute." -msgstr "" +msgstr "Добавлен :attr:`f_fsid` атрибут." msgid "" "A :class:`set` object indicating which functions in the :mod:`os` module " @@ -3014,6 +4266,14 @@ msgid "" "exception if the functionality is used when it's not locally available. " "(Specifying ``None`` for *dir_fd* is always supported on all platforms.)" msgstr "" +"Об’єкт :class:`set`, що вказує, які функції в модулі :mod:`os` приймають " +"дескриптор відкритого файлу для свого параметра *dir_fd*. Різні платформи " +"надають різні функції, а основні функції, які Python використовує для " +"реалізації параметра *dir_fd*, доступні не на всіх платформах, які підтримує " +"Python. Заради узгодженості функції, які можуть підтримувати *dir_fd*, " +"завжди дозволяють вказати параметр, але створять виняток, якщо функція " +"використовується, коли вона недоступна локально. (Визначення ``None`` для " +"*dir_fd* завжди підтримується на всіх платформах.)" msgid "" "To check whether a particular function accepts an open file descriptor for " @@ -3021,14 +4281,21 @@ msgid "" "an example, this expression evaluates to ``True`` if :func:`os.stat` accepts " "open file descriptors for *dir_fd* on the local platform::" msgstr "" +"Щоб перевірити, чи певна функція приймає дескриптор відкритого файлу для " +"свого параметра *dir_fd*, використовуйте оператор ``in`` на " +"``supports_dir_fd``. Як приклад, цей вираз оцінюється як ``True``, якщо :" +"func:`os.stat` приймає дескриптори відкритих файлів для *dir_fd* на " +"локальній платформі::" msgid "os.stat in os.supports_dir_fd" -msgstr "" +msgstr "os.stat в os.supports_dir_fd" msgid "" "Currently *dir_fd* parameters only work on Unix platforms; none of them work " "on Windows." msgstr "" +"Наразі параметри *dir_fd* працюють лише на платформах Unix; жоден з них не " +"працює в Windows." msgid "" "A :class:`set` object indicating whether :func:`os.access` permits " @@ -3037,19 +4304,28 @@ msgid "" "platforms.) If the local platform supports it, the collection will contain :" "func:`os.access`; otherwise it will be empty." msgstr "" +"Об’єкт :class:`set`, що вказує, чи дозволяє :func:`os.access` вказувати " +"``True`` для свого параметра *effective_ids* на локальній платформі. " +"(Вказівка ``False`` для *effective_ids* завжди підтримується на всіх " +"платформах.) Якщо локальна платформа підтримує це, колекція міститиме :func:" +"`os.access`; інакше воно буде порожнім." msgid "" "This expression evaluates to ``True`` if :func:`os.access` supports " "``effective_ids=True`` on the local platform::" msgstr "" +"Цей вираз оцінюється як ``True``, якщо :func:`os.access` підтримує " +"``effective_ids=True`` на локальній платформі::" msgid "os.access in os.supports_effective_ids" -msgstr "" +msgstr "os.access в os.supports_efficient_ids" msgid "" "Currently *effective_ids* is only supported on Unix platforms; it does not " "work on Windows." msgstr "" +"Наразі *effective_ids* підтримується лише на платформах Unix; це не працює в " +"Windows." msgid "" "A :class:`set` object indicating which functions in the :mod:`os` module " @@ -3058,6 +4334,11 @@ msgid "" "underlying functionality Python uses to accept open file descriptors as " "*path* arguments is not available on all platforms Python supports." msgstr "" +"Об’єкт :class:`set`, що вказує, які функції в модулі :mod:`os` дозволяють " +"вказувати свій параметр *path* як дескриптор відкритого файлу на локальній " +"платформі. Різні платформи надають різні функції, а основні функції, які " +"Python використовує для прийняття відкритих файлових дескрипторів як *шлях* " +"аргументів, доступні не на всіх платформах, які підтримує Python." msgid "" "To determine whether a particular function permits specifying an open file " @@ -3066,9 +4347,14 @@ msgid "" "func:`os.chdir` accepts open file descriptors for *path* on your local " "platform::" msgstr "" +"Щоб визначити, чи дозволяє певна функція вказувати дескриптор відкритого " +"файлу для свого параметра *path*, використовуйте оператор ``in`` на " +"``supports_fd``. Як приклад, цей вираз має значення ``True``, якщо :func:`os." +"chdir` приймає дескриптори відкритих файлів для *path* на вашій локальній " +"платформі::" msgid "os.chdir in os.supports_fd" -msgstr "" +msgstr "os.chdir в os.supports_fd" msgid "" "A :class:`set` object indicating which functions in the :mod:`os` module " @@ -3081,6 +4367,15 @@ msgid "" "available. (Specifying ``True`` for *follow_symlinks* is always supported " "on all platforms.)" msgstr "" +"Об’єкт :class:`set`, що вказує, які функції в модулі :mod:`os` приймають " +"``False`` для свого параметра *follow_symlinks* на локальній платформі. " +"Різні платформи надають різні функції, а основні функції, які Python " +"використовує для реалізації *follow_symlinks*, доступні не на всіх " +"платформах, які підтримує Python. Заради узгодженості функції, які можуть " +"підтримувати *follow_symlinks*, завжди дозволяють вказувати параметр, але " +"викидають виняток, якщо функція використовується, коли вона недоступна " +"локально. (Вказівка ``True`` для *follow_symlinks* завжди підтримується на " +"всіх платформах.)" msgid "" "To check whether a particular function accepts ``False`` for its " @@ -3089,12 +4384,17 @@ msgid "" "``True`` if you may specify ``follow_symlinks=False`` when calling :func:`os." "stat` on the local platform::" msgstr "" +"Щоб перевірити, чи певна функція приймає ``False`` для свого параметра " +"*follow_symlinks*, використовуйте оператор ``in`` у " +"``supports_follow_symlinks``. Як приклад, цей вираз має значення ``True``, " +"якщо ви можете вказати ``follow_symlinks=False`` під час виклику :func:`os." +"stat` на локальній платформі::" msgid "os.stat in os.supports_follow_symlinks" -msgstr "" +msgstr "os.stat в os.supports_follow_symlinks" msgid "Create a symbolic link pointing to *src* named *dst*." -msgstr "" +msgstr "Створіть символічне посилання на *src* під назвою *dst*." msgid "" "On Windows, a symlink represents either a file or a directory, and does not " @@ -3104,6 +4404,12 @@ msgid "" "default) otherwise. On non-Windows platforms, *target_is_directory* is " "ignored." msgstr "" +"У Windows символічне посилання представляє або файл, або каталог і не " +"перетворюється на ціль динамічно. Якщо ціль присутня, буде створено " +"відповідний тип символічного посилання. В іншому випадку символічне " +"посилання буде створено як каталог, якщо *target_is_directory* має значення " +"``True``, або символічне посилання на файл (за замовчуванням), інакше. На " +"платформах, відмінних від Windows, *target_is_directory* ігнорується." msgid "" "On newer versions of Windows 10, unprivileged accounts can create symlinks " @@ -3111,68 +4417,96 @@ msgid "" "the *SeCreateSymbolicLinkPrivilege* privilege is required, or the process " "must be run as an administrator." msgstr "" +"У новіших версіях Windows 10 непривілейовані облікові записи можуть " +"створювати символічні посилання, якщо ввімкнено режим розробника. Якщо режим " +"розробника недоступний/увімкнено, потрібен привілей " +"*SeCreateSymbolicLinkPrivilege*, або процес потрібно запускати від імені " +"адміністратора." msgid "" ":exc:`OSError` is raised when the function is called by an unprivileged user." msgstr "" +":exc:`OSError` виникає, коли функцію викликає непривілейований користувач." msgid "" "Raises an :ref:`auditing event ` ``os.symlink`` with arguments " "``src``, ``dst``, ``dir_fd``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.symlink`` з аргументами " +"``src``, ``dst``, ``dir_fd``." msgid "" "Added the *dir_fd* parameter, and now allow *target_is_directory* on non-" "Windows platforms." msgstr "" +"Добавлен параметр *dir_fd*, и теперь разрешен *target_is_directory* на " +"платформах, отличных от Windows." msgid "Added support for unelevated symlinks on Windows with Developer Mode." msgstr "" +"Додано підтримку непідвищених символічних посилань у Windows із режимом " +"розробника." msgid "Force write of everything to disk." -msgstr "" +msgstr "Her şeyi diske yazmaya zorla." msgid "" "Truncate the file corresponding to *path*, so that it is at most *length* " "bytes in size." msgstr "" +"Обріжте файл, що відповідає *шляху*, щоб його розмір не перевищував *length* " +"байтів." msgid "" "Raises an :ref:`auditing event ` ``os.truncate`` with arguments " "``path``, ``length``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.truncate`` з аргументами " +"``path``, ``length``." msgid "" "Remove (delete) the file *path*. This function is semantically identical " "to :func:`remove`; the ``unlink`` name is its traditional Unix name. Please " "see the documentation for :func:`remove` for further information." msgstr "" +"Видалити (видалити) *шлях* до файлу. Ця функція семантично ідентична :func:" +"`remove`; ім'я ``unlink`` є його традиційною назвою Unix. Будь ласка, " +"перегляньте документацію для :func:`remove` для отримання додаткової " +"інформації." msgid "Set the access and modified times of the file specified by *path*." -msgstr "" +msgstr "Встановіть час доступу та час зміни файлу, указаного *шляхом*." msgid "" ":func:`utime` takes two optional parameters, *times* and *ns*. These specify " "the times set on *path* and are used as follows:" msgstr "" +":func:`utime` приймає два необов’язкові параметри, *times* і *ns*. Вони " +"вказують час, встановлений на *path* і використовуються таким чином:" msgid "" "If *ns* is specified, it must be a 2-tuple of the form ``(atime_ns, " "mtime_ns)`` where each member is an int expressing nanoseconds." msgstr "" +"Якщо вказано *ns*, це має бути 2-кортеж у формі ``(atime_ns, mtime_ns)``, де " +"кожен член є int, що виражає наносекунди." msgid "" "If *times* is not ``None``, it must be a 2-tuple of the form ``(atime, " "mtime)`` where each member is an int or float expressing seconds." msgstr "" +"Якщо *times* не є ``None``, це має бути 2-кортеж у формі ``(atime, mtime)``, " +"де кожен член є int або float, що виражає секунди." msgid "" "If *times* is ``None`` and *ns* is unspecified, this is equivalent to " "specifying ``ns=(atime_ns, mtime_ns)`` where both times are the current time." msgstr "" +"Якщо *times* має значення ``None`` і *ns* не вказано, це еквівалентно " +"вказівці ``ns=(atime_ns, mtime_ns)``, де обидва часи є поточним часом." msgid "It is an error to specify tuples for both *times* and *ns*." -msgstr "" +msgstr "Помилково вказувати кортежі як для *times*, так і для *ns*." msgid "" "Note that the exact times you set here may not be returned by a subsequent :" @@ -3182,16 +4516,26 @@ msgid "" "fields from the :func:`os.stat` result object with the *ns* parameter to :" "func:`utime`." msgstr "" +"Обратите внимание, что точное время, которое вы здесь установили, может не " +"быть возвращено последующим :func:`~os.stat` вызов, в зависимости от " +"разрешения, с которым ваша операционная система фиксирует время доступа и " +"изменения; видеть :func:`~os.stat` . Лучший способ сохранить точное время — " +"использовать поля *st_atime_ns* и *st_mtime_ns* из :func:`os.stat` объект " +"результата с параметром *ns* для :func:`отлично` ." msgid "" "Raises an :ref:`auditing event ` ``os.utime`` with arguments " "``path``, ``times``, ``ns``, ``dir_fd``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.utime`` з аргументами ``path``, " +"``times``, ``ns``, ``dir_fd``." msgid "" "Added support for specifying *path* as an open file descriptor, and the " "*dir_fd*, *follow_symlinks*, and *ns* parameters." msgstr "" +"Додано підтримку для вказівки *шляху* як дескриптора відкритого файлу та " +"параметрів *dir_fd*, *follow_symlinks* і *ns*." msgid "" "Generate the file names in a directory tree by walking the tree either top-" @@ -3199,6 +4543,10 @@ msgid "" "(including *top* itself), it yields a 3-tuple ``(dirpath, dirnames, " "filenames)``." msgstr "" +"Згенеруйте імена файлів у дереві каталогів, проходячи по дереву зверху вниз " +"або знизу вгору. Для кожного каталогу в дереві, що знаходиться в каталозі " +"*top* (включно з самим *top*), він дає 3-кортеж ``(dirpath, dirnames, " +"filenames)``." msgid "" "*dirpath* is a string, the path to the directory. *dirnames* is a list of " @@ -3212,6 +4560,15 @@ msgid "" "generating the lists, whether a name for that file be included is " "unspecified." msgstr "" +"*dirpath* — строка, путь к каталогу. *dirnames* — это список имен " +"подкаталогов в *dirpath* (включая символические ссылки на каталоги и " +"исключая ``'.'`` и ``'..'`` ). *filenames* — это список имен файлов, не " +"являющихся каталогами, в *dirpath*. Обратите внимание, что имена в списках " +"не содержат компонентов пути. Чтобы получить полный путь (начинающийся с " +"*top*) к файлу или каталогу в *dirpath*, выполните ``os.path.join(каталог, " +"имя)`` . Сортировка списков зависит от файловой системы. Если файл удаляется " +"из каталога *dirpath* или добавляется в него во время создания списков, не " +"указано, будет ли включено имя этого файла." msgid "" "If optional argument *topdown* is ``True`` or not specified, the triple for " @@ -3222,6 +4579,13 @@ msgid "" "list of subdirectories is retrieved before the tuples for the directory and " "its subdirectories are generated." msgstr "" +"Якщо необов’язковий аргумент *topdown* має значення ``True`` або не вказано, " +"трійка для каталогу генерується перед потрійками для будь-якого з його " +"підкаталогів (каталоги генеруються зверху вниз). Якщо *topdown* має значення " +"``False``, трійка для каталогу генерується після трійок для всіх його " +"підкаталогів (каталоги генеруються знизу вгору). Незалежно від значення " +"*topdown*, список підкаталогів витягується до створення кортежів для " +"каталогу та його підкаталогів." msgid "" "When *topdown* is ``True``, the caller can modify the *dirnames* list in-" @@ -3234,6 +4598,15 @@ msgid "" "bottom-up mode the directories in *dirnames* are generated before *dirpath* " "itself is generated." msgstr "" +"Коли *topdown* має значення ``True``, абонент може змінювати список " +"*dirnames* на місці (можливо, використовуючи :keyword:`del` або призначення " +"фрагментів), а :func:`walk` повертатиметься лише до підкаталогів чиї імена " +"залишаються в *dirnames*; це можна використовувати для скорочення пошуку, " +"встановлення певного порядку відвідування або навіть для інформування :func:" +"`walk` про каталоги, які абонент створює або перейменовує перед тим, як він " +"знову продовжить :func:`walk`. Зміна *dirnames*, коли *topdown* має значення " +"``False``, не впливає на поведінку обходу, тому що в режимі знизу вгору " +"каталоги в *dirnames* генеруються до того, як буде згенеровано сам *dirpath*." msgid "" "By default, errors from the :func:`scandir` call are ignored. If optional " @@ -3243,30 +4616,50 @@ msgid "" "the filename is available as the ``filename`` attribute of the exception " "object." msgstr "" +"За замовчуванням помилки виклику :func:`scandir` ігноруються. Якщо вказано " +"необов’язковий аргумент *onerror*, це має бути функція; він буде викликаний " +"з одним аргументом, екземпляром :exc:`OSError`. Він може повідомити про " +"помилку, щоб продовжити обхід, або викликати виключення, щоб перервати " +"обхід. Зауважте, що назва файлу доступна як атрибут ``filename`` об’єкта " +"винятку." msgid "" "By default, :func:`walk` will not walk down into symbolic links that resolve " "to directories. Set *followlinks* to ``True`` to visit directories pointed " "to by symlinks, on systems that support them." msgstr "" +"За замовчуванням :func:`walk` не переходитиме до символічних посилань, які " +"переходять до каталогів. Встановіть *followlinks* на ``True``, щоб " +"відвідувати каталоги, на які вказують символічні посилання, у системах, які " +"їх підтримують." msgid "" "Be aware that setting *followlinks* to ``True`` can lead to infinite " "recursion if a link points to a parent directory of itself. :func:`walk` " "does not keep track of the directories it visited already." msgstr "" +"Майте на увазі, що встановлення *followlinks* значення ``True`` може " +"призвести до нескінченної рекурсії, якщо посилання вказує на батьківський " +"каталог самого себе. :func:`walk` не відстежує каталоги, які він уже " +"відвідав." msgid "" "If you pass a relative pathname, don't change the current working directory " "between resumptions of :func:`walk`. :func:`walk` never changes the current " "directory, and assumes that its caller doesn't either." msgstr "" +"Якщо ви передаєте відносний шлях, не змінюйте поточний робочий каталог між " +"відновленням :func:`walk`. :func:`walk` ніколи не змінює поточний каталог і " +"припускає, що його виклик теж не змінює." msgid "" "This example displays the number of bytes taken by non-directory files in " "each directory under the starting directory, except that it doesn't look " "under any ``__pycache__`` subdirectory::" msgstr "" +"Este exemplo exibe o número total de bytes dos arquivos não-diretório em " +"cada diretório no diretório inicial, exceto que ele não olha em nenhum " +"subdiretório chamado ``__pycache__``::" msgid "" "import os\n" @@ -3278,12 +4671,23 @@ msgid "" " if '__pycache__' in dirs:\n" " dirs.remove('__pycache__') # don't visit __pycache__ directories" msgstr "" +"import os\n" +"from os.path import join, getsize\n" +"for root, dirs, files in os.walk('python/Lib/xml'):\n" +" print(root, \"consumes\", end=\" \")\n" +" print(sum(getsize(join(root, name)) for name in files), end=\" \")\n" +" print(\"bytes in\", len(files), \"non-directory files\")\n" +" if '__pycache__' in dirs:\n" +" dirs.remove('__pycache__') # don't visit __pycache__ directories" msgid "" "In the next example (simple implementation of :func:`shutil.rmtree`), " "walking the tree bottom-up is essential, :func:`rmdir` doesn't allow " "deleting a directory before the directory is empty::" msgstr "" +"У наступному прикладі (проста реалізація :func:`shutil.rmtree`) важливий " +"перехід по дереву знизу вгору, :func:`rmdir` не дозволяє видаляти каталог, " +"поки він не стане порожнім::" msgid "" "# Delete everything reachable from the directory named in \"top\",\n" @@ -3298,26 +4702,45 @@ msgid "" " os.rmdir(os.path.join(root, name))\n" "os.rmdir(top)" msgstr "" +"# Delete everything reachable from the directory named in \"top\",\n" +"# assuming there are no symbolic links.\n" +"# CAUTION: This is dangerous! For example, if top == '/', it\n" +"# could delete all your disk files.\n" +"import os\n" +"for root, dirs, files in os.walk(top, topdown=False):\n" +" for name in files:\n" +" os.remove(os.path.join(root, name))\n" +" for name in dirs:\n" +" os.rmdir(os.path.join(root, name))\n" +"os.rmdir(top)" msgid "" "Raises an :ref:`auditing event ` ``os.walk`` with arguments " "``top``, ``topdown``, ``onerror``, ``followlinks``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.walk`` з аргументами ``top``, " +"``topdown``, ``onerror``, ``followlinks``." msgid "" "This function now calls :func:`os.scandir` instead of :func:`os.listdir`, " "making it faster by reducing the number of calls to :func:`os.stat`." msgstr "" +"Ця функція тепер викликає :func:`os.scandir` замість :func:`os.listdir`, що " +"робить її швидшою завдяки зменшенню кількості викликів до :func:`os.stat`." msgid "" "This behaves exactly like :func:`walk`, except that it yields a 4-tuple " "``(dirpath, dirnames, filenames, dirfd)``, and it supports ``dir_fd``." msgstr "" +"Це веде себе так само, як :func:`walk`, за винятком того, що дає 4-кортеж " +"``(dirpath, dirnames, filenames, dirfd)``, і підтримує ``dir_fd``." msgid "" "*dirpath*, *dirnames* and *filenames* are identical to :func:`walk` output, " "and *dirfd* is a file descriptor referring to the directory *dirpath*." msgstr "" +"*dirpath*, *dirnames* і *filenaname* ідентичні виводу :func:`walk`, а " +"*dirfd* є дескриптором файлу, який посилається на каталог *dirpath*." msgid "" "This function always supports :ref:`paths relative to directory descriptors " @@ -3325,12 +4748,19 @@ msgid "" "that, unlike other functions, the :func:`fwalk` default value for " "*follow_symlinks* is ``False``." msgstr "" +"Ця функція завжди підтримує :ref:`шляхи відносно дескрипторів каталогу " +"` і :ref:`не наступні символічні посилання `. Проте " +"зауважте, що, на відміну від інших функцій, значенням за замовчуванням :func:" +"`fwalk` для *follow_symlinks* є ``False``." msgid "" "Since :func:`fwalk` yields file descriptors, those are only valid until the " "next iteration step, so you should duplicate them (e.g. with :func:`dup`) if " "you want to keep them longer." msgstr "" +"Оскільки :func:`fwalk` дає дескриптори файлів, вони дійсні лише до " +"наступного кроку ітерації, тому вам слід дублювати їх (наприклад, за " +"допомогою :func:`dup`), якщо ви хочете зберегти їх довше." msgid "" "import os\n" @@ -3342,11 +4772,21 @@ msgid "" " if '__pycache__' in dirs:\n" " dirs.remove('__pycache__') # don't visit __pycache__ directories" msgstr "" +"import os\n" +"for root, dirs, files, rootfd in os.fwalk('python/Lib/xml'):\n" +" print(root, \"consumes\", end=\"\")\n" +" print(sum([os.stat(name, dir_fd=rootfd).st_size for name in files]),\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" msgid "" "In the next example, walking the tree bottom-up is essential: :func:`rmdir` " "doesn't allow deleting a directory before the directory is empty::" msgstr "" +"У наступному прикладі перехід по дереву знизу вгору важливий: :func:`rmdir` " +"не дозволяє видаляти каталог, поки каталог не буде порожнім::" msgid "" "# Delete everything reachable from the directory named in \"top\",\n" @@ -3360,14 +4800,26 @@ msgid "" " for name in dirs:\n" " os.rmdir(name, dir_fd=rootfd)" msgstr "" +"# Delete everything reachable from the directory named in \"top\",\n" +"# assuming there are no symbolic links.\n" +"# CAUTION: This is dangerous! For example, if top == '/', it\n" +"# could delete all your disk files.\n" +"import os\n" +"for root, dirs, files, rootfd in os.fwalk(top, topdown=False):\n" +" for name in files:\n" +" os.unlink(name, dir_fd=rootfd)\n" +" for name in dirs:\n" +" os.rmdir(name, dir_fd=rootfd)" msgid "" "Raises an :ref:`auditing event ` ``os.fwalk`` with arguments " "``top``, ``topdown``, ``onerror``, ``follow_symlinks``, ``dir_fd``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.fwalk`` з аргументами ``top``, " +"``topdown``, ``onerror``, ``follow_symlinks``, ``dir_fd``." msgid "Added support for :class:`bytes` paths." -msgstr "" +msgstr "Додано підтримку шляхів :class:`bytes`." msgid "" "Create an anonymous file and return a file descriptor that refers to it. " @@ -3375,6 +4827,10 @@ msgid "" "(or a bitwise ORed combination of them). By default, the new file " "descriptor is :ref:`non-inheritable `." msgstr "" +"Створіть анонімний файл і поверніть дескриптор файлу, який посилається на " +"нього. *flags* має бути однією з констант ``os.MFD_*``, доступних у системі " +"(або їх побітовою комбінацією АБО). За замовчуванням новий файловий " +"дескриптор є :ref:`non-inheritable `." msgid "" "The name supplied in *name* is used as a filename and will be displayed as " @@ -3384,12 +4840,17 @@ msgid "" "descriptor, and as such multiple files can have the same name without any " "side effects." msgstr "" +"Ім’я, указане в *name*, використовується як ім’я файлу та відображатиметься " +"як ціль відповідного символічного посилання в каталозі ``/proc/self/fd/``. " +"Ім’я, що відображається, завжди має префікс ``memfd:`` і служить лише для " +"цілей налагодження. Імена не впливають на поведінку файлового дескриптора, " +"тому кілька файлів можуть мати однакові назви без будь-яких побічних ефектів." msgid "These flags can be passed to :func:`memfd_create`." -msgstr "" +msgstr "Ці позначки можна передати в :func:`memfd_create`." msgid "The ``MFD_HUGE*`` flags are only available since Linux 4.14." -msgstr "" +msgstr "The ``MFD_HUGE*`` флаги доступны только начиная с Linux 4.14." msgid "" "Create and return an event file descriptor. The file descriptors supports " @@ -3398,6 +4859,11 @@ msgid "" "`eventfd(2)` for more information. By default, the new file descriptor is :" "ref:`non-inheritable `." msgstr "" +"Створити та повернути дескриптор файлу подій. Дескриптори файлів підтримують " +"raw :func:`read` і :func:`write` з розміром буфера 8, :func:`~select." +"select`, :func:`~select.poll` тощо. Додаткову інформацію дивіться на " +"сторінці довідки :manpage:`eventfd(2)`. За замовчуванням новий файловий " +"дескриптор є :ref:`non-inheritable `." msgid "" "*initval* is the initial value of the event counter. The initial value must " @@ -3405,33 +4871,49 @@ msgid "" "to a 32 bit unsigned int although the event counter is an unsigned 64 bit " "integer with a maximum value of 2\\ :sup:`64`\\ -\\ 2." msgstr "" +"*initval* — начальное значение счетчика событий. Начальное значение должно " +"быть 32-битным целым числом без знака. Обратите внимание, что начальное " +"значение ограничено 32-битным целым числом без знака, хотя счетчик событий " +"представляет собой 64-битное целое число без знака с максимальным значением " +"2\\. :sup:`64` \\ -\\ 2." msgid "" "*flags* can be constructed from :const:`EFD_CLOEXEC`, :const:`EFD_NONBLOCK`, " "and :const:`EFD_SEMAPHORE`." msgstr "" +"*прапори* можуть бути створені з :const:`EFD_CLOEXEC`, :const:`EFD_NONBLOCK` " +"і :const:`EFD_SEMAPHORE`." msgid "" "If :const:`EFD_SEMAPHORE` is specified and the event counter is non-zero, :" "func:`eventfd_read` returns 1 and decrements the counter by one." msgstr "" +"Якщо вказано :const:`EFD_SEMAPHORE` і лічильник подій ненульовий, :func:" +"`eventfd_read` повертає 1 і зменшує лічильник на одиницю." msgid "" "If :const:`EFD_SEMAPHORE` is not specified and the event counter is non-" "zero, :func:`eventfd_read` returns the current event counter value and " "resets the counter to zero." msgstr "" +"Якщо :const:`EFD_SEMAPHORE` не вказано, а лічильник подій ненульовий, :func:" +"`eventfd_read` повертає поточне значення лічильника подій і скидає лічильник " +"до нуля." msgid "" "If the event counter is zero and :const:`EFD_NONBLOCK` is not specified, :" "func:`eventfd_read` blocks." msgstr "" +"Якщо лічильник подій дорівнює нулю і :const:`EFD_NONBLOCK` не вказано, :func:" +"`eventfd_read` блокує." msgid "" ":func:`eventfd_write` increments the event counter. Write blocks if the " "write operation would increment the counter to a value larger than 2\\ :sup:" "`64`\\ -\\ 2." msgstr "" +":func:`eventfd_write` збільшує лічильник подій. Блокує запис, якщо операція " +"запису збільшить лічильник до значення, більшого за 2\\ :sup:`64`\\ -\\ 2." msgid "" "import os\n" @@ -3449,42 +4931,68 @@ msgid "" "finally:\n" " os.close(fd)" msgstr "" +"import os\n" +"\n" +"# semaphore with start value '1'\n" +"fd = os.eventfd(1, os.EFD_SEMAPHORE | os.EFC_CLOEXEC)\n" +"try:\n" +" # acquire semaphore\n" +" v = os.eventfd_read(fd)\n" +" try:\n" +" do_work()\n" +" finally:\n" +" # release semaphore\n" +" os.eventfd_write(fd, v)\n" +"finally:\n" +" os.close(fd)" msgid "" "Read value from an :func:`eventfd` file descriptor and return a 64 bit " "unsigned int. The function does not verify that *fd* is an :func:`eventfd`." msgstr "" +"Зчитування значення з дескриптора файлу :func:`eventfd` і повернення 64-" +"бітного беззнакового int. Функція не перевіряє, що *fd* є :func:`eventfd`." msgid "" "Add value to an :func:`eventfd` file descriptor. *value* must be a 64 bit " "unsigned int. The function does not verify that *fd* is an :func:`eventfd`." msgstr "" +"Додайте значення до дескриптора файлу :func:`eventfd`. *значення* має бути " +"64-бітним беззнаковим цілим. Функція не перевіряє, що *fd* є :func:`eventfd`." msgid "Set close-on-exec flag for new :func:`eventfd` file descriptor." msgstr "" +"Установіть прапорець close-on-exec для нового файлового дескриптора :func:" +"`eventfd`." msgid "" "Set :const:`O_NONBLOCK` status flag for new :func:`eventfd` file descriptor." msgstr "" +"Установіть позначку статусу :const:`O_NONBLOCK` для нового файлового " +"дескриптора :func:`eventfd`." msgid "" "Provide semaphore-like semantics for reads from an :func:`eventfd` file " "descriptor. On read the internal counter is decremented by one." msgstr "" +"Обеспечить семантику, подобную семафору, для чтения из :func:`eventfd` " +"дескриптор файла. При чтении внутренний счетчик уменьшается на единицу." msgid "Timer File Descriptors" -msgstr "" +msgstr "Дескрипторы файлов таймеров" msgid "" "These functions provide support for Linux's *timer file descriptor* API. " "Naturally, they are all only available on Linux." msgstr "" +"Эти функции обеспечивают поддержку API *дескриптора файла таймера* Linux. " +"Естественно, все они доступны только в Linux." msgid "Create and return a timer file descriptor (*timerfd*)." -msgstr "" +msgstr "Создайте и верните дескриптор файла таймера (*timerfd*)." msgid "The file descriptor returned by :func:`timerfd_create` supports:" -msgstr "" +msgstr "Дескриптор файла, возвращаемый :func:`timerfd_create` поддерживает:" msgid ":func:`read`" msgstr ":func:`read`" @@ -3502,16 +5010,26 @@ msgid "" "converted to an :class:`int` by ``int.from_bytes(x, byteorder=sys." "byteorder)``." msgstr "" +"Дескриптор файла :func:`читать` метод можно вызвать с размером буфера 8. " +"Если таймер уже истек один или несколько раз, :func:`читать` возвращает " +"количество сроков действия с порядком байтов хоста, которое можно " +"преобразовать в :класс:`int` к ``int.from_bytes(x, byteorder=sys." +"byteorder)`` ." msgid "" ":func:`~select.select` and :func:`~select.poll` can be used to wait until " "timer expires and the file descriptor is readable." msgstr "" +":func:`~select.select` и :func:`~select.poll` может использоваться для " +"ожидания, пока истечет время таймера и дескриптор файла станет доступен для " +"чтения." msgid "" "*clockid* must be a valid :ref:`clock ID `, as " "defined in the :py:mod:`time` module:" msgstr "" +"* clockid* должен быть действительным :ref:`идентификатором часов\n" +"`, как определено в :py:mod:`время` модуль:" msgid ":const:`time.CLOCK_REALTIME`" msgstr ":const:`time.CLOCK_REALTIME`" @@ -3520,7 +5038,7 @@ msgid ":const:`time.CLOCK_MONOTONIC`" msgstr ":const:`time.CLOCK_MONOTONIC`" msgid ":const:`time.CLOCK_BOOTTIME` (Since Linux 3.15 for timerfd_create)" -msgstr "" +msgstr ":const:`time.CLOCK_BOOTTIME` (Since Linux 3.15 for timerfd_create)" msgid "" "If *clockid* is :const:`time.CLOCK_REALTIME`, a settable system-wide real-" @@ -3528,23 +5046,35 @@ msgid "" "updated. To cancel timer when system clock is changed, see :const:" "`TFD_TIMER_CANCEL_ON_SET`." msgstr "" +"Если * clockid* :const:`time.CLOCK_REALTIME` используются настраиваемые " +"общесистемные часы реального времени. Если системные часы изменены, " +"необходимо обновить настройки таймера. Чтобы отменить таймер при изменении " +"системных часов, см. :const:`TFD_TIMER_CANCEL_ON_SET` ." msgid "" "If *clockid* is :const:`time.CLOCK_MONOTONIC`, a non-settable monotonically " "increasing clock is used. Even if the system clock is changed, the timer " "setting will not be affected." msgstr "" +"Если * clockid* :const:`time.CLOCK_MONOTONIC` используются ненастраиваемые " +"монотонно возрастающие часы. Даже если системные часы будут изменены, " +"настройка таймера не изменится." msgid "" "If *clockid* is :const:`time.CLOCK_BOOTTIME`, same as :const:`time." "CLOCK_MONOTONIC` except it includes any time that the system is suspended." msgstr "" +"Если * clockid* :const:`time.CLOCK_BOOTTIME` , то же, что :const:`time." +"CLOCK_MONOTONIC` за исключением случаев, когда система приостановлена." 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 " "(the ``|`` operator):" msgstr "" +"Поведение файлового дескриптора можно изменить, указав значение *flags*. " +"Можно использовать любую из следующих переменных, объединенную с помощью " +"побитового ИЛИ (оператор ``|`` оператор):" msgid ":const:`TFD_NONBLOCK`" msgstr ":const:`TFD_NONBLOCK`" @@ -3558,31 +5088,43 @@ msgid "" "there hasn't been an expiration since the last call to read, :func:`read` " "raises :class:`OSError` with ``errno`` is set to :const:`errno.EAGAIN`." msgstr "" +"Если :const:`TFD_NONBLOCK` не установлен как флаг, :func:`читать` " +"блокируется до истечения таймера. Если он установлен как флаг, :func:" +"`читать` не блокирует, но если с момента последнего вызова чтения не истек " +"срок действия, :func:`читать` поднимает :class:`OSError` с ``ошибка`` " +"установлено на :const:`errno.EAGAIN` ." msgid ":const:`TFD_CLOEXEC` is always set by Python automatically." -msgstr "" +msgstr ":const:`TFD_CLOEXEC` всегда устанавливается Python автоматически." msgid "" "The file descriptor must be closed with :func:`os.close` when it is no " "longer needed, or else the file descriptor will be leaked." msgstr "" +"Дескриптор файла должен быть закрыт с помощью :func:`os.close` когда он " +"больше не нужен, иначе дескриптор файла будет утерян." msgid "The :manpage:`timerfd_create(2)` man page." -msgstr "" +msgstr "The :manpage:`timerfd_create(2)` справочная страница." msgid "" "Alter a timer file descriptor's internal timer. This function operates the " "same interval timer as :func:`timerfd_settime_ns`." msgstr "" +"Изменить внутренний таймер файлового дескриптора таймера. Эта функция " +"использует тот же интервальный таймер, что и :func:`timerfd_settime_ns` ." msgid "*fd* must be a valid timer file descriptor." -msgstr "" +msgstr "*fd* должен быть допустимым дескриптором файла таймера." 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 ``|`` " "operator):" msgstr "" +"Поведение таймера можно изменить, указав значение *flags*. Можно " +"использовать любую из следующих переменных, объединенную с помощью " +"побитового ИЛИ (оператор ``|`` оператор):" msgid ":const:`TFD_TIMER_ABSTIME`" msgstr ":const:`TFD_TIMER_ABSTIME`" @@ -3596,17 +5138,26 @@ msgid "" "than zero, it raises an :class:`OSError` exception with ``errno`` set to :" "const:`errno.EINVAL`" msgstr "" +"Таймер отключается установкой *initial* в ноль ( ``0`` ). Если *initial* " +"равен или больше нуля, таймер включен. Если *initial* меньше нуля, " +"возникает :class:`OSError` исключение с ``ошибка`` установлен на :const:" +"`errno.EINVAL`" msgid "" "By default the timer will fire when *initial* seconds have elapsed. (If " "*initial* is zero, timer will fire immediately.)" msgstr "" +"По умолчанию таймер сработает по истечении *начальных* секунд. (Если " +"*initial* равно нулю, таймер сработает немедленно.)" msgid "" "However, if the :const:`TFD_TIMER_ABSTIME` flag is set, the timer will fire " "when the timer's clock (set by *clockid* in :func:`timerfd_create`) reaches " "*initial* seconds." msgstr "" +"Однако, если :const:`TFD_TIMER_ABSTIME` установлен флаг, таймер сработает, " +"когда часы таймера (установленные * clockid* в :func:`timerfd_create` ) " +"достигает *начальных* секунд." msgid "" "The timer's interval is set by the *interval* :py:class:`float`. If " @@ -3616,6 +5167,12 @@ msgid "" "than zero, it raises :class:`OSError` with ``errno`` set to :const:`errno." "EINVAL`" msgstr "" +"Интервал таймера задается параметром *interval* :py:class:`float` . Если " +"*interval* равен нулю, таймер срабатывает только один раз, по первому " +"истечении срока действия. Если *interval* больше нуля, таймер срабатывает " +"каждый раз, когда *interval* секунд прошло с момента предыдущего истечения " +"срока действия. Если *интервал* меньше нуля, он поднимает :class:`OSError` с " +"``ошибка`` установлен на :const:`errno.EINVAL`" msgid "" "If the :const:`TFD_TIMER_CANCEL_ON_SET` flag is set along with :const:" @@ -3624,70 +5181,100 @@ msgid "" "changed discontinuously. Reading the descriptor is aborted with the error " "ECANCELED." msgstr "" +"Если :const:`TFD_TIMER_CANCEL_ON_SET` флаг установлен вместе с :const:" +"`TFD_TIMER_ABSTIME` и часы для этого таймера :const:`time.CLOCK_REALTIME` , " +"таймер помечается как отменяемый, если часы реального времени изменяются " +"прерывисто. Чтение дескриптора прерывается с ошибкой ECANCELED." msgid "" "Linux manages system clock as UTC. A daylight-savings time transition is " "done by changing time offset only and doesn't cause discontinuous system " "clock change." msgstr "" +"Linux управляет системными часами как UTC. Переход на летнее время " +"осуществляется только путем изменения смещения времени и не приводит к " +"прерывистому изменению системных часов." msgid "" "Discontinuous system clock change will be caused by the following events:" msgstr "" +"Прерывистое изменение системных часов может быть вызвано следующими " +"событиями:" msgid "``settimeofday``" -msgstr "" +msgstr "``settimeofday``" msgid "``clock_settime``" -msgstr "" +msgstr "``clock_settime``" msgid "set the system date and time by ``date`` command" -msgstr "" +msgstr "установите системную дату и время с помощью ``дата`` команда" msgid "" "Return a two-item tuple of (``next_expiration``, ``interval``) from the " "previous timer state, before this function executed." msgstr "" +"Вернуть кортеж из двух элементов ( ``next_expiration`` , ``интервал`` ) из " +"предыдущего состояния таймера до выполнения этой функции." msgid "" ":manpage:`timerfd_create(2)`, :manpage:`timerfd_settime(2)`, :manpage:" "`settimeofday(2)`, :manpage:`clock_settime(2)`, and :manpage:`date(1)`." msgstr "" +":manpage:`timerfd_create(2)` , :manpage:`timerfd_settime(2)` , :manpage:" +"`settimeofday(2)` , :manpage:` clock_settime(2)` , и :manpage:`дата(1)` ." msgid "" "Similar to :func:`timerfd_settime`, but use time as nanoseconds. This " "function operates the same interval timer as :func:`timerfd_settime`." msgstr "" +"Похоже на: :func:`timerfd_settime` , но используйте время в наносекундах. " +"Эта функция использует тот же интервальный таймер, что и :func:" +"`timerfd_settime` ." msgid "Return a two-item tuple of floats (``next_expiration``, ``interval``)." msgstr "" +"Вернуть кортеж из двух элементов с плавающей запятой ( ``next_expiration`` , " +"``интервал`` )." msgid "" "``next_expiration`` denotes the relative time until next the timer next " "fires, regardless of if the :const:`TFD_TIMER_ABSTIME` flag is set." msgstr "" +"``next_expiration`` обозначает относительное время до следующего " +"срабатывания таймера, независимо от того, :const:`TFD_TIMER_ABSTIME` флаг " +"установлен." msgid "" "``interval`` denotes the timer's interval. If zero, the timer will only fire " "once, after ``next_expiration`` seconds have elapsed." msgstr "" +"``интервал`` обозначает интервал таймера. Если ноль, таймер сработает только " +"один раз, после ``next_expiration`` секунды прошли." msgid ":manpage:`timerfd_gettime(2)`" msgstr ":manpage:`timerfd_gettime(2)`" msgid "Similar to :func:`timerfd_gettime`, but return time as nanoseconds." msgstr "" +"Похоже на: :func:`timerfd_gettime` , но возвращает время в наносекундах." msgid "" "A flag for the :func:`timerfd_create` function, which sets the :const:" "`O_NONBLOCK` status flag for the new timer file descriptor. If :const:" "`TFD_NONBLOCK` is not set as a flag, :func:`read` blocks." msgstr "" +"Флаг для :func:`timerfd_create` функция, которая устанавливает :const:" +"`O_NONBLOCK` флаг состояния для нового дескриптора файла таймера. Если :" +"const:`TFD_NONBLOCK` не установлен как флаг, :func:`читать` блоки." msgid "" "A flag for the :func:`timerfd_create` function, If :const:`TFD_CLOEXEC` is " "set as a flag, set close-on-exec flag for new file descriptor." msgstr "" +"Флаг для :func:`timerfd_create` функция, если :const:`TFD_CLOEXEC` " +"установлен как флаг, установите флаг закрытия при выполнении для нового " +"дескриптора файла." msgid "" "A flag for the :func:`timerfd_settime` and :func:`timerfd_settime_ns` " @@ -3695,18 +5282,24 @@ msgid "" "value on the timer's clock (in UTC seconds or nanoseconds since the Unix " "Epoch)." msgstr "" +"Флаг для :func:`timerfd_settime` и :func:`timerfd_settime_ns` функции. Если " +"этот флаг установлен, *initial* интерпретируется как абсолютное значение на " +"часах таймера (в секундах UTC или наносекундах с эпохи Unix)." msgid "" "A flag for the :func:`timerfd_settime` and :func:`timerfd_settime_ns` " "functions along with :const:`TFD_TIMER_ABSTIME`. The timer is cancelled when " "the time of the underlying clock changes discontinuously." msgstr "" +"Флаг для :func:`timerfd_settime` и :func:`timerfd_settime_ns` функционирует " +"вместе с :const:`TFD_TIMER_ABSTIME` . Таймер отменяется, когда время " +"основных часов меняется прерывисто." msgid "Linux extended attributes" -msgstr "" +msgstr "Linux genişletilmiş öznitelikleri" msgid "These functions are all available on Linux only." -msgstr "" +msgstr "Bu fonksiyonların hepsi yalnız Linux'ta mevcuttur." msgid "" "Return the value of the extended filesystem attribute *attribute* for " @@ -3714,14 +5307,20 @@ msgid "" "class:`PathLike` interface). If it is str, it is encoded with the filesystem " "encoding." msgstr "" +"Повертає значення розширеного атрибута файлової системи *attribute* для " +"*path*. *attribute* може бути байтом або str (прямо чи опосередковано через " +"інтерфейс :class:`PathLike`). Якщо це str, воно закодовано з кодуванням " +"файлової системи." msgid "" "Raises an :ref:`auditing event ` ``os.getxattr`` with arguments " "``path``, ``attribute``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.getxattr`` з аргументами " +"``path``, ``attribute``." msgid "Accepts a :term:`path-like object` for *path* and *attribute*." -msgstr "" +msgstr "Приймає :term:`path-like object` для *path* і *attribute*." msgid "" "Return a list of the extended filesystem attributes on *path*. The " @@ -3729,11 +5328,17 @@ msgid "" "filesystem encoding. If *path* is ``None``, :func:`listxattr` will examine " "the current directory." msgstr "" +"Повертає список розширених атрибутів файлової системи за *шляхом*. Атрибути " +"в списку представлені як рядки, декодовані за допомогою кодування файлової " +"системи. Якщо *path* має значення ``None``, :func:`listxattr` перевірить " +"поточний каталог." msgid "" "Raises an :ref:`auditing event ` ``os.listxattr`` with argument " "``path``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.listxattr`` з аргументом " +"``path``." msgid "" "Removes the extended filesystem attribute *attribute* from *path*. " @@ -3741,11 +5346,17 @@ msgid "" "class:`PathLike` interface). If it is a string, it is encoded with the :term:" "`filesystem encoding and error handler`." msgstr "" +"Видаляє розширений атрибут файлової системи *attribute* із *path*. " +"*attribute* має бути байтом або str (прямо чи опосередковано через " +"інтерфейс :class:`PathLike`). Якщо це рядок, він кодується за допомогою :" +"term:`filesystem encoding and error handler`." msgid "" "Raises an :ref:`auditing event ` ``os.removexattr`` with arguments " "``path``, ``attribute``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.removexattr`` з аргументами " +"``path``, ``attribute``." msgid "" "Set the extended filesystem attribute *attribute* on *path* to *value*. " @@ -3757,37 +5368,56 @@ msgid "" "data:`XATTR_CREATE` is given and the attribute already exists, the attribute " "will not be created and ``EEXISTS`` will be raised." msgstr "" +"Установіть *attribute* розширеного атрибута файлової системи на *path* у " +"*value*. *атрибут* має бути байтом або рядком без вбудованих NUL (прямо чи " +"опосередковано через інтерфейс :class:`PathLike`). Якщо це str, він " +"закодований за допомогою :term:`filesystem encoding and error handler`. " +"*прапорцями* можуть бути :data:`XATTR_REPLACE` або :data:`XATTR_CREATE`. " +"Якщо задано :data:`XATTR_REPLACE`, а атрибут не існує, буде створено " +"``ENODATA``. Якщо задано :data:`XATTR_CREATE` і атрибут уже існує, атрибут " +"не буде створено, і буде викликано ``EEXISTS``." msgid "" "A bug in Linux kernel versions less than 2.6.39 caused the flags argument to " "be ignored on some filesystems." msgstr "" +"Помилка у версіях ядра Linux до 2.6.39 спричинила ігнорування аргументу " +"flags у деяких файлових системах." msgid "" "Raises an :ref:`auditing event ` ``os.setxattr`` with arguments " "``path``, ``attribute``, ``value``, ``flags``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.setxattr`` з аргументами " +"``path``, ``attribute``, ``value``, ``flags``." msgid "" "The maximum size the value of an extended attribute can be. Currently, this " "is 64 KiB on Linux." msgstr "" +"Максимальний розмір значення розширеного атрибута. На даний момент це 64 КіБ " +"на Linux." msgid "" "This is a possible value for the flags argument in :func:`setxattr`. It " "indicates the operation must create an attribute." msgstr "" +"Це можливе значення для аргументу flags у :func:`setxattr`. Це вказує, що " +"операція повинна створити атрибут." msgid "" "This is a possible value for the flags argument in :func:`setxattr`. It " "indicates the operation must replace an existing attribute." msgstr "" +"Це можливе значення для аргументу flags у :func:`setxattr`. Це означає, що " +"операція повинна замінити існуючий атрибут." msgid "Process Management" -msgstr "" +msgstr "Управління процесами" msgid "These functions may be used to create and manage processes." msgstr "" +"Ці функції можна використовувати для створення процесів і керування ними." msgid "" "The various :func:`exec\\* ` functions take a list of arguments for " @@ -3798,6 +5428,13 @@ msgid "" "``os.execv('/bin/echo', ['foo', 'bar'])`` will only print ``bar`` on " "standard output; ``foo`` will seem to be ignored." msgstr "" +"Різні функції :func:`exec\\* ` приймають список аргументів для нової " +"програми, завантаженої в процес. У кожному випадку перший із цих аргументів " +"передається новій програмі як її власне ім’я, а не як аргумент, який " +"користувач міг ввести в командному рядку. Для програміста на C це " +"``argv[0]``, що передається до :c:func:`main` програми. Наприклад, ``os." +"execv('/bin/echo', ['foo', 'bar'])`` виведе лише ``bar`` на стандартному " +"виводі; ``foo`` буде проігноровано." msgid "" "Generate a :const:`SIGABRT` signal to the current process. On Unix, the " @@ -3806,31 +5443,45 @@ msgid "" "function will not call the Python signal handler registered for :const:" "`SIGABRT` with :func:`signal.signal`." msgstr "" +"Згенерувати сигнал :const:`SIGABRT` для поточного процесу. В Unix типовою " +"поведінкою є створення дампа ядра; у Windows процес негайно повертає код " +"виходу ``3``. Майте на увазі, що виклик цієї функції не викличе обробник " +"сигналів Python, зареєстрований для :const:`SIGABRT` з :func:`signal.signal`." msgid "Add a path to the DLL search path." -msgstr "" +msgstr "Додайте шлях до шляху пошуку DLL." msgid "" "This search path is used when resolving dependencies for imported extension " "modules (the module itself is resolved through :data:`sys.path`), and also " "by :mod:`ctypes`." msgstr "" +"Цей шлях пошуку використовується під час вирішення залежностей для " +"імпортованих модулів розширення (сам модуль вирішується за допомогою :data:" +"`sys.path`), а також за допомогою :mod:`ctypes`." msgid "" "Remove the directory by calling **close()** on the returned object or using " "it in a :keyword:`with` statement." msgstr "" +"Видаліть каталог, викликавши **close()** для повернутого об’єкта або " +"використовуючи його в операторі :keyword:`with`." msgid "" "See the `Microsoft documentation `_ for more information about how " "DLLs are loaded." msgstr "" +"Перегляньте `документацію Microsoft `_, щоб дізнатися більше про те, як " +"завантажуються DLL." msgid "" "Raises an :ref:`auditing event ` ``os.add_dll_directory`` with " "argument ``path``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.add_dll_directory`` з " +"аргументом ``path``." msgid "" "Previous versions of CPython would resolve DLLs using the default behavior " @@ -3838,12 +5489,20 @@ msgid "" "searching :envvar:`PATH` or the current working directory, and OS functions " "such as ``AddDllDirectory`` having no effect." msgstr "" +"Попередні версії CPython вирішували DLL, використовуючи типову поведінку для " +"поточного процесу. Це призвело до неузгодженості, наприклад лише іноді " +"пошук :envvar:`PATH` або поточного робочого каталогу, а функції ОС, такі як " +"``AddDllDirectory``, не мали ефекту." msgid "" "In 3.8, the two primary ways DLLs are loaded now explicitly override the " "process-wide behavior to ensure consistency. See the :ref:`porting notes " "` for information on updating libraries." msgstr "" +"У версії 3.8 два основні способи завантаження бібліотек DLL тепер явно " +"замінюють поведінку всього процесу, щоб забезпечити узгодженість. " +"Перегляньте :ref:`нотатки щодо портування `, щоб " +"отримати інформацію щодо оновлення бібліотек." msgid "" "These functions all execute a new program, replacing the current process; " @@ -3851,6 +5510,10 @@ msgid "" "process, and will have the same process id as the caller. Errors will be " "reported as :exc:`OSError` exceptions." msgstr "" +"Усі ці функції виконують нову програму, замінюючи поточний процес; вони не " +"повертаються. В Unix новий виконуваний файл завантажується в поточний процес " +"і матиме той самий ідентифікатор процесу, що й виклик. Помилки " +"повідомлятимуться як винятки :exc:`OSError`." msgid "" "The current process is replaced immediately. Open file objects and " @@ -3858,6 +5521,10 @@ msgid "" "files, you should flush them using :func:`sys.stdout.flush` or :func:`os." "fsync` before calling an :func:`exec\\* ` function." msgstr "" +"Поточний процес негайно замінюється. Відкриті файлові об’єкти та дескриптори " +"не скидаються, тому, якщо у цих відкритих файлах можуть бути буферизовані " +"дані, вам слід очистити їх за допомогою :func:`sys.stdout.flush` або :func:" +"`os.fsync` перед викликом :func:`exec\\* ` функція." msgid "" "The \"l\" and \"v\" variants of the :func:`exec\\* ` functions differ " @@ -3870,6 +5537,15 @@ msgid "" "child process should start with the name of the command being run, but this " "is not enforced." msgstr "" +"Варианты \"l\" и \"v\" :func:`exec\\*\n" +"` функции различаются способом передачи аргументов командной строки. С " +"вариантами «l», пожалуй, проще всего работать, если количество параметров " +"фиксировано при написании кода; отдельные параметры просто становятся " +"дополнительными параметрами к :func:`!execl\\*` функции. Варианты «v» " +"хороши, когда количество параметров является переменным, а аргументы " +"передаются в списке или кортеже как параметр *args*. В любом случае " +"аргументы дочернего процесса должны начинаться с имени запускаемой команды, " +"но это не является обязательным." msgid "" "The variants which include a \"p\" near the end (:func:`execlp`, :func:" @@ -3883,6 +5559,17 @@ msgid "" "absolute or relative path. Relative paths must include at least one slash, " "even on Windows, as plain names will not be resolved." msgstr "" +"Варианты, в которых есть буква «p» в конце ( :func:`execlp` , :func:" +"`execlpe` , :func:`execvp` , и :func:`execvpe` ) будет использовать :envvar:" +"`ПУТЬ` переменная среды, чтобы найти *файл* программы. При замене среды (с " +"использованием одного из :func:`exec\\*e\n" +"`варианты, обсуждаемые в следующем параграфе), новая среда используется в " +"качестве источника :envvar:`ПУТЬ` переменная. Остальные варианты, :func:" +"`execl` , :func:`execle` , :func:`execv` , и :func:`execve` , не буду " +"использовать :envvar:`ПУТЬ` переменная для поиска исполняемого файла; *path* " +"должен содержать соответствующий абсолютный или относительный путь. " +"Относительные пути должны включать хотя бы одну косую черту, даже в Windows, " +"поскольку простые имена не будут разрешены." msgid "" "For :func:`execle`, :func:`execlpe`, :func:`execve`, and :func:`execvpe` " @@ -3892,6 +5579,12 @@ msgid "" "`execl`, :func:`execlp`, :func:`execv`, and :func:`execvp` all cause the new " "process to inherit the environment of the current process." msgstr "" +"Для :func:`execle`, :func:`execlpe`, :func:`execve` і :func:`execvpe` " +"(зауважте, що всі вони закінчуються на \"e\"), параметр *env* має бути " +"зіставленням який використовується для визначення змінних середовища для " +"нового процесу (вони використовуються замість середовища поточного процесу); " +"функції :func:`execl`, :func:`execlp`, :func:`execv` і :func:`execvp` " +"змушують новий процес успадковувати середовище поточного процесу." msgid "" "For :func:`execve` on some platforms, *path* may also be specified as an " @@ -3900,26 +5593,39 @@ msgid "" "supports_fd`. If it is unavailable, using it will raise a :exc:" "`NotImplementedError`." msgstr "" +"Для :func:`execve` на деяких платформах *шлях* також може бути вказаний як " +"дескриптор відкритого файлу. Ця функція може не підтримуватися на вашій " +"платформі; ви можете перевірити, чи він доступний, за допомогою :data:`os." +"supports_fd`. Якщо він недоступний, його використання призведе до помилки :" +"exc:`NotImplementedError`." msgid "" "Raises an :ref:`auditing event ` ``os.exec`` with arguments " "``path``, ``args``, ``env``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.exec`` з аргументами ``path``, " +"``args``, ``env``." msgid "" "Added support for specifying *path* as an open file descriptor for :func:" "`execve`." msgstr "" +"Додано підтримку вказівки *шляху* як дескриптора відкритого файлу для :func:" +"`execve`." msgid "" "Exit the process with status *n*, without calling cleanup handlers, flushing " "stdio buffers, etc." msgstr "" +"Вийдіть із процесу зі статусом *n*, без виклику обробників очищення, " +"очищення буферів stdio тощо." msgid "" "The standard way to exit is :func:`sys.exit(n) `. :func:`!_exit` " "should normally only be used in the child process after a :func:`fork`." msgstr "" +"Стандартный способ выхода: :func:`sys.exit(n) ` . :func:`!_exit` " +"обычно следует использовать в дочернем процессе только после :func:`вилка` ." msgid "" "The following exit codes are defined and can be used with :func:`_exit`, " @@ -3927,113 +5633,156 @@ msgid "" "programs written in Python, such as a mail server's external command " "delivery program." msgstr "" +"Наступні коди виходу визначені та можуть використовуватися з :func:`_exit`, " +"хоча вони не є обов’язковими. Зазвичай вони використовуються для системних " +"програм, написаних мовою Python, таких як зовнішня програма доставки команд " +"поштового сервера." msgid "" "Some of these may not be available on all Unix platforms, since there is " "some variation. These constants are defined where they are defined by the " "underlying platform." msgstr "" +"Bazı değişkenlikler olduğundan, bunlardan bazıları tüm Unix platformlarında " +"mevcut olmayabilir. Bu sabitler, temel alınan platform tarafından " +"tanımlandıkları yerde tanımlanır." msgid "" "Exit code that means no error occurred. May be taken from the defined value " "of ``EXIT_SUCCESS`` on some platforms. Generally has a value of zero." msgstr "" +"Код выхода, который означает, что ошибки не произошло. Может быть взято из " +"определенного значения ``EXIT_SUCCESS`` на некоторых платформах. Обычно " +"имеет нулевое значение." msgid "" "Exit code that means the command was used incorrectly, such as when the " "wrong number of arguments are given." msgstr "" +"Код виходу, який означає, що команда була використана неправильно, " +"наприклад, коли вказано неправильну кількість аргументів." msgid "Exit code that means the input data was incorrect." -msgstr "" +msgstr "Код виходу, який означає, що введені дані були неправильними." msgid "Exit code that means an input file did not exist or was not readable." -msgstr "" +msgstr "Код виходу, який означає, що вхідний файл не існував або не читався." msgid "Exit code that means a specified user did not exist." -msgstr "" +msgstr "Код виходу, який означає, що вказаний користувач не існував." msgid "Exit code that means a specified host did not exist." -msgstr "" +msgstr "Код виходу, який означає, що вказаний хост не існував." msgid "Exit code that means that a required service is unavailable." -msgstr "" +msgstr "Код виходу, який означає, що потрібна послуга недоступна." msgid "Exit code that means an internal software error was detected." msgstr "" +"Код виходу, який означає, що виявлено внутрішню помилку програмного " +"забезпечення." msgid "" "Exit code that means an operating system error was detected, such as the " "inability to fork or create a pipe." msgstr "" +"Код виходу, який означає, що виявлено помилку операційної системи, наприклад " +"неможливість розгалуження або створення каналу." msgid "" "Exit code that means some system file did not exist, could not be opened, or " "had some other kind of error." msgstr "" +"Код виходу, який означає, що якийсь системний файл не існував, його " +"неможливо відкрити або якийсь інший тип помилки." msgid "Exit code that means a user specified output file could not be created." msgstr "" +"Код виходу означає, що вказаний користувачем вихідний файл неможливо " +"створити." msgid "" "Exit code that means that an error occurred while doing I/O on some file." msgstr "" +"Код виходу, який означає, що сталася помилка під час виконання вводу-виводу " +"для деякого файлу." msgid "" "Exit code that means a temporary failure occurred. This indicates something " "that may not really be an error, such as a network connection that couldn't " "be made during a retryable operation." msgstr "" +"Код виходу, який означає, що стався тимчасовий збій. Це вказує на те, що " +"насправді не може бути помилкою, наприклад мережеве підключення, яке не " +"вдалося встановити під час повторної операції." msgid "" "Exit code that means that a protocol exchange was illegal, invalid, or not " "understood." msgstr "" +"Код виходу, який означає, що обмін протоколом був незаконним, недійсним або " +"незрозумілим." msgid "" "Exit code that means that there were insufficient permissions to perform the " "operation (but not intended for file system problems)." msgstr "" +"Код виходу, який означає, що було недостатньо дозволів для виконання " +"операції (але не призначений для проблем файлової системи)." msgid "Exit code that means that some kind of configuration error occurred." -msgstr "" +msgstr "Код виходу, який означає, що сталася якась помилка конфігурації." msgid "Exit code that means something like \"an entry was not found\"." -msgstr "" +msgstr "Код виходу, який означає щось на зразок \"запис не знайдено\"." msgid "" "Fork a child process. Return ``0`` in the child and the child's process id " "in the parent. If an error occurs :exc:`OSError` is raised." msgstr "" +"Розгалужуйте дочірній процес. Повертає ``0`` у дочірньому процесі та " +"ідентифікатор дочірнього процесу в батьківському. У разі виникнення помилки " +"виникає :exc:`OSError`." msgid "" "Note that some platforms including FreeBSD <= 6.3 and Cygwin have known " "issues when using ``fork()`` from a thread." msgstr "" +"Зауважте, що деякі платформи, включаючи FreeBSD <= 6.3 і Cygwin, мають " +"відомі проблеми під час використання ``fork()`` із потоку." msgid "" "Raises an :ref:`auditing event ` ``os.fork`` with no arguments." -msgstr "" +msgstr "Викликає :ref:`подію аудиту ` ``os.fork`` без аргументів." msgid "" "If you use TLS sockets in an application calling ``fork()``, see the warning " "in the :mod:`ssl` documentation." msgstr "" +"Если вы используете сокеты TLS в приложении, вызывающем ``вилка()`` , см. " +"предупреждение в :mod:`ssl` документация." msgid "" "On macOS the use of this function is unsafe when mixed with using higher-" "level system APIs, and that includes using :mod:`urllib.request`." msgstr "" +"В macOS использование этой функции небезопасно в сочетании с использованием " +"системных API более высокого уровня, включая использование :mod:`urllib." +"request` ." msgid "" "Calling ``fork()`` in a subinterpreter is no longer supported (:exc:" "`RuntimeError` is raised)." msgstr "" +"Виклик ``fork()`` у підінтерпретаторі більше не підтримується (виникає :exc:" +"`RuntimeError`)." msgid "" "If Python is able to detect that your process has multiple threads, :func:" "`os.fork` now raises a :exc:`DeprecationWarning`." msgstr "" +"Если Python может обнаружить, что ваш процесс имеет несколько потоков, :func:" +"`os.fork` теперь поднимает вопрос :exc:`DeprecationWarning` ." msgid "" "We chose to surface this as a warning, when detectable, to better inform " @@ -4044,18 +5793,33 @@ msgid "" "child process when threads existed in the parent (such as ``malloc`` and " "``free``)." msgstr "" +"Мы решили отображать это как предупреждение, когда оно обнаруживается, чтобы " +"лучше информировать разработчиков о проблеме проектирования, которую " +"платформа POSIX специально отмечает как не поддерживаемую. Даже в коде, " +"который *кажется* работающим, никогда не было безопасно смешивать " +"многопоточность с :func:`os.fork` на платформах POSIX. Сама среда выполнения " +"CPython всегда выполняла вызовы API, которые небезопасны для использования в " +"дочернем процессе, когда в родительском процессе существовали потоки " +"(например, ``Маллок`` и ``бесплатно`` )." msgid "" "Users of macOS or users of libc or malloc implementations other than those " "typically found in glibc to date are among those already more likely to " "experience deadlocks running such code." msgstr "" +"Пользователи macOS или пользователи реализаций libc или malloc, отличных от " +"тех, которые обычно встречаются в glibc на сегодняшний день, относятся к " +"числу тех, кто уже с большей вероятностью столкнется с тупиками при " +"выполнении такого кода." msgid "" "See `this discussion on fork being incompatible with threads `_ for technical details of why we're surfacing " "this longstanding platform compatibility problem to developers." msgstr "" +"См. «Это обсуждение несовместимости форка с потоками». `_ для получения технических подробностей о том, почему " +"мы сообщаем разработчикам об этой давней проблеме совместимости платформ." msgid "" "Fork a child process, using a new pseudo-terminal as the child's controlling " @@ -4064,26 +5828,39 @@ msgid "" "the master end of the pseudo-terminal. For a more portable approach, use " "the :mod:`pty` module. If an error occurs :exc:`OSError` is raised." msgstr "" +"Розгалужуйте дочірній процес, використовуючи новий псевдотермінал як " +"керуючий термінал дочірнього процесу. Повертає пару ``(pid, fd)``, де *pid* " +"є ``0`` у дочірньому, ідентифікатор нового дочірнього процесу в " +"батьківському, а *fd* є дескриптором файлу головного кінця псевдотермінал. " +"Для більш портативного підходу використовуйте модуль :mod:`pty`. У разі " +"виникнення помилки виникає :exc:`OSError`." msgid "" "Raises an :ref:`auditing event ` ``os.forkpty`` with no arguments." -msgstr "" +msgstr "Викликає :ref:`подію аудиту ` ``os.forkpty`` без аргументів." msgid "" "Calling ``forkpty()`` in a subinterpreter is no longer supported (:exc:" "`RuntimeError` is raised)." msgstr "" +"Виклик ``forkpty()`` у підінтерпретаторі більше не підтримується (виникає :" +"exc:`RuntimeError`)." msgid "" "If Python is able to detect that your process has multiple threads, this now " "raises a :exc:`DeprecationWarning`. See the longer explanation on :func:`os." "fork`." msgstr "" +"Если Python может обнаружить, что ваш процесс имеет несколько потоков, это " +"теперь вызывает :exc:`DeprecationWarning` . См. более подробное объяснение " +"на :func:`os.fork` ." msgid "" "Send signal *sig* to the process *pid*. Constants for the specific signals " "available on the host platform are defined in the :mod:`signal` module." msgstr "" +"Надішліть сигнал *sig* процесу *pid*. Константи для конкретних сигналів, " +"доступних на хост-платформі, визначаються в модулі :mod:`signal`." msgid "" "Windows: The :const:`signal.CTRL_C_EVENT` and :const:`signal." @@ -4093,35 +5870,51 @@ msgid "" "unconditionally killed by the TerminateProcess API, and the exit code will " "be set to *sig*." msgstr "" +"Windows: Сигналы :const:`signal.CTRL_C_EVENT` и :const:`signal." +"CTRL_BREAK_EVENT` — это специальные сигналы, которые можно отправлять только " +"консольным процессам, которые используют общее окно консоли, например " +"некоторым подпроцессам. Любое другое значение *sig* приведет к " +"безоговорочному завершению процесса API TerminateProcess, а код выхода будет " +"установлен на *sig*." msgid "See also :func:`signal.pthread_kill`." -msgstr "" +msgstr "Дивіться також :func:`signal.pthread_kill`." msgid "" "Raises an :ref:`auditing event ` ``os.kill`` with arguments " "``pid``, ``sig``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.kill`` з аргументами ``pid``, " +"``sig``." msgid "Send the signal *sig* to the process group *pgid*." -msgstr "" +msgstr "Надішліть сигнал *sig* до групи процесів *pgid*." msgid "" "Raises an :ref:`auditing event ` ``os.killpg`` with arguments " "``pgid``, ``sig``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.killpg`` з аргументами " +"``pgid``, ``sig``." msgid "" "Add *increment* to the process's \"niceness\". Return the new niceness." msgstr "" +"Додайте *приріст* до \"витонченості\" процесу. Поверніть нову привабливість." msgid "" "Return a file descriptor referring to the process *pid* with *flags* set. " "This descriptor can be used to perform process management without races and " "signals." msgstr "" +"Возвращает дескриптор файла, относящийся к процессу *pid* с установленными " +"*флагами*. Этот дескриптор можно использовать для управления процессом без " +"гонок и сигналов." msgid "See the :manpage:`pidfd_open(2)` man page for more details." msgstr "" +"Додаткову інформацію можна знайти на сторінці довідки :manpage:" +"`pidfd_open(2)`." msgid "" "This flag indicates that the file descriptor will be non-blocking. If the " @@ -4129,11 +5922,17 @@ msgid "" "attempt to wait on the file descriptor using :manpage:`waitid(2)` will " "immediately return the error :const:`~errno.EAGAIN` rather than blocking." msgstr "" +"Этот флаг указывает, что файловый дескриптор будет неблокирующим. Если " +"процесс, на который ссылается файловый дескриптор, еще не завершился, то " +"попытка дождаться файлового дескриптора с помощью :manpage:`waitid(2)` " +"немедленно вернет ошибку :const:`~errno.EAGAIN` а не блокировать." msgid "" "Lock program segments into memory. The value of *op* (defined in ````) determines which segments are locked." msgstr "" +"Блокування сегментів програми в пам'яті. Значення *op* (визначене в ````) визначає, які сегменти заблоковано." msgid "" "Open a pipe to or from command *cmd*. The return value is an open file " @@ -4143,6 +5942,12 @@ msgid "" "`open` function. The returned file object reads or writes text strings " "rather than bytes." msgstr "" +"Откройте канал к или от команды *cmd*. Возвращаемое значение — это открытый " +"файловый объект, подключенный к каналу, который можно читать или записывать " +"в зависимости от того, установлен ли *mode*. ``'р'`` (по умолчанию) или " +"``'в'`` . Аргумент *buffering* имеет то же значение, что и соответствующий " +"аргумент встроенной функции. :func:`открыть` функция. Возвращенный файловый " +"объект читает или записывает текстовые строки, а не байты." msgid "" "The ``close`` method returns :const:`None` if the subprocess exited " @@ -4154,48 +5959,79 @@ msgid "" "if the subprocess was killed.) On Windows systems, the return value " "contains the signed integer return code from the child process." msgstr "" +"Метод ``close`` повертає :const:`None`, якщо підпроцес завершився успішно, " +"або код повернення підпроцесу, якщо сталася помилка. У системах POSIX, якщо " +"код повернення позитивний, він представляє значення, що повертається " +"процесом, зміщене вліво на один байт. Якщо код повернення від’ємний, це " +"означає, що процес було припинено за допомогою сигналу, поданого зведеним " +"значенням коду повернення. (Наприклад, значення, що повертається, може бути " +"``- signal.SIGKILL``, якщо підпроцес було закрито.) У системах Windows " +"значення, що повертається, містить цілочисельний код повернення зі знаком " +"від дочірнього процесу." msgid "" "On Unix, :func:`waitstatus_to_exitcode` can be used to convert the ``close`` " "method result (exit status) into an exit code if it is not ``None``. On " "Windows, the ``close`` method result is directly the exit code (or ``None``)." msgstr "" +"В Unix :func:`waitstatus_to_exitcode` можна використовувати для перетворення " +"результату методу ``close`` (статус виходу) у код виходу, якщо він не " +"``None``. У Windows результатом методу ``close`` є безпосередньо код виходу " +"(або ``None``)." msgid "" "This is implemented using :class:`subprocess.Popen`; see that class's " "documentation for more powerful ways to manage and communicate with " "subprocesses." msgstr "" +"Це реалізовано за допомогою :class:`subprocess.Popen`; перегляньте " +"документацію цього класу, щоб дізнатися про більш потужні способи керування " +"підпроцесами та спілкування з ними." msgid "" "The :ref:`Python UTF-8 Mode ` affects encodings used for *cmd* " "and pipe contents." msgstr "" +":ref:`Режим Python UTF-8\n" +"` влияет на кодировки, используемые для *cmd* и содержимого канала." msgid "" ":func:`popen` is a simple wrapper around :class:`subprocess.Popen`. Use :" "class:`subprocess.Popen` or :func:`subprocess.run` to control options like " "encodings." msgstr "" +":func:`попэн` это простая оболочка вокруг :class:`subprocess.Popen` . " +"Использовать :class:`subprocess.Popen` или :func:`subprocess.run` для " +"управления такими параметрами, как кодировки." msgid "Wraps the :c:func:`!posix_spawn` C library API for use from Python." msgstr "" +"Обертывает :c:func:`!posix_spawn` API библиотеки C для использования из " +"Python." msgid "" "Most users should use :func:`subprocess.run` instead of :func:`posix_spawn`." msgstr "" +"Більшість користувачів повинні використовувати :func:`subprocess.run` " +"замість :func:`posix_spawn`." msgid "" "The positional-only arguments *path*, *args*, and *env* are similar to :func:" "`execve`. *env* is allowed to be ``None``, in which case current process' " "environment is used." msgstr "" +"Позиционные аргументы *path*, *args* и *env* аналогичны :func:`execve` . " +"*env* разрешено ``Нет`` , и в этом случае используется среда текущего " +"процесса." msgid "" "The *path* parameter is the path to the executable file. The *path* should " "contain a directory. Use :func:`posix_spawnp` to pass an executable file " "without directory." msgstr "" +"Параметр *path* — це шлях до виконуваного файлу. *Шлях* має містити каталог. " +"Використовуйте :func:`posix_spawnp`, щоб передати виконуваний файл без " +"каталогу." msgid "" "The *file_actions* argument may be a sequence of tuples describing actions " @@ -4204,12 +6040,17 @@ msgid "" "item in each tuple must be one of the three type indicator listed below " "describing the remaining tuple elements:" msgstr "" +"Аргумент *file_actions* може бути послідовністю кортежів, що описують дії, " +"які потрібно виконати над певними дескрипторами файлів у дочірньому процесі " +"між кроками :c:func:`fork` і :c:func:`exec` реалізації бібліотеки C. Перший " +"елемент у кожному кортежі має бути одним із трьох наведених нижче " +"індикаторів типу, що описують інші елементи кортежу:" msgid "(``os.POSIX_SPAWN_OPEN``, *fd*, *path*, *flags*, *mode*)" -msgstr "" +msgstr "(``os.POSIX_SPAWN_OPEN``, *fd*, *шлях*, *прапори*, *режим*)" msgid "Performs ``os.dup2(os.open(path, flags, mode), fd)``." -msgstr "" +msgstr "Виконує ``os.dup2(os.open(path, flags, mode), fd)``." msgid "(``os.POSIX_SPAWN_CLOSE``, *fd*)" msgstr "(``os.POSIX_SPAWN_CLOSE``, *fd*)" @@ -4218,16 +6059,16 @@ msgid "Performs ``os.close(fd)``." msgstr "Performs ``os.close(fd)``." msgid "(``os.POSIX_SPAWN_DUP2``, *fd*, *new_fd*)" -msgstr "" +msgstr "(``os.POSIX_SPAWN_DUP2``, *fd*, *new_fd*)" msgid "Performs ``os.dup2(fd, new_fd)``." -msgstr "" +msgstr "Виконує ``os.dup2(fd, new_fd)``." msgid "(``os.POSIX_SPAWN_CLOSEFROM``, *fd*)" -msgstr "" +msgstr "(``os.POSIX_SPAWN_CLOSEFROM``, *fd*)" msgid "Performs ``os.closerange(fd, INF)``." -msgstr "" +msgstr "Выполняет ``os.closerange(fd, INF)`` ." msgid "" "These tuples correspond to the C library :c:func:`!" @@ -4237,6 +6078,12 @@ msgid "" "posix_spawn_file_actions_addclosefrom_np` API calls used to prepare for the :" "c:func:`!posix_spawn` call itself." msgstr "" +"Эти кортежи соответствуют библиотеке C. :c:func:`!" +"posix_spawn_file_actions_addopen` , :c:func:`!" +"posix_spawn_file_actions_addclose` , :c:func:`!" +"posix_spawn_file_actions_addup2` , и :c:func:`!" +"posix_spawn_file_actions_addclosefrom_np` Вызовы API, используемые для " +"подготовки к :c:func:`!posix_spawn` позвони себе." msgid "" "The *setpgroup* argument will set the process group of the child to the " @@ -4245,6 +6092,12 @@ msgid "" "set, the child will inherit the parent's process group ID. This argument " "corresponds to the C library :c:macro:`!POSIX_SPAWN_SETPGROUP` flag." msgstr "" +"Аргумент *setpgroup* установит для группы дочернего процесса указанное " +"значение. Если указанное значение равно 0, идентификатор дочерней группы " +"процессов будет равен идентификатору ее процесса. Если значение *setpgroup* " +"не установлено, дочерний процесс унаследует идентификатор родительской " +"группы процессов. Этот аргумент соответствует библиотеке C. :c:macro:`!" +"POSIX_SPAWN_SETPGROUP` флаг." msgid "" "If the *resetids* argument is ``True`` it will reset the effective UID and " @@ -4255,6 +6108,13 @@ msgid "" "setting of the effective UID and GID. This argument corresponds to the C " "library :c:macro:`!POSIX_SPAWN_RESETIDS` flag." msgstr "" +"Если аргумент *resetids* равен ``Правда`` он сбросит эффективные UID и GID " +"дочернего процесса на реальные UID и GID родительского процесса. Если " +"аргумент ``Ложь`` , то дочерний элемент сохраняет действующие UID и GID " +"родителя. В любом случае, если биты разрешений set-user-ID и set-group-ID " +"включены в исполняемом файле, их действие будет переопределять настройку " +"эффективных UID и GID. Этот аргумент соответствует библиотеке C. :c:macro:`!" +"POSIX_SPAWN_RESETIDS` флаг." msgid "" "If the *setsid* argument is ``True``, it will create a new session ID for " @@ -4262,6 +6122,10 @@ msgid "" "macro:`!POSIX_SPAWN_SETSID_NP` flag. Otherwise, :exc:`NotImplementedError` " "is raised." msgstr "" +"Если аргумент *setsid* равен ``Правда`` , он создаст новый идентификатор " +"сеанса для ``posix_spawn`` . *setsid* требует :c:macro:`!POSIX_SPAWN_SETSID` " +"или :c:macro:`!POSIX_SPAWN_SETSID_NP` флаг. В противном случае, :exc:" +"`NotImplementedError` поднят." msgid "" "The *setsigmask* argument will set the signal mask to the signal set " @@ -4269,12 +6133,19 @@ msgid "" "parent's signal mask. This argument corresponds to the C library :c:macro:`!" "POSIX_SPAWN_SETSIGMASK` flag." msgstr "" +"Аргумент *setsigmask* установит маску сигнала в соответствии с указанным " +"набором сигналов. Если параметр не используется, то дочерний элемент " +"наследует маску сигнала родителя. Этот аргумент соответствует библиотеке C. :" +"c:macro:`!POSIX_SPAWN_SETSIGMASK` флаг." msgid "" "The *sigdef* argument will reset the disposition of all signals in the set " "specified. This argument corresponds to the C library :c:macro:`!" "POSIX_SPAWN_SETSIGDEF` flag." msgstr "" +"Аргумент *sigdef* сбросит расположение всех сигналов в указанном наборе. " +"Этот аргумент соответствует библиотеке C. :c:macro:`!POSIX_SPAWN_SETSIGDEF` " +"флаг." msgid "" "The *scheduler* argument must be a tuple containing the (optional) scheduler " @@ -4284,70 +6155,106 @@ msgid "" "C library :c:macro:`!POSIX_SPAWN_SETSCHEDPARAM` and :c:macro:`!" "POSIX_SPAWN_SETSCHEDULER` flags." msgstr "" +"Аргумент *scheduler* должен быть кортежем, содержащим (необязательную) " +"политику планировщика и экземпляр :class:`sched_param` с параметрами " +"планировщика. Значение ``Нет`` вместо политики планировщика указано, что не " +"предоставляется. Этот аргумент представляет собой комбинацию библиотеки C :c:" +"macro:`!POSIX_SPAWN_SETSCHEDPARAM` и :c:macro:`!POSIX_SPAWN_SETSCHEDULER` " +"флаги." msgid "" "Raises an :ref:`auditing event ` ``os.posix_spawn`` with arguments " "``path``, ``argv``, ``env``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.posix_spawn`` з аргументами " +"``path``, ``argv``, ``env``." msgid "" "*env* parameter accepts ``None``. ``os.POSIX_SPAWN_CLOSEFROM`` is available " "on platforms where :c:func:`!posix_spawn_file_actions_addclosefrom_np` " "exists." msgstr "" +"Параметр *env* принимается ``Нет`` . ``os.POSIX_SPAWN_CLOSEFROM`` доступен " +"на платформах, где :c:func:`!posix_spawn_file_actions_addclosefrom_np` " +"существует." msgid "Wraps the :c:func:`!posix_spawnp` C library API for use from Python." msgstr "" +"Обертывает :c:func:`!posix_spawnp` API библиотеки C для использования из " +"Python." msgid "" "Similar to :func:`posix_spawn` except that the system searches for the " "*executable* file in the list of directories specified by the :envvar:`PATH` " "environment variable (in the same way as for ``execvp(3)``)." msgstr "" +"Подібно до :func:`posix_spawn`, за винятком того, що система шукає " +"*виконуваний* файл у списку каталогів, визначених змінною середовища :envvar:" +"`PATH` (так само, як і для ``execvp(3)`` )." msgid "See :func:`posix_spawn` documentation." -msgstr "" +msgstr "См. документацию :func:`posix_spawn`." msgid "" "Register callables to be executed when a new child process is forked using :" "func:`os.fork` or similar process cloning APIs. The parameters are optional " "and keyword-only. Each specifies a different call point." msgstr "" +"Зареєструйте виклики, які будуть виконуватися, коли новий дочірній процес " +"розгалужується за допомогою :func:`os.fork` або аналогічного API клонування " +"процесу. Параметри є необов’язковими та містять лише ключові слова. Кожен із " +"них визначає окремий пункт виклику." msgid "*before* is a function called before forking a child process." msgstr "" +"*before* — це функція, яка викликається перед розгалуженням дочірнього " +"процесу." msgid "" "*after_in_parent* is a function called from the parent process after forking " "a child process." msgstr "" +"*after_in_parent* — це функція, яка викликається з батьківського процесу " +"після розгалуження дочірнього процесу." msgid "*after_in_child* is a function called from the child process." -msgstr "" +msgstr "*after_in_child* — це функція, яка викликається з дочірнього процесу." msgid "" "These calls are only made if control is expected to return to the Python " "interpreter. A typical :mod:`subprocess` launch will not trigger them as " "the child is not going to re-enter the interpreter." msgstr "" +"Ці виклики здійснюються лише в тому випадку, якщо очікується, що контроль " +"повернеться до інтерпретатора Python. Типовий запуск підпроцесу :mod:" +"`subprocess` не запустить їх, оскільки дитина не збирається повторно входити " +"в інтерпретатор." msgid "" "Functions registered for execution before forking are called in reverse " "registration order. Functions registered for execution after forking " "(either in the parent or in the child) are called in registration order." msgstr "" +"Функції, зареєстровані для виконання перед розгалуженням, викликаються у " +"зворотному порядку реєстрації. Функції, зареєстровані для виконання після " +"розгалуження (або в батьківському, або в дочірньому) викликаються в порядку " +"реєстрації." msgid "" "Note that :c:func:`fork` calls made by third-party C code may not call those " "functions, unless it explicitly calls :c:func:`PyOS_BeforeFork`, :c:func:" "`PyOS_AfterFork_Parent` and :c:func:`PyOS_AfterFork_Child`." msgstr "" +"Зауважте, що виклики :c:func:`fork`, здійснені стороннім C-кодом, можуть не " +"викликати ці функції, якщо тільки вони явно не викликають :c:func:" +"`PyOS_BeforeFork`, :c:func:`PyOS_AfterFork_Parent` і :c:func:" +"`PyOS_AfterFork_Child`." msgid "There is no way to unregister a function." -msgstr "" +msgstr "Немає способу скасувати реєстрацію функції." msgid "Execute the program *path* in a new process." -msgstr "" +msgstr "Виконайте *шлях* програми в новому процесі." msgid "" "(Note that the :mod:`subprocess` module provides more powerful facilities " @@ -4355,6 +6262,10 @@ msgid "" "is preferable to using these functions. Check especially the :ref:" "`subprocess-replacements` section.)" msgstr "" +"(Зверніть увагу, що модуль :mod:`subprocess` надає потужніші можливості для " +"створення нових процесів і отримання їх результатів; використання цього " +"модуля є кращим, ніж використання цих функцій. Особливо перевірте розділ :" +"ref:`subprocess-replacements`.)" msgid "" "If *mode* is :const:`P_NOWAIT`, this function returns the process id of the " @@ -4363,11 +6274,19 @@ msgid "" "killed the process. On Windows, the process id will actually be the process " "handle, so can be used with the :func:`waitpid` function." msgstr "" +"Якщо *mode* :const:`P_NOWAIT`, ця функція повертає ідентифікатор процесу " +"нового процесу; якщо *mode* дорівнює :const:`P_WAIT`, повертає код виходу " +"процесу, якщо він завершується нормально, або ``-signal``, де *signal* є " +"сигналом, який зупинив процес. У Windows ідентифікатор процесу фактично буде " +"ідентифікатором процесу, тому його можна використовувати з функцією :func:" +"`waitpid`." msgid "" "Note on VxWorks, this function doesn't return ``-signal`` when the new " "process is killed. Instead it raises OSError exception." msgstr "" +"Зверніть увагу на VxWorks, ця функція не повертає ``-signal``, коли новий " +"процес завершується. Натомість викликає виняток OSError." msgid "" "The \"l\" and \"v\" variants of the :func:`spawn\\* ` functions " @@ -4379,6 +6298,14 @@ msgid "" "in a list or tuple as the *args* parameter. In either case, the arguments " "to the child process must start with the name of the command being run." msgstr "" +"Варианты \"l\" и \"v\" :func:`spawn\\*\n" +"` функции различаются способом передачи аргументов командной строки. С " +"вариантами «l», пожалуй, проще всего работать, если количество параметров " +"фиксировано при написании кода; отдельные параметры просто становятся " +"дополнительными параметрами к :func:`!spawnl\\*` функции. Варианты «v» " +"хороши, когда количество параметров является переменным, а аргументы " +"передаются в списке или кортеже как параметр *args*. В любом случае " +"аргументы дочернего процесса должны начинаться с имени запускаемой команды." msgid "" "The variants which include a second \"p\" near the end (:func:`spawnlp`, :" @@ -4391,6 +6318,15 @@ msgid "" "the :envvar:`PATH` variable to locate the executable; *path* must contain an " "appropriate absolute or relative path." msgstr "" +"Варіанти, які включають друге \"p\" у кінці (:func:`spawnlp`, :func:" +"`spawnlpe`, :func:`spawnvp` і :func:`spawnvpe`), використовуватимуть :envvar:" +"`PATH` змінна середовища для пошуку *файлу* програми. Під час заміни " +"середовища (з використанням одного з варіантів :func:`spawn\\*e `, " +"розглянутих у наступному параграфі), нове середовище використовується як " +"джерело змінної :envvar:`PATH`. Інші варіанти, :func:`spawnl`, :func:" +"`spawnle`, :func:`spawnv` і :func:`spawnve`, не використовуватимуть змінну :" +"envvar:`PATH` для пошуку виконуваного файлу; *path* повинен містити " +"відповідний абсолютний або відносний шлях." msgid "" "For :func:`spawnle`, :func:`spawnlpe`, :func:`spawnve`, and :func:`spawnvpe` " @@ -4402,11 +6338,21 @@ msgid "" "keys and values in the *env* dictionary must be strings; invalid keys or " "values will cause the function to fail, with a return value of ``127``." msgstr "" +"Для :func:`spawnle`, :func:`spawnlpe`, :func:`spawnve` і :func:`spawnvpe` " +"(зауважте, що всі вони закінчуються на \"e\"), параметр *env* має бути " +"відображенням який використовується для визначення змінних середовища для " +"нового процесу (вони використовуються замість середовища поточного процесу); " +"функції :func:`spawnl`, :func:`spawnlp`, :func:`spawnv` і :func:`spawnvp` " +"змушують новий процес успадковувати середовище поточного процесу. Зауважте, " +"що ключі та значення у словнику *env* мають бути рядками; недійсні ключі або " +"значення призведуть до помилки функції з поверненням значення ``127``." msgid "" "As an example, the following calls to :func:`spawnlp` and :func:`spawnvpe` " "are equivalent::" msgstr "" +"Як приклад, наступні виклики :func:`spawnlp` і :func:`spawnvpe` є " +"еквівалентними:" msgid "" "import os\n" @@ -4415,11 +6361,18 @@ msgid "" "L = ['cp', 'index.html', '/dev/null']\n" "os.spawnvpe(os.P_WAIT, 'cp', L, os.environ)" msgstr "" +"import os\n" +"os.spawnlp(os.P_WAIT, 'cp', 'cp', 'index.html', '/dev/null')\n" +"\n" +"L = ['cp', 'index.html', '/dev/null']\n" +"os.spawnvpe(os.P_WAIT, 'cp', L, os.environ)" msgid "" "Raises an :ref:`auditing event ` ``os.spawn`` with arguments " "``mode``, ``path``, ``args``, ``env``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.spawn`` з аргументами ``mode``, " +"``path``, ``args``, ``env``." msgid "" ":func:`spawnlp`, :func:`spawnlpe`, :func:`spawnvp` and :func:`spawnvpe` are " @@ -4427,6 +6380,10 @@ msgid "" "thread-safe on Windows; we advise you to use the :mod:`subprocess` module " "instead." msgstr "" +":func:`spawnlp` , :func:`spawnlpe` , :func:`spawnvp` и :func:`spawnvpe` " +"недоступны в Windows. :func:`spawnle` и :func:`spawnve` не являются " +"потокобезопасными в Windows; мы советуем вам использовать :mod:`подпроцесс` " +"вместо этого модуль." msgid "" "Possible values for the *mode* parameter to the :func:`spawn\\* ` " @@ -4434,6 +6391,10 @@ msgid "" "`spawn\\* ` functions will return as soon as the new process has " "been created, with the process id as the return value." msgstr "" +"Возможные значения параметра *mode* для :func:`spawn\\*\n" +"`семейство функций. Если указано любое из этих значений, :func:`spawn\\*` " +"функции вернутся, как только будет создан новый процесс, с идентификатором " +"процесса в качестве возвращаемого значения." msgid "" "Possible value for the *mode* parameter to the :func:`spawn\\* ` " @@ -4442,6 +6403,11 @@ msgid "" "completion and will return the exit code of the process the run is " "successful, or ``-signal`` if a signal kills the process." msgstr "" +"Возможное значение параметра *mode* для :func:`spawn\\*\n" +"`семейство функций. Если это задано как *mode*, :func:`spawn\\*` функции не " +"вернутся до тех пор, пока новый процесс не завершится до завершения, и " +"вернут код завершения процесса, запуск которого был успешным, или ``-" +"сигнал`` если сигнал убивает процесс." msgid "" "Possible values for the *mode* parameter to the :func:`spawn\\* ` " @@ -4451,9 +6417,14 @@ msgid "" "used, the current process will be replaced; the :func:`spawn\\* ` " "function will not return." msgstr "" +"Можливі значення для параметра *mode* для сімейства функцій :func:`spawn\\* " +"`. Вони менш портативні, ніж перелічені вище. :const:`P_DETACH` " +"подібний до :const:`P_NOWAIT`, але новий процес від’єднується від консолі " +"процесу, що викликає. Якщо :const:`P_OVERLAY` використовується, поточний " +"процес буде замінено; функція :func:`spawn\\* ` не повернеться." msgid "Start a file with its associated application." -msgstr "" +msgstr "Запустіть файл із пов’язаною програмою." msgid "" "When *operation* is not specified, this acts like double-clicking the file " @@ -4461,6 +6432,10 @@ msgid "" "`start` command from the interactive command shell: the file is opened with " "whatever application (if any) its extension is associated." msgstr "" +"Если *operation* не указано, это действует как двойной щелчок файла в " +"проводнике Windows или передача имени файла в качестве аргумента :program:" +"`старт` команда из интерактивной командной оболочки: файл открывается любым " +"приложением (если таковое имеется), с которым связано его расширение." msgid "" "When another *operation* is given, it must be a \"command verb\" that " @@ -4468,24 +6443,39 @@ msgid "" "Microsoft are ``'open'``, ``'print'`` and ``'edit'`` (to be used on files) " "as well as ``'explore'`` and ``'find'`` (to be used on directories)." msgstr "" +"Если задана другая *операция*, это должен быть «командный глагол», " +"указывающий, что следует сделать с файлом. Распространенные глаголы, " +"задокументированные Microsoft: ``'открыть'`` , ``'распечатать'`` и " +"``'редактировать'`` (для использования в файлах), а также ``'исследовать'`` " +"и ``'найти'`` (для использования в каталогах)." msgid "" "When launching an application, specify *arguments* to be passed as a single " "string. This argument may have no effect when using this function to launch " "a document." msgstr "" +"Під час запуску програми вкажіть *аргументи*, які передаються як один рядок. " +"Цей аргумент може не мати ефекту під час використання цієї функції для " +"запуску документа." msgid "" "The default working directory is inherited, but may be overridden by the " "*cwd* argument. This should be an absolute path. A relative *path* will be " "resolved against this argument." msgstr "" +"Робочий каталог за замовчуванням успадковується, але може бути " +"перевизначений аргументом *cwd*. Це має бути абсолютний шлях. Відносний " +"*шлях* буде вирішено проти цього аргументу." msgid "" "Use *show_cmd* to override the default window style. Whether this has any " "effect will depend on the application being launched. Values are integers as " "supported by the Win32 :c:func:`!ShellExecute` function." msgstr "" +"Используйте *show_cmd*, чтобы переопределить стиль окна по умолчанию. Будет " +"ли это иметь какой-либо эффект, будет зависеть от запускаемого приложения. " +"Значения представляют собой целые числа, поддерживаемые Win32. :c:func:`!" +"ShellExecute` функция." msgid "" ":func:`startfile` returns as soon as the associated application is launched. " @@ -4496,27 +6486,43 @@ msgid "" "the :func:`os.path.normpath` function to ensure that paths are properly " "encoded for Win32." msgstr "" +":func:`startfile` повертається, щойно буде запущено відповідну програму. " +"Немає можливості чекати, поки програма закриється, і немає способу отримати " +"статус виходу програми. Параметр *path* відноситься до поточного каталогу " +"або *cwd*. Якщо ви хочете використовувати абсолютний шлях, переконайтеся, що " +"перший символ не є скісною рискою (``'/'``). Використовуйте :mod:`pathlib` " +"або функцію :func:`os.path.normpath`, щоб переконатися, що шляхи правильно " +"закодовані для Win32." msgid "" "To reduce interpreter startup overhead, the Win32 :c:func:`!ShellExecute` " "function is not resolved until this function is first called. If the " "function cannot be resolved, :exc:`NotImplementedError` will be raised." msgstr "" +"Чтобы уменьшить затраты на запуск интерпретатора, Win32 :c:func:`!" +"ShellExecute` функция не разрешается до первого вызова этой функции. Если " +"функция не может быть решена, :exc:`NotImplementedError` будет повышен." msgid "" "Raises an :ref:`auditing event ` ``os.startfile`` with arguments " "``path``, ``operation``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.startfile`` з аргументами " +"``path``, ``operation``." msgid "" "Raises an :ref:`auditing event ` ``os.startfile/2`` with arguments " "``path``, ``operation``, ``arguments``, ``cwd``, ``show_cmd``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.startfile/2`` з аргументами " +"``path``, ``operation``, ``arguments``, ``cwd``, ``show_cmd`` ." msgid "" "Added the *arguments*, *cwd* and *show_cmd* arguments, and the ``os." "startfile/2`` audit event." msgstr "" +"Додано аргументи *arguments*, *cwd* і *show_cmd* і подію аудиту ``os." +"startfile/2``." msgid "" "Execute the command (a string) in a subshell. This is implemented by " @@ -4527,11 +6533,20 @@ msgid "" "not specify the meaning of the return value of the C function, so the return " "value of the Python function is system-dependent." msgstr "" +"Виконайте команду (рядок) у підоболонці. Це реалізується шляхом виклику " +"стандартної функції C :c:func:`system` і має ті самі обмеження. Зміни в :" +"data:`sys.stdin` тощо не відображаються в середовищі виконуваної команди. " +"Якщо *команда* генерує будь-який вихід, він буде надісланий до стандартного " +"потоку виводу інтерпретатора. Стандарт C не визначає значення значення, що " +"повертається функцією C, тому значення, що повертається функцією Python, " +"залежить від системи." msgid "" "On Unix, the return value is the exit status of the process encoded in the " "format specified for :func:`wait`." msgstr "" +"В Unix значення, що повертається, є статусом завершення процесу, закодованим " +"у форматі, указаному для :func:`wait`." msgid "" "On Windows, the return value is that returned by the system shell after " @@ -4540,6 +6555,11 @@ msgid "" "status of the command run; on systems using a non-native shell, consult your " "shell documentation." msgstr "" +"У Windows повертається значення, яке повертає системна оболонка після " +"виконання *команди*. Оболонка визначається змінною середовища Windows :" +"envvar:`COMSPEC`: зазвичай це :program:`cmd.exe`, яка повертає статус " +"завершення виконання команди; у системах, які використовують нерідну " +"оболонку, зверніться до документації вашої оболонки." msgid "" "The :mod:`subprocess` module provides more powerful facilities for spawning " @@ -4553,37 +6573,48 @@ msgid "" "(exit status) into an exit code. On Windows, the result is directly the exit " "code." msgstr "" +"В Unix :func:`waitstatus_to_exitcode` можна використовувати для перетворення " +"результату (статус виходу) у код виходу. У Windows результатом є " +"безпосередньо код виходу." msgid "" "Raises an :ref:`auditing event ` ``os.system`` with argument " "``command``." msgstr "" +"Викликає :ref:`подію аудиту ` ``os.system`` з аргументом " +"``command``." msgid "" "Returns the current global process times. The return value is an object with " "five attributes:" msgstr "" +"Повертає поточний глобальний час процесу. Повернене значення є об’єктом із " +"п’ятьма атрибутами:" msgid ":attr:`!user` - user time" -msgstr "" +msgstr ":attr:`!user` - час користувача" msgid ":attr:`!system` - system time" -msgstr "" +msgstr ":attr:`!system` - системний час" msgid ":attr:`!children_user` - user time of all child processes" -msgstr "" +msgstr ":attr:`!children_user` - час користувача всіх дочірніх процесів" msgid ":attr:`!children_system` - system time of all child processes" -msgstr "" +msgstr ":attr:`!children_system` - системний час усіх дочірніх процесів" msgid ":attr:`!elapsed` - elapsed real time since a fixed point in the past" msgstr "" +":attr:`!elapsed` - реальний час, що минув від фіксованої точки в минулому" msgid "" "For backwards compatibility, this object also behaves like a five-tuple " "containing :attr:`!user`, :attr:`!system`, :attr:`!children_user`, :attr:`!" "children_system`, and :attr:`!elapsed` in that order." msgstr "" +"Для зворотної сумісності цей об’єкт також поводиться як п’ять кортежів, що " +"містять :attr:`!user`, :attr:`!system`, :attr:`!children_user`, :attr:`!" +"children_system` і :attr:`!минало` в такому порядку." msgid "" "See the Unix manual page :manpage:`times(2)` and `times(3) `_ справочную страницу по Unix или " +"`GetProcessTimes MSDN `_ в Windows. Только " +"в Windows :attr:`!user` и :attr:`!система` известны; остальные атрибуты " +"равны нулю." msgid "" "Wait for completion of a child process, and return a tuple containing its " @@ -4601,71 +6638,100 @@ msgid "" "status (if the signal number is zero); the high bit of the low byte is set " "if a core file was produced." msgstr "" +"Зачекайте на завершення дочірнього процесу та поверніть кортеж, що містить " +"його pid та індикацію статусу виходу: 16-розрядне число, чий молодший байт є " +"номером сигналу, що вбив процес, а старший байт є статусом виходу (якщо " +"сигнал число дорівнює нулю); старший біт молодшого байта встановлюється, " +"якщо було створено основний файл." msgid "" "If there are no children that could be waited for, :exc:`ChildProcessError` " "is raised." msgstr "" +"Дождитесь завершения дочернего процесса и верните кортеж, содержащий его pid " +"и указание статуса выхода: 16-битное число, младший байт которого — это " +"номер сигнала, который завершил процесс, а старший байт — статус выхода " +"(если сигнал число равно нулю); старший бит младшего байта устанавливается, " +"если был создан основной файл." msgid "" ":func:`waitstatus_to_exitcode` can be used to convert the exit status into " "an exit code." msgstr "" +":func:`waitstatus_to_exitcode` можна використовувати для перетворення " +"статусу виходу в код виходу." msgid "" "The other :func:`!wait*` functions documented below can be used to wait for " "the completion of a specific child process and have more options. :func:" "`waitpid` is the only one also available on Windows." msgstr "" +"Другой :func:`!подожди*` Функции, описанные ниже, можно использовать для " +"ожидания завершения определенного дочернего процесса и иметь больше " +"возможностей. :func:`waitpid` является единственным, доступным в Windows." msgid "Wait for the completion of a child process." -msgstr "" +msgstr "Дождитесь завершения дочернего процесса." msgid "" "*idtype* can be :data:`P_PID`, :data:`P_PGID`, :data:`P_ALL`, or (on Linux) :" "data:`P_PIDFD`. The interpretation of *id* depends on it; see their " "individual descriptions." msgstr "" +"*idtype* может быть :data:`P_PID` , :data:`P_PGID` , :data:`P_ALL` , или (в " +"Linux) :data:`P_PIDFD` . От этого зависит интерпретация *id*; см. их " +"отдельные описания." msgid "" "*options* is an OR combination of flags. At least one of :data:`WEXITED`, :" "data:`WSTOPPED` or :data:`WCONTINUED` is required; :data:`WNOHANG` and :data:" "`WNOWAIT` are additional optional flags." msgstr "" +"*options* — это комбинация флагов ИЛИ. По крайней мере один из :data:" +"`WEXITED` , :data:`WSTOPPED` или :data:`WПРОДОЛЖЕНИЕ` требуется; :data:" +"`WNOHANG` и :data:`WNOWAIT` являются дополнительными необязательными флагами." msgid "" "The return value is an object representing the data contained in the :c:type:" "`siginfo_t` structure with the following attributes:" msgstr "" +"Возвращаемое значение — это объект, представляющий данные, содержащиеся в :c:" +"type:`siginfo_t` структура со следующими атрибутами:" msgid ":attr:`!si_pid` (process ID)" -msgstr "" +msgstr ":attr:`!si_pid` (идентификатор процесса)" msgid ":attr:`!si_uid` (real user ID of the child)" -msgstr "" +msgstr ":attr:`!if_uid` (реальный идентификатор пользователя ребенка)" msgid ":attr:`!si_signo` (always :const:`~signal.SIGCHLD`)" -msgstr "" +msgstr ":attr:`!yes_signo` (всегда :const:`~signal.SIGCHLD` )" msgid "" ":attr:`!si_status` (the exit status or signal number, depending on :attr:`!" "si_code`)" msgstr "" +":attr:`!if_status` (статус выхода или номер сигнала, в зависимости от :attr:" +"`!si_code` )" msgid ":attr:`!si_code` (see :data:`CLD_EXITED` for possible values)" -msgstr "" +msgstr ":attr:`!si_code` (видеть :data:`CLD_EXITED` для возможных значений)" msgid "" "If :data:`WNOHANG` is specified and there are no matching children in the " "requested state, ``None`` is returned. Otherwise, if there are no matching " "children that could be waited for, :exc:`ChildProcessError` is raised." msgstr "" +"Если :data:`WNOHANG` указан и в запрошенном состоянии нет соответствующих " +"дочерних элементов, ``Нет`` возвращается. В противном случае, если нет " +"подходящих детей, которых можно было бы ожидать, :exc:`ChildProcessError` " +"поднят." msgid "This function is now available on macOS as well." -msgstr "" +msgstr "Эта функция теперь доступна и в macOS." msgid "The details of this function differ on Unix and Windows." -msgstr "" +msgstr "Bu işlevin ayrıntıları Unix ve Windows'ta farklılık gösterir." msgid "" "On Unix: Wait for completion of a child process given by process id *pid*, " @@ -4674,6 +6740,11 @@ msgid "" "the value of the integer *options*, which should be ``0`` for normal " "operation." msgstr "" +"В Unix: зачекайте на завершення дочірнього процесу, заданого ідентифікатором " +"процесу *pid*, і поверніть кортеж, що містить ідентифікатор його процесу та " +"вказівку статусу виходу (закодовано як для :func:`wait`). На семантику " +"виклику впливає значення цілого числа *options*, яке має бути ``0`` для " +"нормальної роботи." msgid "" "If *pid* is greater than ``0``, :func:`waitpid` requests status information " @@ -4683,6 +6754,12 @@ msgid "" "is less than ``-1``, status is requested for any process in the process " "group ``-pid`` (the absolute value of *pid*)." msgstr "" +"Якщо *pid* більший за ``0``, :func:`waitpid` запитує інформацію про статус " +"для цього конкретного процесу. Якщо *pid* дорівнює ``0``, запит стосується " +"статусу будь-якого дочірнього елемента в групі поточного процесу. Якщо *pid* " +"має значення ``-1``, запит стосується будь-якого дочірнього процесу " +"поточного процесу. Якщо *pid* менший за ``-1``, статус запитується для будь-" +"якого процесу в групі процесів ``-pid`` (абсолютне значення *pid*)." msgid "" "*options* is an OR combination of flags. If it contains :data:`WNOHANG` and " @@ -4691,6 +6768,11 @@ msgid "" "for, :exc:`ChildProcessError` is raised. Other options that can be used " "are :data:`WUNTRACED` and :data:`WCONTINUED`." msgstr "" +"*options* — это комбинация флагов ИЛИ. Если он содержит :data:`WNOHANG` и в " +"запрошенном состоянии нет подходящих дочерних элементов, ``(0, 0)`` " +"возвращается. В противном случае, если нет подходящих детей, которых можно " +"было бы ожидать, :exc:`ChildProcessError` поднят. Другие варианты, которые " +"можно использовать: :data:`WUNTRACED` и :data:`WПРОДОЛЖЕНИЕ` ." msgid "" "On Windows: Wait for completion of a process given by process handle *pid*, " @@ -4702,6 +6784,14 @@ msgid "" "`spawn\\* ` functions called with :const:`P_NOWAIT` return suitable " "process handles." msgstr "" +"У Windows: дочекайтеся завершення процесу, заданого дескриптором процесу " +"*pid*, і поверніть кортеж, що містить *pid*, а його статус виходу зміщений " +"вліво на 8 біт (зміщення полегшує використання функції на різних " +"платформах). *pid* менше або дорівнює ``0`` не має особливого значення в " +"Windows і викликає виключення. Значення цілого *параметра* не впливає. *pid* " +"може посилатися на будь-який процес, ідентифікатор якого відомий, не " +"обов’язково дочірній процес. Функції :func:`spawn\\* `, викликані за " +"допомогою :const:`P_NOWAIT`, повертають відповідні дескриптори процесу." msgid "" "Similar to :func:`waitpid`, except no process id argument is given and a 3-" @@ -4710,11 +6800,20 @@ msgid "" "for details on resource usage information. The *options* argument is the " "same as that provided to :func:`waitpid` and :func:`wait4`." msgstr "" +"Похоже на: :func:`waitpid` , за исключением того, что аргумент " +"идентификатора процесса не передается и возвращается кортеж из трех " +"элементов, содержащий идентификатор дочернего процесса, указание статуса " +"выхода и информацию об использовании ресурсов. Обратитесь к :func:`resource." +"getrusage` для получения подробной информации об использовании ресурсов. " +"Аргумент *options* аналогичен аргументу, предоставленному :func:`waitpid` и :" +"func:`wait4` ." msgid "" ":func:`waitstatus_to_exitcode` can be used to convert the exit status into " "an exitcode." msgstr "" +":func:`waitstatus_to_exitcode` можна використовувати для перетворення " +"статусу виходу в код виходу." msgid "" "Similar to :func:`waitpid`, except a 3-element tuple, containing the child's " @@ -4723,96 +6822,132 @@ msgid "" "information. The arguments to :func:`wait4` are the same as those provided " "to :func:`waitpid`." msgstr "" +"Похоже на: :func:`waitpid` , за исключением кортежа из 3 элементов, " +"содержащего идентификатор дочернего процесса, указание статуса завершения и " +"информацию об использовании ресурсов. Обратитесь к :func:`resource." +"getrusage` для получения подробной информации об использовании ресурсов. " +"Аргументы :func:`wait4` такие же, как и предоставленные :func:`waitpid` ." msgid "" "These are the possible values for *idtype* in :func:`waitid`. They affect " "how *id* is interpreted:" msgstr "" +"Это возможные значения *idtype* в :func:`waitid` . Они влияют на " +"интерпретацию *id*:" msgid ":data:`!P_PID` - wait for the child whose PID is *id*." -msgstr "" +msgstr ":data:`!P_PID` - дождаться ребенка, PID которого равен *id*." msgid ":data:`!P_PGID` - wait for any child whose progress group ID is *id*." msgstr "" +":data:`!P_PGID` - дождаться любого ребенка, чей идентификатор группы " +"прогресса равен *id*." msgid ":data:`!P_ALL` - wait for any child; *id* is ignored." -msgstr "" +msgstr ":data:`!P_ALL` - дождаться любого ребенка; *id* игнорируется." msgid "" ":data:`!P_PIDFD` - wait for the child identified by the file descriptor *id* " "(a process file descriptor created with :func:`pidfd_open`)." msgstr "" +":data:`!P_PIDFD` - дождаться потомка, идентифицированного файловым " +"дескриптором *id* (дескриптор файла процесса, созданный с помощью :func:" +"`pidfd_open` )." msgid ":data:`!P_PIDFD` is only available on Linux >= 5.4." -msgstr "" +msgstr ":data:`!P_PIDFD` доступен только в Linux >= 5.4." msgid "The :data:`!P_PIDFD` constant." -msgstr "" +msgstr "The :data:`!P_PIDFD` постоянный." msgid "" "This *options* flag for :func:`waitpid`, :func:`wait3`, :func:`wait4`, and :" "func:`waitid` causes child processes to be reported if they have been " "continued from a job control stop since they were last reported." msgstr "" +"Этот флаг *options* для :func:`waitpid` , :func:`подожди3` , :func:`wait4` , " +"и :func:`waitid` вызывает сообщение о дочерних процессах, если они были " +"продолжены после остановки управления заданиями с момента последнего " +"сообщения о них." msgid "" "This *options* flag for :func:`waitid` causes child processes that have " "terminated to be reported." msgstr "" +"Этот флаг *options* для :func:`waitid` вызывает сообщение о дочерних " +"процессах, которые завершились." msgid "" "The other ``wait*`` functions always report children that have terminated, " "so this option is not available for them." msgstr "" +"Другой ``подожди*`` функции всегда сообщают о дочерних элементах, которые " +"завершились, поэтому эта опция для них недоступна." msgid "" "This *options* flag for :func:`waitid` causes child processes that have been " "stopped by the delivery of a signal to be reported." msgstr "" +"Этот флаг *options* для :func:`waitid` вызывает дочерние процессы, которые " +"были остановлены доставкой сигнала, о которых необходимо сообщить." msgid "This option is not available for the other ``wait*`` functions." -msgstr "" +msgstr "Эта опция недоступна для других ``подожди*`` функции." msgid "" "This *options* flag for :func:`waitpid`, :func:`wait3`, and :func:`wait4` " "causes child processes to also be reported if they have been stopped but " "their current state has not been reported since they were stopped." msgstr "" +"Этот флаг *options* для :func:`waitpid` , :func:`подожди3` , и :func:`wait4` " +"заставляет также сообщать о дочерних процессах, если они были остановлены, " +"но об их текущем состоянии не сообщалось с момента их остановки." msgid "This option is not available for :func:`waitid`." -msgstr "" +msgstr "Эта опция недоступна для :func:`waitid` ." msgid "" "This *options* flag causes :func:`waitpid`, :func:`wait3`, :func:`wait4`, " "and :func:`waitid` to return right away if no child process status is " "available immediately." msgstr "" +"Этот флаг *options* вызывает :func:`waitpid` , :func:`подожди3` , :func:" +"`wait4` , и :func:`waitid` для немедленного возврата, если статус дочернего " +"процесса не доступен сразу." msgid "" "This *options* flag causes :func:`waitid` to leave the child in a waitable " "state, so that a later :func:`!wait*` call can be used to retrieve the child " "status information again." msgstr "" +"Этот флаг *options* вызывает :func:`waitid` оставить ребенка в состоянии " +"ожидания, чтобы позже :func:`!подожди*` вызов можно использовать для " +"повторного получения информации о статусе дочернего элемента." msgid "" "These are the possible values for :attr:`!si_code` in the result returned " "by :func:`waitid`." msgstr "" +"Это возможные значения для :attr:`!si_code` в результате, возвращенном :func:" +"`waitid` ." msgid "Added :data:`CLD_KILLED` and :data:`CLD_STOPPED` values." -msgstr "" +msgstr "Додано значення :data:`CLD_KILLED` і :data:`CLD_STOPPED`." msgid "Convert a wait status to an exit code." -msgstr "" +msgstr "Перетворення статусу очікування на код виходу." msgid "On Unix:" -msgstr "" +msgstr "Unix'te:" msgid "" "If the process exited normally (if ``WIFEXITED(status)`` is true), return " "the process exit status (return ``WEXITSTATUS(status)``): result greater " "than or equal to 0." msgstr "" +"Якщо процес закінчився нормально (якщо ``WIFEXITED(статус)`` має значення " +"true), повертає статус виходу процесу (повертає ``WEXITSTATUS(статус)``): " +"результат більше або дорівнює 0." msgid "" "If the process was terminated by a signal (if ``WIFSIGNALED(status)`` is " @@ -4820,12 +6955,16 @@ msgid "" "caused the process to terminate (return ``-WTERMSIG(status)``): result less " "than 0." msgstr "" +"Якщо процес було припинено через сигнал (якщо ``WIFSIGNALED(status)`` має " +"значення true), повертає ``-signum``, де *signum* — це номер сигналу, який " +"спричинив завершення процесу (повертає ``- WTERMSIG(статус)``): результат " +"менше 0." msgid "Otherwise, raise a :exc:`ValueError`." -msgstr "" +msgstr "Інакше викличте :exc:`ValueError`." msgid "On Windows, return *status* shifted right by 8 bits." -msgstr "" +msgstr "У Windows повертає *статус*, зміщений праворуч на 8 біт." msgid "" "On Unix, if the process is being traced or if :func:`waitpid` was called " @@ -4833,184 +6972,250 @@ msgid "" "``WIFSTOPPED(status)`` is true. This function must not be called if " "``WIFSTOPPED(status)`` is true." msgstr "" +"В Unix, якщо процес відстежується або якщо :func:`waitpid` було викликано з " +"опцією :data:`WUNTRACED`, абонент повинен спочатку перевірити, чи " +"``WIFSTOPPED(status)`` є істинним. Цю функцію не можна викликати, якщо " +"``WIFSTOPPED(статус)`` має значення true." msgid "" ":func:`WIFEXITED`, :func:`WEXITSTATUS`, :func:`WIFSIGNALED`, :func:" "`WTERMSIG`, :func:`WIFSTOPPED`, :func:`WSTOPSIG` functions." msgstr "" +"Функції :func:`WIFEXITED`, :func:`WEXITSTATUS`, :func:`WIFSIGNALED`, :func:" +"`WTERMSIG`, :func:`WIFSTOPPED`, :func:`WSTOPSIG`." msgid "" "The following functions take a process status code as returned by :func:" "`system`, :func:`wait`, or :func:`waitpid` as a parameter. They may be used " "to determine the disposition of a process." msgstr "" +"Наступні функції приймають код стану процесу, який повертає :func:`system`, :" +"func:`wait` або :func:`waitpid` як параметр. Вони можуть бути використані " +"для визначення розташування процесу." msgid "" "Return ``True`` if a core dump was generated for the process, otherwise " "return ``False``." msgstr "" +"Повертає ``True``, якщо для процесу було створено дамп ядра, інакше повертає " +"``False``." msgid "This function should be employed only if :func:`WIFSIGNALED` is true." msgstr "" +"Цю функцію слід використовувати, лише якщо :func:`WIFSIGNALED` має значення " +"true." msgid "" "Return ``True`` if a stopped child has been resumed by delivery of :const:" "`~signal.SIGCONT` (if the process has been continued from a job control " "stop), otherwise return ``False``." msgstr "" +"Возвращаться ``Правда`` если остановившийся ребенок был возобновлен родами :" +"const:`~signal.SIGCONT` (если процесс был продолжен после остановки " +"управления заданием), в противном случае возврат ``Ложь`` ." msgid "See :data:`WCONTINUED` option." -msgstr "" +msgstr "Перегляньте параметр :data:`WCONTINUED`." msgid "" "Return ``True`` if the process was stopped by delivery of a signal, " "otherwise return ``False``." msgstr "" +"Повертає ``True``, якщо процес було зупинено доставкою сигналу, інакше " +"повертає ``False``." msgid "" ":func:`WIFSTOPPED` only returns ``True`` if the :func:`waitpid` call was " "done using :data:`WUNTRACED` option or when the process is being traced " "(see :manpage:`ptrace(2)`)." msgstr "" +":func:`WIFSTOPPED` повертає ``True``, лише якщо виклик :func:`waitpid` було " +"виконано за допомогою параметра :data:`WUNTRACED` або коли процес " +"відстежується (див. :manpage:`ptrace(2)` )." msgid "" "Return ``True`` if the process was terminated by a signal, otherwise return " "``False``." msgstr "" +"Повертає ``True``, якщо процес було припинено сигналом, інакше повертає " +"``False``." msgid "" "Return ``True`` if the process exited terminated normally, that is, by " "calling ``exit()`` or ``_exit()``, or by returning from ``main()``; " "otherwise return ``False``." msgstr "" +"Повертає ``True``, якщо процес завершився нормально, тобто викликом " +"``exit()`` чи ``_exit()``, або шляхом повернення з ``main()``; інакше " +"повертає ``False``." msgid "Return the process exit status." -msgstr "" +msgstr "Повернути статус виходу процесу." msgid "This function should be employed only if :func:`WIFEXITED` is true." msgstr "" +"Цю функцію слід використовувати, лише якщо :func:`WIFEXITED` має значення " +"true." msgid "Return the signal which caused the process to stop." -msgstr "" +msgstr "Повернути сигнал, який спричинив зупинку процесу." msgid "This function should be employed only if :func:`WIFSTOPPED` is true." msgstr "" +"Цю функцію слід використовувати, лише якщо :func:`WIFSTOPPED` має значення " +"true." msgid "Return the number of the signal that caused the process to terminate." -msgstr "" +msgstr "Повертає номер сигналу, який викликав завершення процесу." msgid "Interface to the scheduler" -msgstr "" +msgstr "Інтерфейс до планувальника" msgid "" "These functions control how a process is allocated CPU time by the operating " "system. They are only available on some Unix platforms. For more detailed " "information, consult your Unix manpages." msgstr "" +"Bu işlevler, işletim sistemi tarafından bir işlemeye CPU zamanının nasıl " +"tahsis edildiğini kontrol eder. Yalnızca bazı Unix platformlarında " +"mevcutturlar. Daha ayrıntılı bilgi için Unix kılavuz sayfalarınıza bakın." msgid "" "The following scheduling policies are exposed if they are supported by the " "operating system." msgstr "" +"Наведені нижче політики планування доступні, якщо вони підтримуються " +"операційною системою." msgid "The default scheduling policy." -msgstr "" +msgstr "Політика планування за умовчанням." msgid "" "Scheduling policy for CPU-intensive processes that tries to preserve " "interactivity on the rest of the computer." msgstr "" +"Політика планування процесів із інтенсивним використанням ЦП, яка " +"намагається зберегти інтерактивність решти комп’ютера." msgid "Scheduling policy for extremely low priority background tasks." msgstr "" +"Політика планування для фонових завдань із надзвичайно низьким пріоритетом." msgid "Scheduling policy for sporadic server programs." -msgstr "" +msgstr "Політика планування для спорадичних серверних програм." msgid "A First In First Out scheduling policy." -msgstr "" +msgstr "Політика планування за принципом \"перший прийшов - перший вийшов\"." msgid "A round-robin scheduling policy." -msgstr "" +msgstr "Політика циклічного планування." msgid "" "This flag can be OR'ed with any other scheduling policy. When a process with " "this flag set forks, its child's scheduling policy and priority are reset to " "the default." msgstr "" +"Цей прапорець можна об’єднати з будь-якою іншою політикою планування. Коли " +"процес із цим прапорцем розгалужується, його політика планування та " +"пріоритет скидаються до стандартних." msgid "" "This class represents tunable scheduling parameters used in :func:" "`sched_setparam`, :func:`sched_setscheduler`, and :func:`sched_getparam`. It " "is immutable." msgstr "" +"Цей клас представляє настроювані параметри планування, які використовуються " +"в :func:`sched_setparam`, :func:`sched_setscheduler` і :func:" +"`sched_getparam`. Це незмінно." msgid "At the moment, there is only one possible parameter:" -msgstr "" +msgstr "На даний момент можливий лише один параметр:" msgid "The scheduling priority for a scheduling policy." -msgstr "" +msgstr "Пріоритет планування для політики планування." msgid "" "Get the minimum priority value for *policy*. *policy* is one of the " "scheduling policy constants above." msgstr "" +"Отримайте мінімальне значення пріоритету для *політики*. *policy* є однією з " +"наведених вище констант політики планування." msgid "" "Get the maximum priority value for *policy*. *policy* is one of the " "scheduling policy constants above." msgstr "" +"Отримайте максимальне значення пріоритету для *політики*. *policy* є однією " +"з наведених вище констант політики планування." msgid "" "Set the scheduling policy for the process with PID *pid*. A *pid* of 0 means " "the calling process. *policy* is one of the scheduling policy constants " "above. *param* is a :class:`sched_param` instance." msgstr "" +"Встановіть політику планування для процесу за допомогою PID *pid*. *pid*, " +"рівний 0, означає процес виклику. *policy* — це одна з наведених вище " +"констант політики планування. *param* є екземпляром :class:`sched_param`." msgid "" "Return the scheduling policy for the process with PID *pid*. A *pid* of 0 " "means the calling process. The result is one of the scheduling policy " "constants above." msgstr "" +"Повернути політику планування для процесу з PID *pid*. *pid*, рівний 0, " +"означає процес виклику. Результатом є одна з наведених вище констант " +"політики планування." msgid "" "Set the scheduling parameters for the process with PID *pid*. A *pid* of 0 " "means the calling process. *param* is a :class:`sched_param` instance." msgstr "" +"Встановіть параметри планування для процесу за допомогою PID *pid*. *pid*, " +"рівний 0, означає процес виклику. *param* є екземпляром :class:`sched_param`." msgid "" "Return the scheduling parameters as a :class:`sched_param` instance for the " "process with PID *pid*. A *pid* of 0 means the calling process." msgstr "" +"Поверніть параметри планування як екземпляр :class:`sched_param` для процесу " +"з PID *pid*. *pid*, рівний 0, означає процес виклику." msgid "" "Return the round-robin quantum in seconds for the process with PID *pid*. A " "*pid* of 0 means the calling process." msgstr "" +"Повертайте циклічний квант за секунди для процесу з PID *pid*. *pid*, рівний " +"0, означає процес виклику." msgid "" "Voluntarily relinquish the CPU. See :manpage:`sched_yield(2)` for details." msgstr "" +"Abandona voluntariamente a CPU. Veja :manpage:`sched_yield(2)` para detalhes." msgid "" "Restrict the process with PID *pid* (or the current process if zero) to a " "set of CPUs. *mask* is an iterable of integers representing the set of CPUs " "to which the process should be restricted." msgstr "" +"Обмежте процес за допомогою PID *pid* (або поточного процесу, якщо дорівнює " +"нулю) набору ЦП. *mask* — це ітерація цілих чисел, що представляють набір " +"процесорів, якими має бути обмежений процес." msgid "Return the set of CPUs the process with PID *pid* is restricted to." -msgstr "" +msgstr "Возвращает набор процессоров, которыми ограничен процесс с PID *pid*." msgid "" "If *pid* is zero, return the set of CPUs the calling thread of the current " "process is restricted to." msgstr "" +"Если *pid* равен нулю, возвращает набор процессоров, которыми ограничен " +"вызывающий поток текущего процесса." msgid "See also the :func:`process_cpu_count` function." -msgstr "" +msgstr "См. также :func:`process_cpu_count` функция." msgid "Miscellaneous System Information" -msgstr "" +msgstr "Різна системна інформація" msgid "" "Return string-valued system configuration values. *name* specifies the " @@ -5021,11 +7226,20 @@ msgid "" "keys of the ``confstr_names`` dictionary. For configuration variables not " "included in that mapping, passing an integer for *name* is also accepted." msgstr "" +"Повертає рядкові значення конфігурації системи. *name* вказує значення " +"конфігурації для отримання; це може бути рядок, який є назвою визначеного " +"системного значення; ці імена вказані в ряді стандартів (POSIX, Unix 95, " +"Unix 98 та ін.). Деякі платформи також визначають додаткові імена. Імена, " +"відомі головній операційній системі, надаються як ключі словника " +"``confstr_names``. Для змінних конфігурації, не включених до цього " +"відображення, також допускається передача цілого числа для *name*." msgid "" "If the configuration value specified by *name* isn't defined, ``None`` is " "returned." msgstr "" +"Якщо значення конфігурації, указане *name*, не визначено, повертається " +"``None``." msgid "" "If *name* is a string and is not known, :exc:`ValueError` is raised. If a " @@ -5033,52 +7247,77 @@ msgid "" "included in ``confstr_names``, an :exc:`OSError` is raised with :const:" "`errno.EINVAL` for the error number." msgstr "" +"Якщо *name* є рядком і невідоме, виникає :exc:`ValueError`. Якщо певне " +"значення для *name* не підтримується хост-системою, навіть якщо воно " +"включене в ``confstr_names``, виникає :exc:`OSError` з :const:`errno.EINVAL` " +"для номера помилки ." msgid "" "Dictionary mapping names accepted by :func:`confstr` to the integer values " "defined for those names by the host operating system. This can be used to " "determine the set of names known to the system." msgstr "" +"Словник зіставляє імена, прийняті :func:`confstr`, до цілих значень, " +"визначених для цих імен головною операційною системою. Це можна " +"використовувати для визначення набору імен, відомих системі." msgid "" "Return the number of logical CPUs in the **system**. Returns ``None`` if " "undetermined." msgstr "" +"Возвращает количество логических процессоров в **системе**. Возврат ``Нет`` " +"если неопределенный." msgid "" "The :func:`process_cpu_count` function can be used to get the number of " "logical CPUs usable by the calling thread of the **current process**." msgstr "" +"The :func:`process_cpu_count` Функция может использоваться для получения " +"количества логических процессоров, используемых вызывающим потоком " +"**текущего процесса**." msgid "" "If :option:`-X cpu_count <-X>` is given or :envvar:`PYTHON_CPU_COUNT` is " "set, :func:`cpu_count` returns the overridden value *n*." msgstr "" +"Якщо задано :option:`-X cpu_count <-X>` чи встановлено :envvar:" +"`PYTHON_CPU_COUNT`, :func:`cpu_count` повертає перевизначене значення *n*." msgid "" "Return the number of processes in the system run queue averaged over the " "last 1, 5, and 15 minutes or raises :exc:`OSError` if the load average was " "unobtainable." msgstr "" +"Повертає середню кількість процесів у черзі виконання системи за останні 1, " +"5 і 15 хвилин або викликає :exc:`OSError`, якщо середнє значення " +"завантаження неможливо отримати." msgid "" "Get the number of logical CPUs usable by the calling thread of the **current " "process**. Returns ``None`` if undetermined. It can be less than :func:" "`cpu_count` depending on the CPU affinity." msgstr "" +"Получите количество логических процессоров, используемых вызывающим потоком " +"**текущего процесса**. Возврат ``Нет`` если неопределенный. Это может быть " +"меньше, чем :func:`cpu_count` в зависимости от близости процессора." msgid "" "The :func:`cpu_count` function can be used to get the number of logical CPUs " "in the **system**." msgstr "" +"The :func:`cpu_count` Эту функцию можно использовать для получения " +"количества логических процессоров в **системе**." 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*." msgstr "" +"Если :option:`-X cpu_count\n" +"` задан или :envvar:`PYTHON_CPU_COUNT` установлено, :func:" +"`process_cpu_count` возвращает переопределенное значение *n*." msgid "See also the :func:`sched_getaffinity` function." -msgstr "" +msgstr "См. также функцию :func:`sched_getaffinity`." msgid "" "Return integer-valued system configuration values. If the configuration " @@ -5087,37 +7326,53 @@ msgid "" "dictionary that provides information on the known names is given by " "``sysconf_names``." msgstr "" +"Повертає цілочисельні значення конфігурації системи. Якщо значення " +"конфігурації, указане *name*, не визначено, повертається ``-1``. Коментарі " +"щодо параметра *name* для :func:`confstr` також застосовуються тут; словник, " +"який надає інформацію про відомі імена, надається ``sysconf_names``." msgid "" "Dictionary mapping names accepted by :func:`sysconf` to the integer values " "defined for those names by the host operating system. This can be used to " "determine the set of names known to the system." msgstr "" +"Словник зіставляє імена, прийняті :func:`sysconf`, до цілих значень, " +"визначених для цих імен головною операційною системою. Це можна " +"використовувати для визначення набору імен, відомих системі." msgid "Add ``'SC_MINSIGSTKSZ'`` name." -msgstr "" +msgstr "Добавлять ``'SC_MINSIGSTKSZ''`` имя." msgid "" "The following data values are used to support path manipulation operations. " "These are defined for all platforms." msgstr "" +"Наступні значення даних використовуються для підтримки операцій " +"маніпулювання шляхом. Вони визначені для всіх платформ." msgid "" "Higher-level operations on pathnames are defined in the :mod:`os.path` " "module." msgstr "" +"Операції вищого рівня над іменами шляхів визначені в модулі :mod:`os.path`." msgid "" "The constant string used by the operating system to refer to the current " "directory. This is ``'.'`` for Windows and POSIX. Also available via :mod:" "`os.path`." msgstr "" +"Постійний рядок, який використовується операційною системою для посилання на " +"поточний каталог. Це ``'.'`` для Windows і POSIX. Також доступний через :mod:" +"`os.path`." msgid "" "The constant string used by the operating system to refer to the parent " "directory. This is ``'..'`` for Windows and POSIX. Also available via :mod:" "`os.path`." msgstr "" +"Постійний рядок, який використовується операційною системою для посилання на " +"батьківський каталог. Це \"..\" для Windows і POSIX. Також доступний через :" +"mod:`os.path`." msgid "" "The character used by the operating system to separate pathname components. " @@ -5126,6 +7381,11 @@ msgid "" "func:`os.path.split` and :func:`os.path.join` --- but it is occasionally " "useful. Also available via :mod:`os.path`." msgstr "" +"Символ, який використовується операційною системою для розділення " +"компонентів шляху. Це ``'/'`` для POSIX і ``'\\\\'`` для Windows. Зауважте, " +"що знати це недостатньо, щоб мати змогу розбирати або об’єднувати шляхи --- " +"використовуйте :func:`os.path.split` і :func:`os.path.join` --- але іноді це " +"корисно. Також доступний через :mod:`os.path`." msgid "" "An alternative character used by the operating system to separate pathname " @@ -5133,23 +7393,35 @@ msgid "" "to ``'/'`` on Windows systems where ``sep`` is a backslash. Also available " "via :mod:`os.path`." msgstr "" +"Альтернативний символ, який використовується операційною системою для " +"розділення компонентів шляху, або \"Немає\", якщо існує лише один роздільний " +"символ. У системах Windows встановлено значення ``'/''``, де ``sep`` є " +"зворотною косою рискою. Також доступний через :mod:`os.path`." msgid "" "The character which separates the base filename from the extension; for " "example, the ``'.'`` in :file:`os.py`. Also available via :mod:`os.path`." msgstr "" +"Символ, який відокремлює базову назву файлу від розширення; наприклад, " +"``'.'`` у :file:`os.py`. Також доступний через :mod:`os.path`." msgid "" "The character conventionally used by the operating system to separate search " "path components (as in :envvar:`PATH`), such as ``':'`` for POSIX or ``';'`` " "for Windows. Also available via :mod:`os.path`." msgstr "" +"Символ, який зазвичай використовується операційною системою для розділення " +"компонентів шляху пошуку (як у :envvar:`PATH`), наприклад ``':''`` для POSIX " +"або ``';''`` для Windows. Також доступний через :mod:`os.path`." msgid "" "The default search path used by :func:`exec\\*p\\* ` and :func:" "`spawn\\*p\\* ` if the environment doesn't have a ``'PATH'`` key. " "Also available via :mod:`os.path`." msgstr "" +"Шлях пошуку за умовчанням, який використовується :func:`exec\\*p\\* ` " +"і :func:`spawn\\*p\\* `, якщо середовище не має ключа ``'PATH'``. " +"Також доступний через :mod:`os.path`." msgid "" "The string used to separate (or, rather, terminate) lines on the current " @@ -5158,30 +7430,45 @@ msgid "" "linesep* as a line terminator when writing files opened in text mode (the " "default); use a single ``'\\n'`` instead, on all platforms." msgstr "" +"Рядок, який використовується для розділення (точніше, завершення) рядків на " +"поточній платформі. Це може бути один символ, наприклад ``'\\n'`` для POSIX, " +"або кілька символів, наприклад ``'\\r\\n'`` для Windows. Не використовуйте " +"*os.linesep* як символ закінчення рядка під час запису файлів, відкритих у " +"текстовому режимі (за замовчуванням); замість цього використовуйте єдиний " +"``'\\n'`` на всіх платформах." msgid "" "The file path of the null device. For example: ``'/dev/null'`` for POSIX, " "``'nul'`` for Windows. Also available via :mod:`os.path`." msgstr "" +"Шлях до файлу нульового пристрою. Наприклад: ``'/dev/null`` для POSIX, " +"``'nul'`` для Windows. Також доступний через :mod:`os.path`." msgid "" "Flags for use with the :func:`~sys.setdlopenflags` and :func:`~sys." "getdlopenflags` functions. See the Unix manual page :manpage:`dlopen(3)` " "for what the different flags mean." msgstr "" +"Прапори для використання з функціями :func:`~sys.setdlopenflags` і :func:" +"`~sys.getdlopenflags`. Що означають різні прапорці, див. сторінку посібника " +"Unix :manpage:`dlopen(3)`." msgid "Random numbers" -msgstr "" +msgstr "Rastgele sayılar" msgid "" "Get up to *size* random bytes. The function can return less bytes than " "requested." msgstr "" +"Отримайте до *size* випадкових байтів. Функція може повертати менше байтів, " +"ніж вимагається." msgid "" "These bytes can be used to seed user-space random number generators or for " "cryptographic purposes." msgstr "" +"Ці байти можна використовувати для заповнення генераторів випадкових чисел у " +"просторі користувача або для криптографічних цілей." msgid "" "``getrandom()`` relies on entropy gathered from device drivers and other " @@ -5189,27 +7476,41 @@ msgid "" "data will have a negative impact on other users of the ``/dev/random`` and " "``/dev/urandom`` devices." msgstr "" +"``getrandom()`` покладається на ентропію, зібрану з драйверів пристроїв та " +"інших джерел шуму навколишнього середовища. Невиправдане зчитування великої " +"кількості даних матиме негативний вплив на інших користувачів пристроїв ``/" +"dev/random`` і ``/dev/urandom``." msgid "" "The flags argument is a bit mask that can contain zero or more of the " "following values ORed together: :py:const:`os.GRND_RANDOM` and :py:data:" "`GRND_NONBLOCK`." msgstr "" +"Аргумент flags представляет собой битовую маску, которая может содержать " +"ноль или более следующих значений, объединенных ИЛИ: :py :const:`os." +"GRND_RANDOM` и :py:data:`GRND_NONBLOCK` ." msgid "" "See also the `Linux getrandom() manual page `_." msgstr "" +"См. также страницу руководства Linux getrandom(). `_ ." msgid "" "Return a bytestring of *size* random bytes suitable for cryptographic use." msgstr "" +"Повертає байтовий рядок *розміру* випадкових байтів, придатних для " +"криптографічного використання." msgid "" "This function returns random bytes from an OS-specific randomness source. " "The returned data should be unpredictable enough for cryptographic " "applications, though its exact quality depends on the OS implementation." msgstr "" +"Ця функція повертає випадкові байти зі специфічного для ОС джерела " +"випадковості. Повернуті дані мають бути досить непередбачуваними для " +"криптографічних програм, хоча їх точна якість залежить від реалізації ОС." msgid "" "On Linux, if the ``getrandom()`` syscall is available, it is used in " @@ -5219,157 +7520,188 @@ msgid "" "random bytes in non-blocking mode (using the :data:`GRND_NONBLOCK` flag) or " "to poll until the system urandom entropy pool is initialized." msgstr "" +"У Linux, якщо доступний системний виклик ``getrandom()``, він " +"використовується в режимі блокування: блокуйте, доки системний пул " +"випадкової ентропії не буде ініціалізовано (128 біт ентропії збирає ядро). " +"Перегляньте :pep:`524` для обґрунтування. У Linux функція :func:`getrandom` " +"може бути використана для отримання випадкових байтів у неблокуючому режимі " +"(використовуючи прапор :data:`GRND_NONBLOCK`) або для опитування, доки " +"системний пул випадкової ентропії не буде ініціалізовано." msgid "" "On a Unix-like system, random bytes are read from the ``/dev/urandom`` " "device. If the ``/dev/urandom`` device is not available or not readable, " "the :exc:`NotImplementedError` exception is raised." msgstr "" +"У Unix-подібній системі випадкові байти зчитуються з пристрою ``/dev/" +"urandom``. Якщо пристрій ``/dev/urandom`` недоступний або не читається, " +"виникає виняток :exc:`NotImplementedError`." msgid "On Windows, it will use ``BCryptGenRandom()``." -msgstr "" +msgstr "В Windows он будет использовать ``BCryptGenRandom()`` ." msgid "" "The :mod:`secrets` module provides higher level functions. For an easy-to-" "use interface to the random number generator provided by your platform, " "please see :class:`random.SystemRandom`." msgstr "" +"Модуль :mod:`secrets` забезпечує функції вищого рівня. Про простий у " +"використанні інтерфейс генератора випадкових чисел, наданий вашою " +"платформою, див. :class:`random.SystemRandom`." msgid "" "On Linux 3.17 and newer, the ``getrandom()`` syscall is now used when " "available. On OpenBSD 5.6 and newer, the C ``getentropy()`` function is now " "used. These functions avoid the usage of an internal file descriptor." msgstr "" +"У Linux 3.17 і новіших версіях системний виклик ``getrandom()`` тепер " +"використовується, якщо він доступний. У OpenBSD 5.6 і новіших версіях тепер " +"використовується функція C ``getentropy()``. Ці функції уникають " +"використання внутрішнього файлового дескриптора." msgid "" "On Linux, if the ``getrandom()`` syscall blocks (the urandom entropy pool is " "not initialized yet), fall back on reading ``/dev/urandom``." msgstr "" +"У Linux, якщо системний виклик ``getrandom()`` блокує (пул ентропії urandom " +"ще не ініціалізовано), поверніться до читання ``/dev/urandom``." msgid "" "On Linux, ``getrandom()`` is now used in blocking mode to increase the " "security." msgstr "" +"У Linux ``getrandom()`` тепер використовується в режимі блокування для " +"підвищення безпеки." msgid "" "On Windows, ``BCryptGenRandom()`` is used instead of ``CryptGenRandom()`` " "which is deprecated." msgstr "" +"В Windows, ``BCryptGenRandom()`` используется вместо ``CryptGenRandom()`` " +"который устарел." msgid "" "By default, when reading from ``/dev/random``, :func:`getrandom` blocks if " "no random bytes are available, and when reading from ``/dev/urandom``, it " "blocks if the entropy pool has not yet been initialized." msgstr "" +"За замовчуванням під час читання з ``/dev/random`` :func:`getrandom` блокує, " +"якщо випадкові байти недоступні, а під час читання з ``/dev/urandom`` " +"блокує, якщо пул ентропії не має ще не ініціалізовано." msgid "" "If the :py:data:`GRND_NONBLOCK` flag is set, then :func:`getrandom` does not " "block in these cases, but instead immediately raises :exc:`BlockingIOError`." msgstr "" +"Якщо встановлено прапорець :py:data:`GRND_NONBLOCK`, то :func:`getrandom` не " +"блокує в цих випадках, а замість цього негайно викликає :exc:" +"`BlockingIOError`." msgid "" "If this bit is set, then random bytes are drawn from the ``/dev/" "random`` pool instead of the ``/dev/urandom`` pool." msgstr "" +"Якщо цей біт установлено, випадкові байти витягуються з пулу ``/dev/random`` " +"замість пулу ``/dev/urandom``." msgid "user" -msgstr "" +msgstr "пользователь" msgid "effective id" -msgstr "" +msgstr "эффективный идентификатор" msgid "process" -msgstr "" +msgstr "процес" msgid "group" -msgstr "" +msgstr "группа" msgid "id" -msgstr "" +msgstr "id" msgid "id of parent" -msgstr "" +msgstr "идентификатор родителя" msgid "scheduling priority" -msgstr "" +msgstr "приоритет расписания" msgid "environment variables" -msgstr "" +msgstr "переменные окружения" msgid "setting" -msgstr "" +msgstr "установка параметров" msgid "id, setting" -msgstr "" +msgstr "идентификатор, настройка" msgid "gethostname() (in module socket)" -msgstr "" +msgstr "gethostname() (in module socket)" msgid "gethostbyaddr() (in module socket)" -msgstr "" +msgstr "gethostbyaddr() (in module socket)" msgid "deleting" -msgstr "" +msgstr "удаление" msgid "module" msgstr "moduł" msgid "pty" -msgstr "" +msgstr "pty" msgid "directory" -msgstr "" +msgstr "каталог" msgid "changing" -msgstr "" +msgstr "изменение" msgid "creating" -msgstr "" +msgstr "создание" msgid "UNC paths" -msgstr "" +msgstr "Пути UNC" msgid "and os.makedirs()" -msgstr "" +msgstr "и os.madeirs()" msgid "stat" -msgstr "" +msgstr "stat" msgid "walking" -msgstr "" +msgstr "прогулка" msgid "traversal" -msgstr "" +msgstr "обход" msgid "killing" -msgstr "" +msgstr "убийство" msgid "signalling" -msgstr "" +msgstr "сигнализация" msgid ". (dot)" -msgstr "" +msgstr ". (точка)" msgid "in pathnames" -msgstr "" +msgstr "в именах путей" msgid ".." -msgstr "" +msgstr ".." msgid "/ (slash)" -msgstr "" +msgstr "/ (косая черта)" msgid "\\ (backslash)" -msgstr "" +msgstr "\\ (обратная косая черта)" msgid "in pathnames (Windows)" -msgstr "" +msgstr "в именах путей (Windows)" msgid ": (colon)" msgstr ": (dwukropek)" msgid "path separator (POSIX)" -msgstr "" +msgstr "разделитель путей (POSIX)" msgid "; (semicolon)" -msgstr "" +msgstr "; (точка с запятой)" diff --git a/library/pathlib.po b/library/pathlib.po index 92c6159596..db2713aeda 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\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: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-23 14:55+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -1519,7 +1517,7 @@ msgid "" msgstr "" msgid "Windows support was added." -msgstr "" +msgstr "Додано підтримку Windows." msgid "" "Return ``True`` if the path points to a Unix socket (or a symbolic link " @@ -2083,13 +2081,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 "" @@ -2481,4 +2485,4 @@ msgid "path" msgstr "ścieżka" msgid "operations" -msgstr "" +msgstr "операции" diff --git a/library/pdb.po b/library/pdb.po index 7a001f6796..f606305c46 100644 --- a/library/pdb.po +++ b/library/pdb.po @@ -4,9 +4,7 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# haaritsubaki, 2023 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" @@ -14,8 +12,8 @@ msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -26,10 +24,10 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`pdb` --- The Python Debugger" -msgstr "" +msgstr ":mod:`pdb` --- Налагоджувач Python" 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 " @@ -39,51 +37,69 @@ msgid "" "It also supports post-mortem debugging and can be called under program " "control." msgstr "" +"Модуль :mod:`pdb` визначає інтерактивний налагоджувач вихідного коду для " +"програм Python. Він підтримує встановлення (умовних) точок зупину та один " +"крок на рівні вихідного рядка, перевірку фреймів стеку, перелік вихідного " +"коду та оцінку довільного коду Python у контексті будь-якого фрейму стеку. " +"Він також підтримує посмертне налагодження та може бути викликаний під " +"керуванням програми." msgid "" "The debugger is extensible -- it is actually defined as the class :class:" "`Pdb`. This is currently undocumented but easily understood by reading the " "source. The extension interface uses the modules :mod:`bdb` and :mod:`cmd`." msgstr "" +"Налагоджувач є розширюваним - він фактично визначений як клас :class:`Pdb`. " +"Наразі це незадокументовано, але легко зрозуміти, прочитавши джерело. " +"Інтерфейс розширення використовує модулі :mod:`bdb` і :mod:`cmd`." msgid "Module :mod:`faulthandler`" -msgstr "" +msgstr "Модуль :mod:`faulthandler`" msgid "" "Used to dump Python tracebacks explicitly, on a fault, after a timeout, or " "on a user signal." msgstr "" +"Используется для явного сброса обратных трассировок Python, при ошибке, " +"после тайм-аута или по сигналу пользователя." msgid "Module :mod:`traceback`" -msgstr "" +msgstr "Модуль :mod:`traceback`" msgid "" "Standard interface to extract, format and print stack traces of Python " "programs." msgstr "" +"Стандартный интерфейс для извлечения, форматирования и печати трассировок " +"стека программ Python." msgid "The typical usage to break into the debugger is to insert::" -msgstr "" +msgstr "Типовим використанням для проникнення в налагоджувач є вставка::" msgid "import pdb; pdb.set_trace()" -msgstr "" +msgstr "import pdb; pdb.set_trace()" msgid "Or::" -msgstr "" +msgstr "Или::" msgid "breakpoint()" -msgstr "" +msgstr "breakpoint()" msgid "" "at the location you want to break into the debugger, and then run the " "program. You can then step through the code following this statement, and " "continue running without the debugger using the :pdbcmd:`continue` command." msgstr "" +"у місці, куди потрібно зламати налагоджувач, а потім запустіть програму. " +"Потім ви можете покроково виконувати код, який слідує за цією інструкцією, і " +"продовжити роботу без відладчика за допомогою команди :pdbcmd:`continue`." msgid "" "The built-in :func:`breakpoint`, when called with defaults, can be used " "instead of ``import pdb; pdb.set_trace()``." msgstr "" +"Встроенную функцию :func:`breakpoint`, вызываемую с настройками по " +"умолчанию, можно использовать вместо ``import pdb; pdb.set_trace()``." msgid "" "def double(x):\n" @@ -92,11 +108,18 @@ msgid "" "val = 3\n" "print(f\"{val} * 2 is {double(val)}\")" msgstr "" +"def double(x):\n" +" breakpoint()\n" +" return x * 2\n" +"val = 3\n" +"print(f\"{val} * 2 is {double(val)}\")" msgid "" "The debugger's prompt is ``(Pdb)``, which is the indicator that you are in " "debug mode::" msgstr "" +"Приглашение отладчика — ``(Pdb)``, которое указывает на то, что вы " +"находитесь в режиме отладки::" msgid "" "> ...(2)double()\n" @@ -106,17 +129,28 @@ msgid "" "(Pdb) continue\n" "3 * 2 is 6" msgstr "" +"> ...(2)double()\n" +"-> breakpoint()\n" +"(Pdb) p x\n" +"3\n" +"(Pdb) continue\n" +"3 * 2 is 6" msgid "" "Tab-completion via the :mod:`readline` module is available for commands and " "command arguments, e.g. the current global and local names are offered as " "arguments of the ``p`` command." msgstr "" +"Завершення табуляції через модуль :mod:`readline` доступне для команд і " +"аргументів команд, напр. поточні глобальні та локальні імена пропонуються як " +"аргументи команди ``p``." msgid "" "You can also invoke :mod:`pdb` from the command line to debug other " "scripts. For example::" msgstr "" +"Вы также можете вызвать :mod:`pdb` из командной строки для отладки других " +"скриптов. Например::" msgid "python -m pdb [-c command] (-m module | pyfile) [args ...]" msgstr "" @@ -128,25 +162,37 @@ msgid "" "Automatic restarting preserves pdb's state (such as breakpoints) and in most " "cases is more useful than quitting the debugger upon program's exit." msgstr "" +"При вызове в качестве модуля pdb автоматически вводит посмертную отладку, " +"если отлаживаемая программа завершается ненормально. После посмертной " +"отладки (или после обычного выхода из программы) pdb перезапустит программу. " +"Автоматический перезапуск сохраняет состояние pdb (например, точки останова) " +"и в большинстве случаев более полезен, чем выход из отладчика при выходе из " +"программы." msgid "" "To execute commands as if given in a :file:`.pdbrc` file; see :ref:`debugger-" "commands`." msgstr "" +"Para executar comandos como se fossem dados em um arquivo :file:`.pdbrc`. " +"Veja :ref:`debugger-commands`." msgid "Added the ``-c`` option." -msgstr "" +msgstr "Adicionada a opção ``-c``." msgid "" "To execute modules similar to the way ``python -m`` does. As with a script, " "the debugger will pause execution just before the first line of the module." msgstr "" +"Para executar módulos de maneira similar ao ``python -m``. Assim como em um " +"script, o depurador pausará a execução logo antes da primeira linha do " +"módulo." msgid "Added the ``-m`` option." -msgstr "" +msgstr "Adicionada a opção ``-m``." msgid "Typical usage to execute a statement under control of the debugger is::" msgstr "" +"Типичное использование для выполнения инструкции под управлением отладчика:" msgid "" ">>> import pdb\n" @@ -158,9 +204,17 @@ msgid "" "0.5\n" ">>>" msgstr "" +">>> import pdb\n" +">>> def f(x):\n" +"... print(1 / x)\n" +">>> pdb.run(\"f(2)\")\n" +"> (1)()\n" +"(Pdb) continue\n" +"0.5\n" +">>>" msgid "The typical usage to inspect a crashed program is::" -msgstr "" +msgstr "Типове використання для перевірки збійної програми:" msgid "" ">>> import pdb\n" @@ -178,17 +232,36 @@ msgid "" "0\n" "(Pdb)" msgstr "" +">>> import pdb\n" +">>> def f(x):\n" +"... print(1 / x)\n" +"...\n" +">>> f(0)\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +" File \"\", line 2, in f\n" +"ZeroDivisionError: division by zero\n" +">>> pdb.pm()\n" +"> (2)f()\n" +"(Pdb) p x\n" +"0\n" +"(Pdb)" msgid "" "The implementation of :pep:`667` means that name assignments made via " "``pdb`` will immediately affect the active scope, even when running inside " "an :term:`optimized scope`." msgstr "" +"Реализация :pep:`667` означает, что назначения имен, сделанные через " +"``pdb``, немедленно повлияют на активную область, даже при работе внутри :" +"term:`оптимизированной области`." msgid "" "The module defines the following functions; each enters the debugger in a " "slightly different way:" msgstr "" +"Модуль визначає такі функції; кожен входить до відладчика дещо іншим " +"способом:" msgid "" "Execute the *statement* (given as a string or a code object) under debugger " @@ -200,12 +273,23 @@ msgid "" "module :mod:`__main__` is used. (See the explanation of the built-in :func:" "`exec` or :func:`eval` functions.)" msgstr "" +"Виконайте *інструкцію* (у вигляді рядка або об’єкта коду) під керуванням " +"налагоджувача. Підказка налагоджувача з'являється перед виконанням будь-" +"якого коду; ви можете встановити точки зупинки та ввести :pdbcmd:`continue` " +"або ви можете покроково виконувати оператор за допомогою :pdbcmd:`step` або :" +"pdbcmd:`next` (усі ці команди пояснюються нижче). Необов'язкові аргументи " +"*globals* і *locals* визначають середовище, в якому виконується код; за " +"замовчуванням використовується словник модуля :mod:`__main__`. (Див. " +"пояснення вбудованих функцій :func:`exec` або :func:`eval`.)" msgid "" "Evaluate the *expression* (given as a string or a code object) under " "debugger control. When :func:`runeval` returns, it returns the value of the " "*expression*. Otherwise this function is similar to :func:`run`." msgstr "" +"Оцените *выражение* (заданное в виде строки или объекта кода) под " +"управлением отладчика. Когда :func:`runeval` возвращается, она возвращает " +"значение *выражения*. В остальном эта функция аналогична :func:`run`." msgid "" "Call the *function* (a function or method object, not a string) with the " @@ -213,6 +297,9 @@ msgid "" "function call returned. The debugger prompt appears as soon as the function " "is entered." msgstr "" +"Викличте *функцію* (об’єкт функції чи методу, а не рядок) із заданими " +"аргументами. Коли :func:`runcall` повертає, він повертає те, що повернув " +"виклик функції. Підказка налагоджувача з’являється, щойно вводиться функція." msgid "" "Enter the debugger at the calling stack frame. This is useful to hard-code " @@ -222,45 +309,60 @@ msgid "" msgstr "" msgid "The keyword-only argument *header*." -msgstr "" +msgstr "Лише ключовий аргумент *header*." msgid "" ":func:`set_trace` will enter the debugger immediately, rather than on the " "next line of code to be executed." msgstr "" +":func:`set_trace` войдет в отладчик сразу, а не на следующей строке кода, " +"которая будет выполнена." msgid "" "Enter post-mortem debugging of the given exception or :ref:`traceback object " "`. If no value is given, it uses the exception that is " "currently being handled, or raises ``ValueError`` if there isn’t one." msgstr "" +"Ввести отладку после сбоя указанного исключения или :ref:`traceback object " +"`. Если значение не указано, используется исключение, " +"которое в данный момент обрабатывается, или выдается ``ValueError``, если " +"его нет." msgid "Support for exception objects was added." -msgstr "" +msgstr "Adiciona suporte a objetos exceção." msgid "" "Enter post-mortem debugging of the exception found in :data:`sys.last_exc`." msgstr "" +"Введите посмертную отладку исключения, найденного в :data:`sys.last_exc`." msgid "" "The ``run*`` functions and :func:`set_trace` are aliases for instantiating " "the :class:`Pdb` class and calling the method of the same name. If you want " "to access further features, you have to do this yourself:" msgstr "" +"Функції ``run*`` і :func:`set_trace` є псевдонімами для створення екземпляра " +"класу :class:`Pdb` і виклику однойменного методу. Якщо ви хочете отримати " +"доступ до інших функцій, ви повинні зробити це самостійно:" msgid ":class:`Pdb` is the debugger class." -msgstr "" +msgstr ":class:`Pdb` — це клас налагоджувача." msgid "" "The *completekey*, *stdin* and *stdout* arguments are passed to the " "underlying :class:`cmd.Cmd` class; see the description there." msgstr "" +"Аргументи *completekey*, *stdin* і *stdout* передаються базовому класу :" +"class:`cmd.Cmd`; дивіться опис там." msgid "" "The *skip* argument, if given, must be an iterable of glob-style module name " "patterns. The debugger will not step into frames that originate in a module " "that matches one of these patterns. [1]_" msgstr "" +"Аргумент *skip*, якщо він наданий, має бути повторюваним шаблоном імен " +"модулів у стилі glob. Налагоджувач не ввійде в кадри, які походять із " +"модуля, який відповідає одному з цих шаблонів. [1]_" msgid "" "By default, Pdb sets a handler for the SIGINT signal (which is sent when the " @@ -269,38 +371,47 @@ msgid "" "pressing :kbd:`Ctrl-C`. If you want Pdb not to touch the SIGINT handler, " "set *nosigint* to true." msgstr "" +"По умолчанию Pdb устанавливает обработчик сигнала SIGINT (который " +"отправляется, когда пользователь нажимает :kbd:`Ctrl-C` на консоли), когда " +"вы даете команду :pdbcmd:`continue`. Это позволит вам снова войти в " +"отладчик, нажав :kbd:`Ctrl-C`. Если вы хотите, чтобы Pdb не касался " +"обработчика SIGINT, установите для *nosigint* значение true." msgid "" "The *readrc* argument defaults to true and controls whether Pdb will load ." "pdbrc files from the filesystem." msgstr "" +"Аргумент *readrc* за замовчуванням має значення true та визначає, чи буде " +"Pdb завантажувати файли .pdbrc із файлової системи." msgid "Example call to enable tracing with *skip*::" -msgstr "" +msgstr "Приклад виклику для ввімкнення трасування за допомогою *skip*::" msgid "import pdb; pdb.Pdb(skip=['django.*']).set_trace()" -msgstr "" +msgstr "import pdb; pdb.Pdb(skip=['django.*']).set_trace()" msgid "" "Raises an :ref:`auditing event ` ``pdb.Pdb`` with no arguments." -msgstr "" +msgstr "Викликає :ref:`подію аудиту ` ``pdb.Pdb`` без аргументів." msgid "Added the *skip* parameter." -msgstr "" +msgstr "Добавлен параметр *skip*." msgid "" "Added the *nosigint* parameter. Previously, a SIGINT handler was never set " "by Pdb." msgstr "" +"Добавлен параметр *nosigint*. Ранее обработчик SIGINT никогда не " +"устанавливался Pdb." msgid "The *readrc* argument." -msgstr "" +msgstr "Аргумент *readrc*." msgid "See the documentation for the functions explained above." -msgstr "" +msgstr "Дивіться документацію щодо функцій, описаних вище." msgid "Debugger Commands" -msgstr "" +msgstr "Команди налагоджувача" msgid "" "The commands recognized by the debugger are listed below. Most commands can " @@ -312,11 +423,22 @@ msgid "" "the square brackets must not be typed. Alternatives in the command syntax " "are separated by a vertical bar (``|``)." msgstr "" +"Нижче наведено команди, які розпізнає налагоджувач. Більшість команд можна " +"скоротити до однієї або двох букв, як зазначено; напр. ``h(elp)`` означає, " +"що ``h`` або ``help`` можна використовувати для введення команди довідки " +"(але не ``he`` або ``hel``, ані ``H`` або ``Довідка`` або ``ДОПОМОГА``). " +"Аргументи команд повинні бути розділені пробілами (пробілами або " +"табуляцією). Необов’язкові аргументи в синтаксисі команди беруться у " +"квадратні дужки (``[]``); квадратні дужки не можна вводити. Альтернативи в " +"синтаксисі команди розділені вертикальною рискою (``|``)." msgid "" "Entering a blank line repeats the last command entered. Exception: if the " "last command was a :pdbcmd:`list` command, the next 11 lines are listed." msgstr "" +"Введення порожнього рядка повторює останню введену команду. Виняток: якщо " +"останньою командою була команда :pdbcmd:`list`, буде показано наступні 11 " +"рядків." msgid "" "Commands that the debugger doesn't recognize are assumed to be Python " @@ -327,17 +449,28 @@ msgid "" "in such a statement, the exception name is printed but the debugger's state " "is not changed." msgstr "" +"Команди, які не розпізнає налагоджувач, вважаються операторами Python і " +"виконуються в контексті програми, що налагоджується. Інструкції Python також " +"можуть мати префікс знаком оклику (``!``). Це потужний спосіб перевірити " +"програму, яка налагоджується; можна навіть змінити змінну або викликати " +"функцію. Коли в такому операторі виникає виняток, ім’я виключення " +"друкується, але стан налагоджувача не змінюється." msgid "" "Expressions/Statements whose prefix is a pdb command are now correctly " "identified and executed." msgstr "" +"Выражения/операторы, префиксом которых является команда pdb, теперь " +"правильно идентифицируются и выполняются." msgid "" "The debugger supports :ref:`aliases `. Aliases can have " "parameters which allows one a certain level of adaptability to the context " "under examination." msgstr "" +"Налагоджувач підтримує :ref:`псевдоніми `. Псевдоніми " +"можуть мати параметри, які дозволяють певний рівень адаптації до " +"досліджуваного контексту." msgid "" "Multiple commands may be entered on a single line, separated by ``;;``. (A " @@ -348,6 +481,13 @@ msgid "" "double semicolons is to use implicit string concatenation ``';'';'`` or ``\";" "\"\";\"``." msgstr "" +"Кілька команд можна ввести в одному рядку, розділених символом ``;;``. (Один " +"символ ``;`` не використовується, оскільки він є роздільником для кількох " +"команд у рядку, який передається синтаксичному аналізатору Python.) Для " +"розділення команд не застосовано жодного розуму; вхідні дані розбиваються на " +"першу пару ``;;``, навіть якщо вона знаходиться в середині рядка в лапках. " +"Обхідним шляхом для рядків із подвійною крапкою з комою є використання " +"неявної конкатенації рядків ``';'';''`` або ``\";\"\";\"``." msgid "" "To set a temporary global variable, use a *convenience variable*. A " @@ -357,21 +497,28 @@ msgid "" "program resumes execution so it's less likely to interfere with your program " "compared to using normal variables like ``foo = 1``." msgstr "" +"Чтобы установить временную глобальную переменную, используйте *удобную " +"переменную*. *Удобная переменная* — это переменная, имя которой начинается с " +"``$``. Например, ``$foo = 1`` устанавливает глобальную переменную ``$foo``, " +"которую вы можете использовать в сеансе отладчика. *Удобные переменные* " +"очищаются, когда программа возобновляет выполнение, поэтому вероятность " +"вмешательства в вашу программу снижается по сравнению с использованием " +"обычных переменных, таких как ``foo = 1``." msgid "There are three preset *convenience variables*:" msgstr "" msgid "``$_frame``: the current frame you are debugging" -msgstr "" +msgstr "``$_frame``: текущий кадр, который вы отлаживаете." msgid "``$_retval``: the return value if the frame is returning" -msgstr "" +msgstr "``$_retval``: возвращаемое значение, если кадр возвращается." msgid "``$_exception``: the exception if the frame is raising an exception" -msgstr "" +msgstr "``$_Exception``: исключение, если кадр вызывает исключение." msgid "Added the *convenience variable* feature." -msgstr "" +msgstr "Добавлена ​​функция *удобная переменная*." msgid "" "If a file :file:`.pdbrc` exists in the user's home directory or in the " @@ -381,17 +528,28 @@ msgid "" "useful for aliases. If both files exist, the one in the home directory is " "read first and aliases defined there can be overridden by the local file." msgstr "" +"Если файл :file:`.pdbrc` существует в домашнем каталоге пользователя или в " +"текущем каталоге, он читается с кодировкой ``'utf-8'`` и выполняется так, " +"как если бы он был введен в командной строке отладчика, с исключение: пустые " +"строки и строки, начинающиеся с ``#``, игнорируются. Это особенно полезно " +"для псевдонимов. Если оба файла существуют, первым считывается тот, который " +"находится в домашнем каталоге, и определенные там псевдонимы могут быть " +"переопределены локальным файлом." msgid "" ":file:`.pdbrc` can now contain commands that continue debugging, such as :" "pdbcmd:`continue` or :pdbcmd:`next`. Previously, these commands had no " "effect." msgstr "" +":file:`.pdbrc` тепер може містити команди, які продовжують налагодження, " +"наприклад :pdbcmd:`continue` або :pdbcmd:`next`. Раніше ці команди не діяли." msgid "" ":file:`.pdbrc` is now read with ``'utf-8'`` encoding. Previously, it was " "read with the system locale encoding." msgstr "" +":file:`.pdbrc` теперь читается с кодировкой ``'utf-8'``. Раньше он читался с " +"использованием системной языковой кодировки." msgid "" "Without argument, print the list of available commands. With a *command* as " @@ -400,6 +558,11 @@ msgid "" "argument must be an identifier, ``help exec`` must be entered to get help on " "the ``!`` command." msgstr "" +"Без аргументів вивести список доступних команд. З *командою* як аргументом " +"надрукуйте довідку про цю команду. ``help pdb`` відображає повну " +"документацію (рядок документації модуля :mod:`pdb`). Оскільки аргумент " +"*command* має бути ідентифікатором, необхідно ввести ``help exec``, щоб " +"отримати довідку щодо команди ``!``." msgid "" "Print a stack trace, with the most recent frame at the bottom. An arrow " @@ -411,11 +574,15 @@ msgid "" "Move the current frame *count* (default one) levels down in the stack trace " "(to a newer frame)." msgstr "" +"Перемістіть поточний кадр *кількість* (за замовчуванням) на рівні трасування " +"стека (до нового кадру)." msgid "" "Move the current frame *count* (default one) levels up in the stack trace " "(to an older frame)." msgstr "" +"Перемістити поточний кадр *кількість* (за замовчуванням) вгору в трасуванні " +"стека (до старішого кадру)." msgid "" "With a *lineno* argument, set a break at line *lineno* in the current file. " @@ -431,33 +598,49 @@ msgid "" "within that function. *function* can be any expression that evaluates to a " "function in the current namespace." msgstr "" +"С помощью аргумента *function* установите разрыв на первом исполняемом " +"операторе внутри этой функции. *функция* может быть любым выражением, " +"результатом которого является функция в текущем пространстве имен." msgid "" "If a second argument is present, it is an expression which must evaluate to " "true before the breakpoint is honored." msgstr "" +"Якщо присутній другий аргумент, це вираз, який повинен отримати значення " +"true перед тим, як буде враховано точку зупину." msgid "" "Without argument, list all breaks, including for each breakpoint, the number " "of times that breakpoint has been hit, the current ignore count, and the " "associated condition if any." msgstr "" +"Без аргументів, перерахуйте всі розриви, включно з кожною точкою зупину, " +"кількість разів, коли ця точка зупину було досягнуто, поточну кількість " +"ігнорування та пов’язану умову, якщо така є." msgid "" "Each breakpoint is assigned a number to which all the other breakpoint " "commands refer." msgstr "" +"Каждой точке останова присваивается номер, к которому относятся все " +"остальные команды точки останова." msgid "" "Temporary breakpoint, which is removed automatically when it is first hit. " "The arguments are the same as for :pdbcmd:`break`." msgstr "" +"Тимчасова контрольна точка, яка видаляється автоматично при першому " +"попаданні. Аргументи такі ж, як і для :pdbcmd:`break`." msgid "" "With a *filename:lineno* argument, clear all the breakpoints at this line. " "With a space separated list of breakpoint numbers, clear those breakpoints. " "Without argument, clear all breaks (but first ask confirmation)." msgstr "" +"За допомогою аргументу *filename:lineno* очистіть усі точки зупину в цьому " +"рядку. За допомогою списку номерів точок зупину, розділених пробілами, " +"очистіть ці точки зупину. Без суперечок очистіть усі розриви (але спочатку " +"запитайте підтвердження)." msgid "" "Disable the breakpoints given as a space separated list of breakpoint " @@ -465,9 +648,13 @@ msgid "" "execution, but unlike clearing a breakpoint, it remains in the list of " "breakpoints and can be (re-)enabled." msgstr "" +"Вимкніть точки зупину, надані як список номерів точок зупину, розділених " +"пробілами. Вимкнення точки зупину означає, що це не може призвести до " +"зупинки виконання програми, але на відміну від очищення точки зупину, вона " +"залишається в списку точок зупину та може бути (знову) увімкнена." msgid "Enable the breakpoints specified." -msgstr "" +msgstr "Увімкніть вказані точки зупину." msgid "" "Set the ignore count for the given breakpoint number. If *count* is " @@ -476,18 +663,30 @@ msgid "" "the breakpoint is reached and the breakpoint is not disabled and any " "associated condition evaluates to true." msgstr "" +"Установите счетчик игнорирования для данного номера точки останова. Если " +"*count* опущено, счетчик игнорирования устанавливается равным 0. Точка " +"останова становится активной, когда счетчик игнорирования равен нулю. Если " +"значение не равно нулю, *count* уменьшается каждый раз при достижении точки " +"останова, при этом точка останова не отключается, а любое связанное с ней " +"условие оценивается как истинное." msgid "" "Set a new *condition* for the breakpoint, an expression which must evaluate " "to true before the breakpoint is honored. If *condition* is absent, any " "existing condition is removed; i.e., the breakpoint is made unconditional." msgstr "" +"Встановіть нову *умову* для точки зупину, вираз, який повинен мати значення " +"true, перш ніж точка зупину буде виконана. Якщо *умова* відсутня, усі наявні " +"умови видаляються; тобто точка зупину стає безумовною." msgid "" "Specify a list of commands for breakpoint number *bpnumber*. The commands " "themselves appear on the following lines. Type a line containing just " "``end`` to terminate the commands. An example::" msgstr "" +"Укажіть список команд для точки зупину з номером *bpnumber*. Самі команди " +"відображаються в наступних рядках. Введіть рядок, що містить лише ``end``, " +"щоб завершити команди. Приклад::" msgid "" "(Pdb) commands 1\n" @@ -495,21 +694,32 @@ msgid "" "(com) end\n" "(Pdb)" msgstr "" +"(Pdb) commands 1\n" +"(com) p some_variable\n" +"(com) end\n" +"(Pdb)" msgid "" "To remove all commands from a breakpoint, type ``commands`` and follow it " "immediately with ``end``; that is, give no commands." msgstr "" +"Щоб видалити всі команди з точки зупину, введіть ``commands`` і негайно " +"введіть ``end``; тобто не давати команд." msgid "" "With no *bpnumber* argument, ``commands`` refers to the last breakpoint set." msgstr "" +"Без аргументу *bpnumber* ``commands`` посилається на останній набір точок " +"зупину." msgid "" "You can use breakpoint commands to start your program up again. Simply use " "the :pdbcmd:`continue` command, or :pdbcmd:`step`, or any other command that " "resumes execution." msgstr "" +"Ви можете використовувати команди точки зупинки, щоб знову запустити " +"програму. Просто скористайтеся командою :pdbcmd:`continue` або :pdbcmd:" +"`step` або будь-якою іншою командою, яка відновлює виконання." msgid "" "Specifying any command resuming execution (currently :pdbcmd:`continue`, :" @@ -533,6 +743,8 @@ msgid "" "Execute the current line, stop at the first possible occasion (either in a " "function that is called or on the next line in the current function)." msgstr "" +"Виконати поточний рядок, зупинитися при першому можливому випадку (або у " +"функції, яка викликається, або на наступному рядку в поточній функції)." msgid "" "Continue execution until the next line in the current function is reached or " @@ -541,38 +753,55 @@ msgid "" "executes called functions at (nearly) full speed, only stopping at the next " "line in the current function.)" msgstr "" +"Продовжуйте виконання, доки не буде досягнуто наступного рядка в поточній " +"функції або вона не повернеться. (Різниця між :pdbcmd:`next` і :pdbcmd:" +"`step` полягає в тому, що :pdbcmd:`step` зупиняється всередині викликаної " +"функції, тоді як :pdbcmd:`next` виконує викликані функції на (майже) повній " +"швидкості, лише зупиняючись у наступному рядку поточної функції.)" msgid "" "Without argument, continue execution until the line with a number greater " "than the current one is reached." msgstr "" +"Без аргументів продовжувати виконання, доки не буде досягнуто рядок з " +"номером, більшим за поточний." msgid "" "With *lineno*, continue execution until a line with a number greater or " "equal to *lineno* is reached. In both cases, also stop when the current " "frame returns." msgstr "" +"С помощью *lineno* продолжайте выполнение до тех пор, пока не будет " +"достигнута строка с номером, большим или равным *lineno*. В обоих случаях " +"также остановитесь, когда вернется текущий кадр." msgid "Allow giving an explicit line number." -msgstr "" +msgstr "Дозволяє вказувати явний номер рядка." msgid "Continue execution until the current function returns." -msgstr "" +msgstr "Продовжуйте виконання, доки поточна функція не повернеться." msgid "Continue execution, only stop when a breakpoint is encountered." msgstr "" +"Продовжувати виконання, зупинятися лише тоді, коли зустрічається точка " +"зупину." msgid "" "Set the next line that will be executed. Only available in the bottom-most " "frame. This lets you jump back and execute code again, or jump forward to " "skip code that you don't want to run." msgstr "" +"Встановіть наступний рядок, який буде виконано. Доступно лише в нижній " +"рамці. Це дає змогу повернутися назад і виконати код знову або перейти " +"вперед, щоб пропустити код, який ви не хочете запускати." msgid "" "It should be noted that not all jumps are allowed -- for instance it is not " "possible to jump into the middle of a :keyword:`for` loop or out of a :" "keyword:`finally` clause." msgstr "" +"Слід зазначити, що не всі переходи дозволені - наприклад, неможливо перейти " +"в середину циклу :keyword:`for` або з пункту :keyword:`finally`." msgid "" "List source code for the current file. Without arguments, list 11 lines " @@ -581,6 +810,12 @@ msgid "" "lines around at that line. With two arguments, list the given range; if the " "second argument is less than the first, it is interpreted as a count." msgstr "" +"Список вихідного коду для поточного файлу. Без аргументів перелічити 11 " +"рядків навколо поточного рядка або продовжити попередній список. З " +"аргументом ``.`` перелічити 11 рядків навколо поточного рядка. З одним " +"аргументом перелічіть 11 рядків навколо цього рядка. З двома аргументами " +"перелічіть заданий діапазон; якщо другий аргумент менший за перший, він " +"інтерпретується як підрахунок." msgid "" "The current line in the current frame is indicated by ``->``. If an " @@ -588,51 +823,66 @@ msgid "" "raised or propagated is indicated by ``>>``, if it differs from the current " "line." msgstr "" +"Поточний рядок у поточному кадрі позначається ``->``. Якщо виняток " +"налагоджується, рядок, де виняток було спочатку викликано або поширено, " +"позначається ``>>``, якщо він відрізняється від поточного рядка." msgid "Added the ``>>`` marker." -msgstr "" +msgstr "Добавлен маркер ``>>``." msgid "" "List all source code for the current function or frame. Interesting lines " "are marked as for :pdbcmd:`list`." msgstr "" +"Перерахувати весь вихідний код для поточної функції або кадру. Цікаві рядки " +"позначені як для :pdbcmd:`list`." msgid "Print the arguments of the current function and their current values." -msgstr "" +msgstr "Выведите аргументы текущей функции и их текущие значения." msgid "Evaluate *expression* in the current context and print its value." -msgstr "" +msgstr "Оцените *выражение* в текущем контексте и выведите его значение." msgid "" "``print()`` can also be used, but is not a debugger command --- this " "executes the Python :func:`print` function." msgstr "" +"``print()`` також можна використовувати, але це не команда відладчика --- " +"вона виконує функцію :func:`print` Python." msgid "" "Like the :pdbcmd:`p` command, except the value of *expression* is pretty-" "printed using the :mod:`pprint` module." msgstr "" +"Аналогично команде :pdbcmd:`p`, за исключением того, что значение " +"*expression* красиво печатается с использованием модуля :mod:`pprint`." msgid "Print the type of *expression*." -msgstr "" +msgstr "Выведите тип *выражения*." msgid "Try to get source code of *expression* and display it." -msgstr "" +msgstr "Попробуйте получить исходный код *выражения* и отобразить его." msgid "" "Display the value of *expression* if it changed, each time execution stops " "in the current frame." msgstr "" +"Отображать значение *выражения*, если оно изменилось, каждый раз, когда " +"выполнение останавливается в текущем кадре." msgid "" "Without *expression*, list all display expressions for the current frame." msgstr "" +"Без *выражения* выводит список всех выражений отображения для текущего кадра." msgid "" "Display evaluates *expression* and compares to the result of the previous " "evaluation of *expression*, so when the result is mutable, display may not " "be able to pick up the changes." msgstr "" +"Дисплей оценивает *выражение* и сравнивает его с результатом предыдущего " +"вычисления *выражения*, поэтому, если результат является изменяемым, дисплей " +"может не уловить изменения." msgid "Example::" msgstr "Przykład::" @@ -644,11 +894,18 @@ msgid "" "lst.append(1)\n" "print(lst)" msgstr "" +"lst = []\n" +"breakpoint()\n" +"pass\n" +"lst.append(1)\n" +"print(lst)" msgid "" "Display won't realize ``lst`` has been changed because the result of " "evaluation is modified in place by ``lst.append(1)`` before being compared::" msgstr "" +"Дисплей не поймет, что lst был изменен, поскольку результат оценки " +"модифицируется с помощью lst.append(1) перед сравнением:" msgid "" "> example.py(3)()\n" @@ -663,9 +920,22 @@ msgid "" "-> print(lst)\n" "(Pdb)" msgstr "" +"> example.py(3)()\n" +"-> pass\n" +"(Pdb) display lst\n" +"display lst: []\n" +"(Pdb) n\n" +"> example.py(4)()\n" +"-> lst.append(1)\n" +"(Pdb) n\n" +"> example.py(5)()\n" +"-> print(lst)\n" +"(Pdb)" msgid "You can do some tricks with copy mechanism to make it work::" msgstr "" +"Вы можете проделать некоторые трюки с механизмом копирования, чтобы он " +"заработал:" msgid "" "> example.py(3)()\n" @@ -681,11 +951,25 @@ msgid "" "display lst[:]: [1] [old: []]\n" "(Pdb)" msgstr "" +"> example.py(3)()\n" +"-> pass\n" +"(Pdb) display lst[:]\n" +"display lst[:]: []\n" +"(Pdb) n\n" +"> example.py(4)()\n" +"-> lst.append(1)\n" +"(Pdb) n\n" +"> example.py(5)()\n" +"-> print(lst)\n" +"display lst[:]: [1] [old: []]\n" +"(Pdb)" msgid "" "Do not display *expression* anymore in the current frame. Without " "*expression*, clear all display expressions for the current frame." msgstr "" +"Больше не отображать *выражение* в текущем кадре. Без *выражения* очистить " +"все выражения отображения для текущего кадра." msgid "" "Start an interactive interpreter (using the :mod:`code` module) in a new " @@ -693,6 +977,10 @@ msgid "" "current scope. Use ``exit()`` or ``quit()`` to exit the interpreter and " "return to the debugger." msgstr "" +"Запустите интерактивный интерпретатор (используя модуль :mod:`code`) в новом " +"глобальном пространстве имен, инициализированном из локального и глобального " +"пространств имен для текущей области. Используйте ``exit()`` или ``quit()``, " +"чтобы выйти из интерпретатора и вернуться в отладчик." msgid "" "As ``interact`` creates a new dedicated namespace for code execution, " @@ -700,15 +988,23 @@ msgid "" "modifications to any referenced mutable objects will be reflected in the " "original namespaces as usual." msgstr "" +"Поскольку ``interact`` создает новое выделенное пространство имен для " +"выполнения кода, присвоение переменных не повлияет на исходные пространства " +"имен. Однако изменения любых изменяемых объектов, на которые имеются ссылки, " +"будут отражены в исходных пространствах имен, как обычно." msgid "" "``exit()`` and ``quit()`` can be used to exit the :pdbcmd:`interact` command." msgstr "" +"``exit()`` и ``quit()`` можно использовать для выхода из команды :pdbcmd:" +"`interact`." msgid "" ":pdbcmd:`interact` directs its output to the debugger's output channel " "rather than :data:`sys.stderr`." msgstr "" +":pdbcmd:`interact` направляет свои выходные данные в выходной канал " +"отладчика, а не в :data:`sys.stderr`." msgid "" "Create an alias called *name* that executes *command*. The *command* must " @@ -717,6 +1013,11 @@ msgid "" "parameters. If *command* is omitted, the current alias for *name* is shown. " "If no arguments are given, all aliases are listed." msgstr "" +"Создайте псевдоним с именем *имя*, который выполняет *команду*. *Команду* " +"нельзя заключать в кавычки. Заменяемые параметры могут обозначаться ``%1``, " +"``%2``, ... и ``%9``, а ``%*`` заменяется всеми параметрами. Если *команда* " +"опущена, отображается текущий псевдоним для *имя*. Если аргументы не " +"указаны, отображаются все псевдонимы." msgid "" "Aliases may be nested and can contain anything that can be legally typed at " @@ -725,11 +1026,18 @@ msgid "" "Aliasing is recursively applied to the first word of the command line; all " "other words in the line are left alone." msgstr "" +"Псевдоніми можуть бути вкладеними та можуть містити будь-що, що можна " +"легально ввести в підказці pdb. Зауважте, що внутрішні команди pdb *можна* " +"замінити псевдонімами. Потім така команда приховується, доки псевдонім не " +"буде видалено. Псевдоніми рекурсивно застосовуються до першого слова " +"командного рядка; всі інші слова в рядку залишаються окремо." msgid "" "As an example, here are two useful aliases (especially when placed in the :" "file:`.pdbrc` file)::" msgstr "" +"Як приклад, ось два корисні псевдоніми (особливо якщо їх розміщено у файлі :" +"file:`.pdbrc`):" msgid "" "# Print instance variables (usage \"pi classInst\")\n" @@ -737,30 +1045,43 @@ msgid "" "# Print instance variables in self\n" "alias ps pi self" msgstr "" +"# Print instance variables (usage \"pi classInst\")\n" +"alias pi for k in %1.__dict__.keys(): print(f\"%1.{k} = {%1.__dict__[k]}\")\n" +"# Print instance variables in self\n" +"alias ps pi self" msgid "Delete the specified alias *name*." -msgstr "" +msgstr "Удалить указанный псевдоним *имя*." msgid "" "Execute the (one-line) *statement* in the context of the current stack " "frame. The exclamation point can be omitted unless the first word of the " "statement resembles a debugger command, e.g.:" msgstr "" +"Выполните (однострочный) *оператор* в контексте текущего кадра стека. " +"Восклицательный знак можно опустить, если только первое слово инструкции не " +"напоминает команду отладчика, например:" msgid "" "(Pdb) ! n=42\n" "(Pdb)" msgstr "" +"(Pdb) ! n=42\n" +"(Pdb)" msgid "" "To set a global variable, you can prefix the assignment command with a :" "keyword:`global` statement on the same line, e.g.:" msgstr "" +"Чтобы установить глобальную переменную, вы можете поставить перед командой " +"присваивания оператор :keyword:`global` в той же строке, например:" msgid "" "(Pdb) global list_options; list_options = ['-l']\n" "(Pdb)" msgstr "" +"(Pdb) global list_options; list_options = ['-l']\n" +"(Pdb)" msgid "" "Restart the debugged Python program. If *args* is supplied, it is split " @@ -768,6 +1089,10 @@ msgid "" "History, breakpoints, actions and debugger options are preserved. :pdbcmd:" "`restart` is an alias for :pdbcmd:`run`." msgstr "" +"Перезапустите отлаженную программу Python. Если указан *args*, он " +"разделяется с помощью :mod:`shlex`, и результат используется как новый :data:" +"`sys.argv`. История, точки останова, действия и параметры отладчика " +"сохраняются. :pdbcmd:`restart` — это псевдоним для :pdbcmd:`run`." msgid "Quit from the debugger. The program being executed is aborted." msgstr "" @@ -776,12 +1101,16 @@ msgid "" "Enter a recursive debugger that steps through *code* (which is an arbitrary " "expression or statement to be executed in the current environment)." msgstr "" +"Введите рекурсивный отладчик, который выполняет *код* (который представляет " +"собой произвольное выражение или оператор, который должен быть выполнен в " +"текущей среде)." msgid "Print the return value for the last return of the current function." msgstr "" +"Выведите возвращаемое значение для последнего возврата текущей функции." msgid "List or jump between chained exceptions." -msgstr "" +msgstr "Список или переход между связанными исключениями." msgid "" "When using ``pdb.pm()`` or ``Pdb.post_mortem(...)`` with a chained " @@ -789,6 +1118,10 @@ msgid "" "chained exceptions using ``exceptions`` command to list exceptions, and " "``exceptions `` to switch to that exception." msgstr "" +"При использовании ``pdb.pm()`` или ``Pdb.post_mortem(...)`` с цепочкой " +"исключений вместо трассировки пользователь может перемещаться между " +"цепочками исключений, используя команду ``exceptions`` для вывода списка " +"исключений и ``exceptions <номер>`` для переключения на это исключение." msgid "" "def out():\n" @@ -808,9 +1141,25 @@ msgid "" "\n" " out()" msgstr "" +"def out():\n" +" try:\n" +" middle()\n" +" except Exception as e:\n" +" raise ValueError(\"reraise middle() error\") from e\n" +"\n" +"def middle():\n" +" try:\n" +" return inner(0)\n" +" except Exception as e:\n" +" raise ValueError(\"Middle fail\")\n" +"\n" +"def inner(x):\n" +" 1 / x\n" +"\n" +" out()" msgid "calling ``pdb.pm()`` will allow to move between exceptions::" -msgstr "" +msgstr "вызов ``pdb.pm()`` позволит перемещаться между исключениями::" msgid "" "> example.py(5)out()\n" @@ -829,6 +1178,21 @@ msgid "" "> example.py(10)middle()\n" "-> return inner(0)" msgstr "" +"> example.py(5)out()\n" +"-> raise ValueError(\"reraise middle() error\") from e\n" +"\n" +"(Pdb) exceptions\n" +" 0 ZeroDivisionError('division by zero')\n" +" 1 ValueError('Middle fail')\n" +"> 2 ValueError('reraise middle() error')\n" +"\n" +"(Pdb) exceptions 0\n" +"> example.py(16)inner()\n" +"-> 1 / x\n" +"\n" +"(Pdb) up\n" +"> example.py(10)middle()\n" +"-> return inner(0)" msgid "Footnotes" msgstr "Przypisy" @@ -837,30 +1201,32 @@ msgid "" "Whether a frame is considered to originate in a certain module is determined " "by the ``__name__`` in the frame globals." msgstr "" +"Чи вважається, що фрейм походить із певного модуля, визначається " +"``__name__`` у глобальних параметрах фрейму." msgid "debugging" -msgstr "" +msgstr "отладка" msgid "Pdb (class in pdb)" -msgstr "" +msgstr "Pdb (класс в pdb)" msgid "module" msgstr "moduł" msgid "bdb" -msgstr "" +msgstr "bdb" msgid "cmd" -msgstr "" +msgstr "cmd" msgid ".pdbrc" -msgstr "" +msgstr ".pdbrc" msgid "file" msgstr "plik" msgid "debugger" -msgstr "" +msgstr "debugger" msgid "configuration" -msgstr "" +msgstr "конфигурация" diff --git a/library/pickle.po b/library/pickle.po index cd85dbd84d..0b30d52af1 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\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: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -26,10 +24,10 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!pickle` --- Python object serialization" -msgstr "" +msgstr ":mod:`!pickle` --- Сериализация объектов Python" 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-" @@ -41,31 +39,49 @@ msgid "" "\"serialization\", \"marshalling,\" [#]_ or \"flattening\"; however, to " "avoid confusion, the terms used here are \"pickling\" and \"unpickling\"." msgstr "" +"Модуль :mod:`pickle` реалізує двійкові протоколи для серіалізації та " +"десеріалізації структури об’єктів Python. *\"Pickling\"* - це процес, за " +"допомогою якого ієрархія об'єктів Python перетворюється на потік байтів, а " +"*\"unpickling\"* - це зворотна операція, за допомогою якої потік байтів (з :" +"term:`binary file` або :term:`bytes-like object`) перетворюється назад в " +"ієрархію об’єктів. Травлення (і розбирання) також відоме як " +"\"серіалізація\", \"маршалінг\", [#]_ або \"зведення\"; однак, щоб уникнути " +"плутанини, тут використовуються терміни \"маринування\" та " +"\"розмаринування\"." msgid "The ``pickle`` module **is not secure**. Only unpickle data you trust." msgstr "" +"Модуль ``pickle`` **не захищений**. Вилучайте лише дані, яким довіряєте." msgid "" "It is possible to construct malicious pickle data which will **execute " "arbitrary code during unpickling**. Never unpickle data that could have come " "from an untrusted source, or that could have been tampered with." msgstr "" +"Можна створити шкідливі дані pickle, які **виконуватимуть довільний код під " +"час unpickling**. Ніколи не видаляйте дані, які могли надійти з ненадійного " +"джерела або які могли бути підроблені." msgid "" "Consider signing data with :mod:`hmac` if you need to ensure that it has not " "been tampered with." msgstr "" +"Розгляньте можливість підписати дані за допомогою :mod:`hmac`, якщо вам " +"потрібно переконатися, що вони не були змінені." msgid "" "Safer serialization formats such as :mod:`json` may be more appropriate if " "you are processing untrusted data. See :ref:`comparison-with-json`." msgstr "" +"Більш безпечні формати серіалізації, такі як :mod:`json`, можуть бути більш " +"доречними, якщо ви обробляєте ненадійні дані. Перегляньте :ref:`comparison-" +"with-json`." msgid "Relationship to other Python modules" -msgstr "" +msgstr "Зв'язок з іншими модулями Python" msgid "Comparison with ``marshal``" -msgstr "" +msgstr "Порівняння з ``маршалом``" msgid "" "Python has a more primitive serialization module called :mod:`marshal`, but " @@ -73,17 +89,26 @@ msgid "" "Python objects. :mod:`marshal` exists primarily to support Python's :file:`." "pyc` files." msgstr "" +"Python має примітивніший модуль серіалізації під назвою :mod:`marshal`, але " +"загалом :mod:`pickle` має завжди бути кращим способом серіалізації об’єктів " +"Python. :mod:`marshal` існує в основному для підтримки файлів :file:`.pyc` " +"Python." msgid "" "The :mod:`pickle` module differs from :mod:`marshal` in several significant " "ways:" msgstr "" +"Модуль :mod:`pickle` відрізняється від :mod:`marshal` кількома суттєвими " +"ознаками:" 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 "" +"Модуль :mod:`pickle` відстежує об’єкти, які він уже серіалізував, так що " +"пізніші посилання на той самий об’єкт не будуть серіалізовані знову. :mod:" +"`marshal` цього не робить." msgid "" "This has implications both for recursive objects and object sharing. " @@ -96,6 +121,15 @@ msgid "" "Shared objects remain shared, which can be very important for mutable " "objects." msgstr "" +"Це стосується як рекурсивних об’єктів, так і спільного використання " +"об’єктів. Рекурсивні об'єкти - це об'єкти, які містять посилання на себе. " +"Вони не обробляються маршалом, і фактично спроба маршалу рекурсивних " +"об’єктів призведе до збою вашого інтерпретатора Python. Спільне використання " +"об’єктів відбувається, коли існує кілька посилань на той самий об’єкт у " +"різних місцях ієрархії об’єктів, що серіалізується. :mod:`pickle` зберігає " +"такі об’єкти лише один раз і гарантує, що всі інші посилання вказують на " +"головну копію. Спільні об’єкти залишаються спільними, що може бути дуже " +"важливим для змінних об’єктів." msgid "" ":mod:`marshal` cannot be used to serialize user-defined classes and their " @@ -103,6 +137,11 @@ msgid "" "transparently, however the class definition must be importable and live in " "the same module as when the object was stored." msgstr "" +":mod:`marshal` не можна використовувати для серіалізації визначених " +"користувачем класів та їх екземплярів. :mod:`pickle` може прозоро зберігати " +"та відновлювати екземпляри класу, однак визначення класу має бути " +"імпортованим і знаходитись у тому самому модулі, що й під час зберігання " +"об’єкта." msgid "" "The :mod:`marshal` serialization format is not guaranteed to be portable " @@ -115,28 +154,43 @@ msgid "" "differences if your data is crossing that unique breaking change language " "boundary." msgstr "" +"Формат серіалізації :mod:`marshal` не гарантовано переноситься між версіями " +"Python. Оскільки основним завданням у житті є підтримка файлів :file:`.pyc`, " +"розробники Python залишають за собою право змінювати формат серіалізації " +"несумісними способами, якщо виникне така потреба. Формат серіалізації :mod:" +"`pickle` гарантовано буде зворотно сумісним з усіма випусками Python за " +"умови, що вибрано сумісний протокол pickle, а код піклування та депіклування " +"враховує відмінності типів Python 2 і Python 3, якщо ваші дані перетинають " +"цю унікальну межу мови зміни порушення. ." msgid "Comparison with ``json``" -msgstr "" +msgstr "Порівняння з ``json``" msgid "" "There are fundamental differences between the pickle protocols and `JSON " "(JavaScript Object Notation) `_:" msgstr "" +"Существуют фундаментальные различия между протоколами Pickle и `JSON " +"(JavaScript Object Notation) `_:" msgid "" "JSON is a text serialization format (it outputs unicode text, although most " "of the time it is then encoded to ``utf-8``), while pickle is a binary " "serialization format;" msgstr "" +"JSON — це формат текстової серіалізації (він виводить текст Юнікод, хоча " +"здебільшого він потім кодується у ``utf-8``), тоді як pickle — це двійковий " +"формат серіалізації;" msgid "JSON is human-readable, while pickle is not;" -msgstr "" +msgstr "JSON читається людиною, а pickle – ні;" msgid "" "JSON is interoperable and widely used outside of the Python ecosystem, while " "pickle is Python-specific;" msgstr "" +"JSON є сумісним і широко використовується за межами екосистеми Python, тоді " +"як pickle є специфічним для Python;" msgid "" "JSON, by default, can only represent a subset of the Python built-in types, " @@ -145,19 +199,28 @@ msgid "" "introspection facilities; complex cases can be tackled by implementing :ref:" "`specific object APIs `);" msgstr "" +"За замовчуванням JSON може представляти лише підмножину вбудованих типів " +"Python, а не спеціальні класи; pickle може представляти надзвичайно велику " +"кількість типів Python (багато з них автоматично, завдяки розумному " +"використанню можливостей інтроспекції Python; складні випадки можна вирішити " +"шляхом впровадження :ref:`спеціальних API об’єктів `);" msgid "" "Unlike pickle, deserializing untrusted JSON does not in itself create an " "arbitrary code execution vulnerability." msgstr "" +"На відміну від pickle, десеріалізація ненадійного JSON сама по собі не " +"створює вразливості виконання довільного коду." msgid "" "The :mod:`json` module: a standard library module allowing JSON " "serialization and deserialization." msgstr "" +"Модуль :mod:`json`: стандартний бібліотечний модуль, який дозволяє " +"серіалізацію та десеріалізацію JSON." msgid "Data stream format" -msgstr "" +msgstr "Формат потоку даних" msgid "" "The data format used by :mod:`pickle` is Python-specific. This has the " @@ -165,46 +228,72 @@ msgid "" "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 "" +"Формат данных, используемый :mod:`pickle`, зависит от Python. Преимущество " +"этого подхода состоит в том, что не существует ограничений, налагаемых " +"внешними стандартами, такими как JSON (который не может представлять " +"совместное использование указателей); однако это означает, что программы, " +"отличные от Python, могут быть не в состоянии реконструировать " +"консервированные объекты Python." msgid "" "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 "" +"За замовчуванням формат даних :mod:`pickle` використовує відносно компактне " +"двійкове представлення. Якщо вам потрібні оптимальні характеристики розміру, " +"ви можете ефективно :doc:`стиснути ` мариновані дані." msgid "" "The module :mod:`pickletools` contains tools for analyzing data streams " "generated by :mod:`pickle`. :mod:`pickletools` source code has extensive " "comments about opcodes used by pickle protocols." msgstr "" +"Модуль :mod:`pickletools` містить інструменти для аналізу потоків даних, " +"згенерованих :mod:`pickle`. Вихідний код :mod:`pickletools` містить численні " +"коментарі щодо кодів операцій, які використовуються протоколами pickle." msgid "" "There are currently 6 different protocols which can be used for pickling. " "The higher the protocol used, the more recent the version of Python needed " "to read the pickle produced." msgstr "" +"На даний момент існує 6 різних протоколів, які можна використовувати для " +"маринування. Чим вищий протокол використовується, тим новіша версія Python " +"потрібна для читання створеного пікле." msgid "" "Protocol version 0 is the original \"human-readable\" protocol and is " "backwards compatible with earlier versions of Python." msgstr "" +"Протокол версії 0 — це оригінальний \"людиночитаний\" протокол, який " +"зворотно сумісний із попередніми версіями Python." msgid "" "Protocol version 1 is an old binary format which is also compatible with " "earlier versions of Python." msgstr "" +"Протокол версії 1 — це старий двійковий формат, який також сумісний із " +"попередніми версіями Python." msgid "" "Protocol version 2 was introduced in Python 2.3. It provides much more " "efficient pickling of :term:`new-style classes `. Refer " "to :pep:`307` for information about improvements brought by protocol 2." msgstr "" +"Протокол версії 2 був представлений у Python 2.3. Він забезпечує набагато " +"ефективніше маринування :term:`класів нового стилю `. " +"Зверніться до :pep:`307`, щоб отримати інформацію про покращення, внесені " +"протоколом 2." msgid "" "Protocol version 3 was added in Python 3.0. It has explicit support for :" "class:`bytes` objects and cannot be unpickled by Python 2.x. This was the " "default protocol in Python 3.0--3.7." msgstr "" +"Протокол версії 3 додано в Python 3.0. Він має явну підтримку об’єктів :" +"class:`bytes` і не може бути скасований Python 2.x. Це був протокол за " +"замовчуванням у Python 3.0-3.7." msgid "" "Protocol version 4 was added in Python 3.4. It adds support for very large " @@ -231,9 +320,19 @@ msgid "" "database. The :mod:`shelve` module provides a simple interface to pickle " "and unpickle objects on DBM-style database files." msgstr "" +"Серіалізація є більш примітивним поняттям, ніж стійкість; хоча :mod:`pickle` " +"читає та записує файлові об’єкти, він не вирішує проблему іменування " +"постійних об’єктів, ані (навіть більш складну) проблему одночасного доступу " +"до постійних об’єктів. Модуль :mod:`pickle` може перетворити складний об’єкт " +"у потік байтів, і він може перетворити потік байтів в об’єкт із такою ж " +"внутрішньою структурою. Мабуть, найочевидніша річ, яку можна зробити з цими " +"потоками байтів, — це записати їх у файл, але також можливо надіслати їх " +"через мережу або зберегти в базі даних. Модуль :mod:`shelve` забезпечує " +"простий інтерфейс для вибору та вилучення об’єктів у файлах бази даних у " +"стилі DBM." msgid "Module Interface" -msgstr "" +msgstr "Інтерфейс модуля" msgid "" "To serialize an object hierarchy, you simply call the :func:`dumps` " @@ -242,15 +341,23 @@ msgid "" "de-serialization, you can create a :class:`Pickler` or an :class:`Unpickler` " "object, respectively." msgstr "" +"Щоб серіалізувати ієрархію об’єктів, ви просто викликаєте функцію :func:" +"`dumps`. Так само, щоб десеріалізувати потік даних, ви викликаєте функцію :" +"func:`loads`. Однак, якщо ви хочете більше контролювати серіалізацію та " +"десеріалізацію, ви можете створити об’єкт :class:`Pickler` або :class:" +"`Unpickler` відповідно." msgid "The :mod:`pickle` module provides the following constants:" -msgstr "" +msgstr "Модуль :mod:`pickle` надає такі константи:" msgid "" "An integer, the highest :ref:`protocol version ` " "available. This value can be passed as a *protocol* value to functions :" "func:`dump` and :func:`dumps` as well as the :class:`Pickler` constructor." msgstr "" +"Ціле число, найвища доступна :ref:`версія протоколу `. Це " +"значення можна передати як значення *protocol* до функцій :func:`dump` і :" +"func:`dumps`, а також до конструктора :class:`Pickler`." msgid "" "An integer, the default :ref:`protocol version ` used for " @@ -260,105 +367,141 @@ msgid "" msgstr "" msgid "The default protocol is 3." -msgstr "" +msgstr "Стандартний протокол – 3." msgid "The default protocol is 4." -msgstr "" +msgstr "Стандартний протокол – 4." msgid "" "The :mod:`pickle` module provides the following functions to make the " "pickling process more convenient:" msgstr "" +"Модуль :mod:`pickle` надає такі функції, щоб зробити процес маринування " +"зручнішим:" msgid "" "Write the pickled representation of the object *obj* to the open :term:`file " "object` *file*. This is equivalent to ``Pickler(file, protocol).dump(obj)``." msgstr "" +"Запишіть виділене представлення об’єкта *obj* у відкритий :term:`file " +"object` *file*. Це еквівалентно ``Pickler(file, protocol).dump(obj)``." msgid "" "Arguments *file*, *protocol*, *fix_imports* and *buffer_callback* have the " "same meaning as in the :class:`Pickler` constructor." msgstr "" +"Аргументи *file*, *protocol*, *fix_imports* і *buffer_callback* мають те " +"саме значення, що й у конструкторі :class:`Pickler`." msgid "The *buffer_callback* argument was added." -msgstr "" +msgstr "Додано аргумент *buffer_callback*." msgid "" "Return the pickled representation of the object *obj* as a :class:`bytes` " "object, instead of writing it to a file." msgstr "" +"Повернути відібране представлення об’єкта *obj* як об’єкт :class:`bytes` " +"замість запису його у файл." msgid "" "Arguments *protocol*, *fix_imports* and *buffer_callback* have the same " "meaning as in the :class:`Pickler` constructor." msgstr "" +"Аргументи *protocol*, *fix_imports* і *buffer_callback* мають те саме " +"значення, що й у конструкторі :class:`Pickler`." msgid "" "Read the pickled representation of an object from the open :term:`file " "object` *file* and return the reconstituted object hierarchy specified " "therein. This is equivalent to ``Unpickler(file).load()``." msgstr "" +"Зчитувати виділене представлення об’єкта з відкритого :term:`file object` " +"*file* і повертати відновлену ієрархію об’єктів, указану в ньому. Це " +"еквівалентно ``Unpickler(file).load()``." msgid "" "The protocol version of the pickle is detected automatically, so no protocol " "argument is needed. Bytes past the pickled representation of the object are " "ignored." msgstr "" +"Версія протоколу pickle визначається автоматично, тому аргумент протоколу не " +"потрібен. Байти, що перебувають після виділеного представлення об’єкта, " +"ігноруються." msgid "" "Arguments *file*, *fix_imports*, *encoding*, *errors*, *strict* and " "*buffers* have the same meaning as in the :class:`Unpickler` constructor." msgstr "" +"Аргументи *file*, *fix_imports*, *encoding*, *errors*, *strict* і *buffers* " +"мають те саме значення, що й у конструкторі :class:`Unpickler`." msgid "The *buffers* argument was added." -msgstr "" +msgstr "Додано аргумент *buffers*." msgid "" "Return the reconstituted object hierarchy of the pickled representation " "*data* of an object. *data* must be a :term:`bytes-like object`." msgstr "" +"Повертає відновлену ієрархію об’єктів маринованого представлення *даних* " +"об’єкта. *data* має бути :term:`bytes-like object`." msgid "" "Arguments *fix_imports*, *encoding*, *errors*, *strict* and *buffers* have " "the same meaning as in the :class:`Unpickler` constructor." msgstr "" +"Аргументи *fix_imports*, *encoding*, *errors*, *strict* і *buffers* мають те " +"саме значення, що й у конструкторі :class:`Unpickler`." msgid "The :mod:`pickle` module defines three exceptions:" -msgstr "" +msgstr "Модуль :mod:`pickle` визначає три винятки:" msgid "" "Common base class for the other pickling exceptions. It inherits from :exc:" "`Exception`." msgstr "" +"Общий базовый класс для других исключений травления. Он наследуется от :exc:" +"`Exception`." msgid "" "Error raised when an unpicklable object is encountered by :class:`Pickler`. " "It inherits from :exc:`PickleError`." msgstr "" +"Ошибка возникает, когда :class:`Pickler` обнаруживает неподдающийся " +"пикированию объект. Он наследуется от :exc:`PickleError`." msgid "" "Refer to :ref:`pickle-picklable` to learn what kinds of objects can be " "pickled." msgstr "" +"Зверніться до :ref:`pickle-picklable`, щоб дізнатися, які види об’єктів " +"можна маринувати." msgid "" "Error raised when there is a problem unpickling an object, such as a data " "corruption or a security violation. It inherits from :exc:`PickleError`." msgstr "" +"Ошибка возникает, когда возникает проблема с распаковкой объекта, например " +"повреждение данных или нарушение безопасности. Он наследуется от :exc:" +"`PickleError`." msgid "" "Note that other exceptions may also be raised during unpickling, including " "(but not necessarily limited to) AttributeError, EOFError, ImportError, and " "IndexError." msgstr "" +"Зауважте, що інші винятки також можуть виникати під час видалення, включаючи " +"(але не обов’язково обмежуючись ними) AttributeError, EOFError, ImportError " +"та IndexError." msgid "" "The :mod:`pickle` module exports three classes, :class:`Pickler`, :class:" "`Unpickler` and :class:`PickleBuffer`:" msgstr "" +"Модуль :mod:`pickle` експортує три класи, :class:`Pickler`, :class:" +"`Unpickler` і :class:`PickleBuffer`:" msgid "This takes a binary file for writing a pickle data stream." -msgstr "" +msgstr "Це бере двійковий файл для запису потоку даних pickle." msgid "" "The optional *protocol* argument, an integer, tells the pickler to use the " @@ -366,6 +509,10 @@ msgid "" "not specified, the default is :data:`DEFAULT_PROTOCOL`. If a negative " "number is specified, :data:`HIGHEST_PROTOCOL` is selected." msgstr "" +"Необов’язковий аргумент *protocol*, ціле число, повідомляє піклеру " +"використовувати заданий протокол; підтримувані протоколи від 0 до :data:" +"`HIGHEST_PROTOCOL`. Якщо не вказано, типовим є :data:`DEFAULT_PROTOCOL`. " +"Якщо вказано від’ємне число, вибирається :data:`HIGHEST_PROTOCOL`." msgid "" "The *file* argument must have a write() method that accepts a single bytes " @@ -373,17 +520,27 @@ msgid "" "class:`io.BytesIO` instance, or any other custom object that meets this " "interface." msgstr "" +"Аргумент *file* повинен мати метод write(), який приймає однобайтовий " +"аргумент. Таким чином, це може бути файл на диску, відкритий для двійкового " +"запису, екземпляр :class:`io.BytesIO` або будь-який інший спеціальний " +"об’єкт, який відповідає цьому інтерфейсу." msgid "" "If *fix_imports* is true and *protocol* is less than 3, pickle will try to " "map the new Python 3 names to the old module names used in Python 2, so that " "the pickle data stream is readable with Python 2." msgstr "" +"Якщо *fix_imports* має значення true, а *protocol* — менше 3, pickle спробує " +"зіставити нові імена Python 3 зі старими назвами модулів, які " +"використовуються в Python 2, щоб потік даних pickle можна було читати за " +"допомогою Python 2." msgid "" "If *buffer_callback* is ``None`` (the default), buffer views are serialized " "into *file* as part of the pickle stream." msgstr "" +"Если *buffer_callback* имеет значение «None» (по умолчанию), представления " +"буфера сериализуются в *file* как часть потока Pickle." msgid "" "If *buffer_callback* is not ``None``, then it can be called any number of " @@ -391,19 +548,29 @@ msgid "" "``None``), the given buffer is :ref:`out-of-band `; otherwise " "the buffer is serialized in-band, i.e. inside the pickle stream." msgstr "" +"Если *buffer_callback* не равен None, то его можно вызывать любое количество " +"раз с представлением буфера. Если обратный вызов возвращает ложное значение " +"(например, None), данный буфер является :ref:`внеполосным `; в " +"противном случае буфер сериализуется внутри полосы, т. е. внутри потока " +"травления." msgid "" "It is an error if *buffer_callback* is not ``None`` and *protocol* is " "``None`` or smaller than 5." msgstr "" +"Это ошибка, если *buffer_callback* не равен None, а *protocol* равен None " +"или меньше 5." msgid "" "Write the pickled representation of *obj* to the open file object given in " "the constructor." msgstr "" +"Запишіть виділене представлення *obj* до відкритого файлового об’єкта, " +"наданого в конструкторі." msgid "Do nothing by default. This exists so a subclass can override it." msgstr "" +"За замовчуванням нічого не робити. Це існує, тому підклас може замінити його." msgid "" "If :meth:`persistent_id` returns ``None``, *obj* is pickled as usual. Any " @@ -412,14 +579,22 @@ msgid "" "defined by :meth:`Unpickler.persistent_load`. Note that the value returned " "by :meth:`persistent_id` cannot itself have a persistent ID." msgstr "" +"Якщо :meth:`persistent_id` повертає ``None``, *obj* маринується як зазвичай. " +"Будь-яке інше значення змушує :class:`Pickler` видати повернуте значення як " +"постійний ідентифікатор для *obj*. Значення цього постійного ідентифікатора " +"має бути визначено :meth:`Unpickler.persistent_load`. Зауважте, що значення, " +"яке повертає :meth:`persistent_id`, не може мати постійний ідентифікатор." msgid "See :ref:`pickle-persistent` for details and examples of uses." msgstr "" +"Перегляньте :ref:`pickle-persistent` для деталей та прикладів використання." msgid "" "Add the default implementation of this method in the C implementation of :" "class:`!Pickler`." msgstr "" +"Добавьте реализацию этого метода по умолчанию в реализацию C :class:`!" +"Pickler`." msgid "" "A pickler object's dispatch table is a registry of *reduction functions* of " @@ -428,6 +603,12 @@ msgid "" "reduction function takes a single argument of the associated class and " "should conform to the same interface as a :meth:`~object.__reduce__` method." msgstr "" +"Таблица диспетчеризации объекта пиклера представляет собой реестр *функций " +"сокращения* того типа, который можно объявить с помощью :func:`copyreg." +"pickle`. Это отображение, ключами которого являются классы, а значениями — " +"функции редукции. Функция сокращения принимает один аргумент связанного " +"класса и должна соответствовать тому же интерфейсу, что и метод :meth:" +"`~object.__reduce__`." msgid "" "By default, a pickler object will not have a :attr:`dispatch_table` " @@ -438,9 +619,16 @@ msgid "" "`dispatch_table` attribute then this will be used as the default dispatch " "table for instances of that class." msgstr "" +"За замовчуванням об’єкт pickler не матиме атрибута :attr:`dispatch_table`, " +"натомість він використовуватиме глобальну таблицю відправлення, якою керує " +"модуль :mod:`copyreg`. Однак, щоб налаштувати травлення для певного об’єкта " +"піклеру, можна встановити атрибут :attr:`dispatch_table` на об’єкт, подібний " +"до dict. Крім того, якщо підклас :class:`Pickler` має атрибут :attr:" +"`dispatch_table`, тоді він використовуватиметься як типова таблиця " +"відправлення для екземплярів цього класу." msgid "See :ref:`pickle-dispatch` for usage examples." -msgstr "" +msgstr "Перегляньте :ref:`pickle-dispatch` приклади використання." msgid "" "Special reducer that can be defined in :class:`Pickler` subclasses. This " @@ -449,9 +637,15 @@ msgid "" "and can optionally return :data:`NotImplemented` to fallback on :attr:" "`dispatch_table`-registered reducers to pickle ``obj``." msgstr "" +"Специальный редуктор, который можно определить в подклассах :class:" +"`Pickler`. Этот метод имеет приоритет над любым редуктором в таблице :attr:" +"`dispatch_table`. Он должен соответствовать тому же интерфейсу, что и метод :" +"meth:`~object.__reduce__`, и может опционально возвращать :data:" +"`NotImplemented` для отката к зарегистрированным в :attr:`dispatch_table` " +"редьюсерам для выбора ``obj``." msgid "For a detailed example, see :ref:`reducer_override`." -msgstr "" +msgstr "Детальний приклад див. :ref:`reducer_override`." msgid "" "Deprecated. Enable fast mode if set to a true value. The fast mode disables " @@ -459,17 +653,26 @@ msgid "" "superfluous PUT opcodes. It should not be used with self-referential " "objects, doing otherwise will cause :class:`Pickler` to recurse infinitely." msgstr "" +"Застаріле. Увімкнути швидкий режим, якщо встановлено справжнє значення. " +"Швидкий режим вимикає використання memo, таким чином прискорюючи процес " +"маринування, не генеруючи зайвих кодів операцій PUT. Його не слід " +"використовувати з об’єктами, що посилаються на себе, інакше призведе до " +"безкінечної рекурсії :class:`Pickler`." msgid "Use :func:`pickletools.optimize` if you need more compact pickles." msgstr "" +"Використовуйте :func:`pickletools.optimize`, якщо вам потрібні більш " +"компактні соління." msgid "This takes a binary file for reading a pickle data stream." -msgstr "" +msgstr "Це бере двійковий файл для читання потоку даних pickle." msgid "" "The protocol version of the pickle is detected automatically, so no protocol " "argument is needed." msgstr "" +"Версія протоколу pickle визначається автоматично, тому аргумент протоколу не " +"потрібен." msgid "" "The argument *file* must have three methods, a read() method that takes an " @@ -479,6 +682,12 @@ msgid "" "binary reading, an :class:`io.BytesIO` object, or any other custom object " "that meets this interface." msgstr "" +"Аргумент *file* повинен мати три методи: метод read(), який приймає " +"цілочисельний аргумент, метод readinto(), який приймає аргумент буфера, і " +"метод readline(), який не потребує аргументів, як у Інтерфейс :class:`io." +"BufferedIOBase`. Таким чином, *file* може бути файлом на диску, відкритим " +"для двійкового читання, об’єктом :class:`io.BytesIO` або будь-яким іншим " +"спеціальним об’єктом, який відповідає цьому інтерфейсу." msgid "" "The optional arguments *fix_imports*, *encoding* and *errors* are used to " @@ -492,6 +701,17 @@ msgid "" "datetime`, :class:`~datetime.date` and :class:`~datetime.time` pickled by " "Python 2." msgstr "" +"Необов’язкові аргументи *fix_imports*, *encoding* і *errors* " +"використовуються для керування підтримкою сумісності для потоку pickle, " +"створеного Python 2. Якщо *fix_imports* має значення true, pickle спробує " +"зіставити старі імена Python 2 з новими іменами, які використовуються у " +"Python 3. *кодування* та *помилки* повідомляють pickle, як декодувати 8-" +"бітні екземпляри рядків, вибрані Python 2; за замовчуванням вони мають " +"значення \"ASCII\" і \"strict\" відповідно. *Кодуванням* може бути \"байт\" " +"для читання цих 8-бітних екземплярів рядка як об’єктів bytes. Використання " +"``encoding='latin1'`` потрібне для видалення масивів NumPy і екземплярів :" +"class:`~datetime.datetime`, :class:`~datetime.date` і :class:`~datetime." +"time`, вибраних Python 2." msgid "" "If *buffers* is ``None`` (the default), then all data necessary for " @@ -499,6 +719,11 @@ msgid "" "*buffer_callback* argument was ``None`` when a :class:`Pickler` was " "instantiated (or when :func:`dump` or :func:`dumps` was called)." msgstr "" +"Если *buffers* имеет значение None (по умолчанию), то все данные, " +"необходимые для десериализации, должны содержаться в потоке Pickle. Это " +"означает, что аргумент *buffer_callback* был ``None``, когда был создан " +"экземпляр :class:`Pickler` (или когда был вызван :func:`dump` или :func:" +"`dumps`)." msgid "" "If *buffers* is not ``None``, it should be an iterable of buffer-enabled " @@ -506,26 +731,39 @@ msgid "" "of-band ` buffer view. Such buffers have been given in order to " "the *buffer_callback* of a Pickler object." msgstr "" +"Если *buffers* не имеет значения None, это должна быть итерация объектов с " +"включенным буфером, которая используется каждый раз, когда поток Pickle " +"ссылается на представление буфера :ref:`out-of-band `. Такие " +"буферы даны для *buffer_callback* объекта Pickler." msgid "" "Read the pickled representation of an object from the open file object given " "in the constructor, and return the reconstituted object hierarchy specified " "therein. Bytes past the pickled representation of the object are ignored." msgstr "" +"Зчитувати виділене представлення об’єкта з відкритого файлового об’єкта, " +"наданого в конструкторі, і повертати відновлену ієрархію об’єктів, указану в " +"ньому. Байти, які перебувають після виділеного представлення об’єкта, " +"ігноруються." msgid "Raise an :exc:`UnpicklingError` by default." -msgstr "" +msgstr "Викликати :exc:`UnpicklingError` за замовчуванням." msgid "" "If defined, :meth:`persistent_load` should return the object specified by " "the persistent ID *pid*. If an invalid persistent ID is encountered, an :" "exc:`UnpicklingError` should be raised." msgstr "" +"Якщо визначено, :meth:`persistent_load` має повертати об’єкт, указаний " +"постійним ідентифікатором *pid*. Якщо виявлено недійсний постійний " +"ідентифікатор, має бути викликано :exc:`UnpicklingError`." msgid "" "Add the default implementation of this method in the C implementation of :" "class:`!Unpickler`." msgstr "" +"Добавьте реализацию этого метода по умолчанию в реализацию C :class:`!" +"Unpickler`." msgid "" "Import *module* if necessary and return the object called *name* from it, " @@ -533,35 +771,53 @@ msgid "" "unlike its name suggests, :meth:`find_class` is also used for finding " "functions." msgstr "" +"Імпортуйте *module*, якщо необхідно, і поверніть з нього об’єкт із назвою " +"*name*, де аргументи *module* і *name* є об’єктами :class:`str`. Зверніть " +"увагу, на відміну від назви, :meth:`find_class` також використовується для " +"пошуку функцій." msgid "" "Subclasses may override this to gain control over what type of objects and " "how they can be loaded, potentially reducing security risks. Refer to :ref:" "`pickle-restrict` for details." msgstr "" +"Підкласи можуть замінити це, щоб отримати контроль над тим, який тип " +"об’єктів і як їх можна завантажувати, потенційно зменшуючи ризики безпеки. " +"Зверніться до :ref:`pickle-restrict` для деталей." msgid "" "Raises an :ref:`auditing event ` ``pickle.find_class`` with " "arguments ``module``, ``name``." msgstr "" +"Викликає :ref:`подію аудиту ` ``pickle.find_class`` з аргументами " +"``module``, ``name``." msgid "" "A wrapper for a buffer representing picklable data. *buffer* must be a :ref:" "`buffer-providing ` object, such as a :term:`bytes-like " "object` or a N-dimensional array." msgstr "" +"Обгортка для буфера, що представляє дані, які можна вибрати. *buffer* має " +"бути об’єктом, :ref:`що надає буфер `, наприклад :term:`bytes-" +"like object` або N-вимірним масивом." msgid "" ":class:`PickleBuffer` is itself a buffer provider, therefore it is possible " "to pass it to other APIs expecting a buffer-providing object, such as :class:" "`memoryview`." msgstr "" +":class:`PickleBuffer` сам є постачальником буфера, тому його можна передати " +"іншим API, які очікують об’єкта, що надає буфер, наприклад :class:" +"`memoryview`." msgid "" ":class:`PickleBuffer` objects can only be serialized using pickle protocol 5 " "or higher. They are eligible for :ref:`out-of-band serialization `." msgstr "" +"Об’єкти :class:`PickleBuffer` можна серіалізувати лише за допомогою " +"протоколу pickle версії 5 або вище. Вони підходять для :ref:`позасмугової " +"серіалізації `." msgid "" "Return a :class:`memoryview` of the memory area underlying this buffer. The " @@ -569,43 +825,55 @@ msgid "" "``B`` (unsigned bytes). :exc:`BufferError` is raised if the buffer is " "neither C- nor Fortran-contiguous." msgstr "" +"Повертає :class:`memoryview` області пам’яті, що лежить в основі цього " +"буфера. Повернений об’єкт є одновимірним C-суміжним представленням пам’яті у " +"форматі ``B`` (байти без знаку). :exc:`BufferError` виникає, якщо буфер не " +"суміжний ні на C, ні на Fortran." msgid "Release the underlying buffer exposed by the PickleBuffer object." -msgstr "" +msgstr "Вивільніть базовий буфер, відкритий об’єктом PickleBuffer." msgid "What can be pickled and unpickled?" -msgstr "" +msgstr "Що можна маринувати і не квашети?" msgid "The following types can be pickled:" -msgstr "" +msgstr "Маринувати можна такі види:" msgid "" "built-in constants (``None``, ``True``, ``False``, ``Ellipsis``, and :data:" "`NotImplemented`);" msgstr "" +"встроенные константы (``None``, ``True``, ``False``, ``Многоточие`` и :data:" +"`NotImplemented``);" msgid "integers, floating-point numbers, complex numbers;" -msgstr "" +msgstr "цілі числа, числа з плаваючою комою, комплексні числа;" msgid "strings, bytes, bytearrays;" -msgstr "" +msgstr "рядки, байти, байтові масиви;" msgid "" "tuples, lists, sets, and dictionaries containing only picklable objects;" msgstr "" +"кортежі, списки, набори та словники, що містять лише об’єкти, які можна " +"вибирати;" msgid "" "functions (built-in and user-defined) accessible from the top level of a " "module (using :keyword:`def`, not :keyword:`lambda`);" msgstr "" +"функції (вбудовані та визначені користувачем), доступні з верхнього рівня " +"модуля (за допомогою :keyword:`def`, а не :keyword:`lambda`);" msgid "classes accessible from the top level of a module;" -msgstr "" +msgstr "класи, доступні з верхнього рівня модуля;" msgid "" "instances of such classes whose the result of calling :meth:`~object." "__getstate__` is picklable (see section :ref:`pickle-inst` for details)." msgstr "" +"экземпляры таких классов, результат вызова :meth:`~object.__getstate__` " +"можно выбрать (подробности см. в разделе :ref:`pickle-inst`)." msgid "" "Attempts to pickle unpicklable objects will raise the :exc:`PicklingError` " @@ -615,6 +883,12 @@ msgid "" "`RecursionError` will be raised in this case. You can carefully raise this " "limit with :func:`sys.setrecursionlimit`." msgstr "" +"Спроби маринувати об’єкти, які неможливо вибрати, викличуть виняток :exc:" +"`PicklingError`; коли це трапляється, невизначену кількість байтів, можливо, " +"уже було записано до основного файлу. Спроба відібрати високорекурсивну " +"структуру даних може перевищити максимальну глибину рекурсії, у цьому " +"випадку виникне :exc:`RecursionError`. Ви можете обережно збільшити це " +"обмеження за допомогою :func:`sys.setrecursionlimit`." msgid "" "Note that functions (built-in and user-defined) are pickled by fully :term:" @@ -625,6 +899,12 @@ msgid "" "environment, and the module must contain the named object, otherwise an " "exception will be raised. [#]_" msgstr "" +"Зауважте, що функції (вбудовані та визначені користувачем) вибираються за " +"повним :term:`qualified name`, а не за значенням. [#]_ Це означає, що " +"виділяється лише назва функції, а також назва модуля та класів, що містять. " +"Ні код функції, ні будь-які її атрибути функції не мариновані. Таким чином, " +"визначальний модуль має бути імпортованим у середовищі unpickling, і модуль " +"має містити названий об’єкт, інакше буде створено виняток. [#]_" msgid "" "Similarly, classes are pickled by fully qualified name, so the same " @@ -632,6 +912,10 @@ msgid "" "class's code or data is pickled, so in the following example the class " "attribute ``attr`` is not restored in the unpickling environment::" msgstr "" +"Подібним чином, класи вибираються за повним іменем, тому застосовуються ті " +"самі обмеження в середовищі розбирання. Зауважте, що жоден із коду чи даних " +"класу не вибирається, тому в наступному прикладі атрибут класу ``attr`` не " +"відновлюється в середовищі розбирання::" msgid "" "class Foo:\n" @@ -639,11 +923,17 @@ msgid "" "\n" "picklestring = pickle.dumps(Foo)" msgstr "" +"class Foo:\n" +" attr = 'A class attribute'\n" +"\n" +"picklestring = pickle.dumps(Foo)" msgid "" "These restrictions are why picklable functions and classes must be defined " "at the top level of a module." msgstr "" +"Через ці обмеження функції та класи, які можна вибрати, повинні бути " +"визначені на верхньому рівні модуля." msgid "" "Similarly, when class instances are pickled, their class's code and data are " @@ -655,14 +945,25 @@ msgid "" "that suitable conversions can be made by the class's :meth:`~object." "__setstate__` method." msgstr "" +"Аналогичным образом, когда экземпляры класса маринуются, код и данные их " +"класса не маринуются вместе с ними. Маринуются только данные экземпляра. Это " +"сделано специально, чтобы вы могли исправлять ошибки в классе или добавлять " +"в класс методы и при этом загружать объекты, созданные с помощью более " +"ранней версии класса. Если вы планируете иметь долгоживущие объекты, которые " +"будут видеть множество версий класса, возможно, стоит поместить в объекты " +"номер версии, чтобы можно было выполнить подходящие преобразования с помощью " +"метода :meth:`~object.__setstate__` класса. ." msgid "Pickling Class Instances" -msgstr "" +msgstr "Примірники класу маринування" msgid "" "In this section, we describe the general mechanisms available to you to " "define, customize, and control how class instances are pickled and unpickled." msgstr "" +"У цьому розділі ми описуємо загальні механізми, доступні вам для визначення, " +"налаштування та контролю того, як екземпляри класу вибираються та не " +"вибираються." msgid "" "In most cases, no additional code is needed to make instances picklable. By " @@ -672,6 +973,13 @@ msgid "" "creates an uninitialized instance and then restores the saved attributes. " "The following code shows an implementation of this behaviour::" msgstr "" +"В большинстве случаев для возможности выбора экземпляров не требуется " +"никакого дополнительного кода. По умолчанию Pickle извлекает класс и " +"атрибуты экземпляра посредством самоанализа. Когда экземпляр класса не " +"маринован, его метод :meth:`~object.__init__` обычно *не* вызывается. " +"Поведение по умолчанию сначала создает неинициализированный экземпляр, а " +"затем восстанавливает сохраненные атрибуты. Следующий код демонстрирует " +"реализацию этого поведения:" msgid "" "def save(obj):\n" @@ -682,11 +990,20 @@ msgid "" " obj.__dict__.update(attributes)\n" " return obj" msgstr "" +"def save(obj):\n" +" return (obj.__class__, obj.__dict__)\n" +"\n" +"def restore(cls, attributes):\n" +" obj = cls.__new__(cls)\n" +" obj.__dict__.update(attributes)\n" +" return obj" msgid "" "Classes can alter the default behaviour by providing one or several special " "methods:" msgstr "" +"Класи можуть змінювати типову поведінку, надаючи один або декілька " +"спеціальних методів:" msgid "" "In protocols 2 and newer, classes that implements the :meth:" @@ -696,31 +1013,47 @@ msgid "" "dictionary of named arguments for constructing the object. Those will be " "passed to the :meth:`__new__` method upon unpickling." msgstr "" +"У протоколах 2 і новіших класи, які реалізують метод :meth:" +"`__getnewargs_ex__`, можуть диктувати значення, що передаються в метод :meth:" +"`__new__` після видалення. Метод має повертати пару \"(args, kwargs)\", де " +"*args* — це кортеж позиційних аргументів, а *kwargs* — словник іменованих " +"аргументів для побудови об’єкта. Вони будуть передані в метод :meth:" +"`__new__` після видалення." msgid "" "You should implement this method if the :meth:`__new__` method of your class " "requires keyword-only arguments. Otherwise, it is recommended for " "compatibility to implement :meth:`__getnewargs__`." msgstr "" +"Ви повинні застосувати цей метод, якщо метод :meth:`__new__` вашого класу " +"вимагає аргументів лише з ключовими словами. В іншому випадку для сумісності " +"рекомендується реалізувати :meth:`__getnewargs__`." msgid ":meth:`__getnewargs_ex__` is now used in protocols 2 and 3." -msgstr "" +msgstr ":meth:`__getnewargs_ex__` тепер використовується в протоколах 2 і 3." msgid "" "This method serves a similar purpose as :meth:`__getnewargs_ex__`, but " "supports only positional arguments. It must return a tuple of arguments " "``args`` which will be passed to the :meth:`__new__` method upon unpickling." msgstr "" +"Цей метод виконує таку саму мету, як :meth:`__getnewargs_ex__`, але " +"підтримує лише позиційні аргументи. Він має повертати кортеж аргументів " +"``args``, який буде передано методу :meth:`__new__` після видалення." msgid "" ":meth:`__getnewargs__` will not be called if :meth:`__getnewargs_ex__` is " "defined." msgstr "" +":meth:`__getnewargs__` не буде викликано, якщо :meth:`__getnewargs_ex__` " +"визначено." msgid "" "Before Python 3.6, :meth:`__getnewargs__` was called instead of :meth:" "`__getnewargs_ex__` in protocols 2 and 3." msgstr "" +"До Python 3.6 :meth:`__getnewargs__` викликався замість :meth:" +"`__getnewargs_ex__` у протоколах 2 і 3." msgid "" "Classes can further influence how their instances are pickled by overriding " @@ -728,16 +1061,24 @@ msgid "" "pickled as the contents for the instance, instead of a default state. There " "are several cases:" msgstr "" +"Классы могут дополнительно влиять на то, как их экземпляры обрабатываются, " +"переопределяя метод :meth:`__getstate__`. Он вызывается, и возвращаемый " +"объект маринуется как содержимое экземпляра, а не как состояние по " +"умолчанию. Есть несколько случаев:" msgid "" "For a class that has no instance :attr:`~object.__dict__` and no :attr:" "`~object.__slots__`, the default state is ``None``." msgstr "" +"Для класса, у которого нет экземпляра :attr:`~object.__dict__` и :attr:" +"`~object.__slots__`, состоянием по умолчанию является ``None``." msgid "" "For a class that has an instance :attr:`~object.__dict__` and no :attr:" "`~object.__slots__`, the default state is ``self.__dict__``." msgstr "" +"Для класса, у которого есть экземпляр :attr:`~object.__dict__` и нет :attr:" +"`~object.__slots__`, состоянием по умолчанию является ``self.__dict__``." msgid "" "For a class that has an instance :attr:`~object.__dict__` and :attr:`~object." @@ -745,6 +1086,10 @@ msgid "" "``self.__dict__``, and a dictionary mapping slot names to slot values. Only " "slots that have a value are included in the latter." msgstr "" +"Для класса, имеющего экземпляры :attr:`~object.__dict__` и :attr:`~object." +"__slots__`, состоянием по умолчанию является кортеж, состоящий из двух " +"словарей: ``self.__dict__`` и сопоставления словаря. имена слотов в значения " +"слотов. В последний включены только слоты, имеющие значение." msgid "" "For a class that has :attr:`~object.__slots__` and no instance :attr:" @@ -752,11 +1097,17 @@ msgid "" "``None`` and whose second item is a dictionary mapping slot names to slot " "values described in the previous bullet." msgstr "" +"Для класса, который имеет :attr:`~object.__slots__` и не имеет экземпляра :" +"attr:`~object.__dict__`, состоянием по умолчанию является кортеж, первый " +"элемент которого равен ``None``, а второй элемент является сопоставлением " +"словаря. имена слотов в значения слотов, описанные в предыдущем пункте." msgid "" "Added the default implementation of the ``__getstate__()`` method in the :" "class:`object` class." msgstr "" +"Добавлена ​​реализация по умолчанию метода ``__getstate__()`` в классе :class:" +"`object`." msgid "" "Upon unpickling, if the class defines :meth:`__setstate__`, it is called " @@ -764,17 +1115,26 @@ msgid "" "state object to be a dictionary. Otherwise, the pickled state must be a " "dictionary and its items are assigned to the new instance's dictionary." msgstr "" +"Якщо під час розбирання клас визначає :meth:`__setstate__`, він викликається " +"зі станом unpickled. У цьому випадку немає вимоги, щоб об’єкт стану був " +"словником. В іншому випадку маринований стан має бути словником, а його " +"елементи призначаються словнику нового екземпляра." msgid "" "If :meth:`__reduce__` returns a state with value ``None`` at pickling, the :" "meth:`__setstate__` method will not be called upon unpickling." msgstr "" +"Если :meth:`__reduce__` возвращает состояние со значением ``None`` при " +"травлении, метод :meth:`__setstate__` не будет вызываться при распаковке." msgid "" "Refer to the section :ref:`pickle-state` for more information about how to " "use the methods :meth:`~object.__getstate__` and :meth:`~object." "__setstate__`." msgstr "" +"Обратитесь к разделу :ref:`pickle-state` для получения дополнительной " +"информации о том, как использовать методы :meth:`~object.__getstate__` и :" +"meth:`~object.__setstate__`." msgid "" "At unpickling time, some methods like :meth:`~object.__getattr__`, :meth:" @@ -784,6 +1144,12 @@ msgid "" "such an invariant, as :meth:`~object.__init__` is not called when unpickling " "an instance." msgstr "" +"Во время распаковки для экземпляра могут быть вызваны некоторые методы, " +"такие как :meth:`~object.__getattr__`, :meth:`~object.__getattribute__` или :" +"meth:`~object.__setattr__`. В случае, если эти методы полагаются на " +"истинность некоторого внутреннего инварианта, тип должен реализовать :meth:" +"`~object.__new__` для установления такого инварианта, поскольку :meth:" +"`~object.__init__` не вызывается при распаковке экземпляра." msgid "" "As we shall see, pickle does not use directly the methods described above. " @@ -792,6 +1158,11 @@ msgid "" "unified interface for retrieving the data necessary for pickling and copying " "objects. [#]_" msgstr "" +"Как мы увидим, Pickle не использует напрямую методы, описанные выше. " +"Фактически, эти методы являются частью протокола копирования, который " +"реализует специальный метод :meth:`~object.__reduce__`. Протокол копирования " +"предоставляет унифицированный интерфейс для получения данных, необходимых " +"для травления и копирования объектов. [#]_" msgid "" "Although powerful, implementing :meth:`~object.__reduce__` directly in your " @@ -801,12 +1172,22 @@ msgid "" "We will show, however, cases where using :meth:`!__reduce__` is the only " "option or leads to more efficient pickling or both." msgstr "" +"Несмотря на свою эффективность, реализация :meth:`~object.__reduce__` " +"непосредственно в ваших классах чревата ошибками. По этой причине " +"проектировщикам классов следует по возможности использовать высокоуровневый " +"интерфейс (т. е. :meth:`~object.__getnewargs_ex__`, :meth:`~object." +"__getstate__` и :meth:`~object.__setstate__`). Однако мы покажем случаи, " +"когда использование :meth:`!__reduce__` является единственным вариантом или " +"приводит к более эффективному травлению, или и то, и другое." msgid "" "The interface is currently defined as follows. The :meth:`__reduce__` " "method takes no argument and shall return either a string or preferably a " "tuple (the returned object is often referred to as the \"reduce value\")." msgstr "" +"На даний момент інтерфейс визначається наступним чином. Метод :meth:" +"`__reduce__` не приймає аргументів і повертає або рядок, або, бажано, кортеж " +"(повернений об’єкт часто називають \"зменшеним значенням\")." msgid "" "If a string is returned, the string should be interpreted as the name of a " @@ -814,22 +1195,33 @@ msgid "" "module; the pickle module searches the module namespace to determine the " "object's module. This behaviour is typically useful for singletons." msgstr "" +"Якщо повертається рядок, цей рядок слід інтерпретувати як назву глобальної " +"змінної. Це має бути локальне ім’я об’єкта відносно його модуля; модуль " +"pickle шукає простір імен модуля, щоб визначити модуль об’єкта. Така " +"поведінка, як правило, корисна для одиночних користувачів." msgid "" "When a tuple is returned, it must be between two and six items long. " "Optional items can either be omitted, or ``None`` can be provided as their " "value. The semantics of each item are in order:" msgstr "" +"Коли повертається кортеж, він має містити від двох до шести елементів. " +"Необов’язкові елементи можна або пропустити, або в якості їхнього значення " +"можна вказати ``None``. Семантика кожного елемента в порядку:" msgid "" "A callable object that will be called to create the initial version of the " "object." msgstr "" +"Викликаний об’єкт, який буде викликано для створення початкової версії " +"об’єкта." msgid "" "A tuple of arguments for the callable object. An empty tuple must be given " "if the callable does not accept any argument." msgstr "" +"Кортеж аргументів для викликаного об’єкта. Порожній кортеж повинен бути " +"наданий, якщо викликаний не приймає жодних аргументів." msgid "" "Optionally, the object's state, which will be passed to the object's :meth:" @@ -837,6 +1229,10 @@ msgid "" "method then, the value must be a dictionary and it will be added to the " "object's :attr:`~object.__dict__` attribute." msgstr "" +"Необов’язково, стан об’єкта, який буде передано методу :meth:`__setstate__` " +"об’єкта, як описано раніше. Якщо об’єкт не має такого методу, значення має " +"бути словником, і воно буде додано до атрибута об’єкта :attr:`~object." +"__dict__`." msgid "" "Optionally, an iterator (and not a sequence) yielding successive items. " @@ -848,6 +1244,15 @@ msgid "" "which pickle protocol version is used as well as the number of items to " "append, so both must be supported.)" msgstr "" +"Необязательно, итератор (а не последовательность), дающий последовательные " +"элементы. Эти элементы будут добавлены к объекту либо с помощью ``obj." +"append(item)``, либо, в пакетном режиме, с помощью ``obj." +"extend(list_of_items)``. В основном это используется для подклассов списков, " +"но может использоваться и другими классами, если у них есть методы " +"добавления и расширения с соответствующей сигнатурой. " +"(Использование :meth:`!append` или :meth:`!extend` зависит от того, какая " +"версия протокола Pickle используется, а также от количества добавляемых " +"элементов, поэтому оба должны поддерживаться.)" msgid "" "Optionally, an iterator (not a sequence) yielding successive key-value " @@ -855,6 +1260,10 @@ msgid "" "value``. This is primarily used for dictionary subclasses, but may be used " "by other classes as long as they implement :meth:`__setitem__`." msgstr "" +"Необов’язково, ітератор (не послідовність), що дає послідовні пари ключ-" +"значення. Ці елементи будуть збережені в об’єкті за допомогою ``obj[key] = " +"value``. Це в основному використовується для підкласів словників, але може " +"використовуватися іншими класами, якщо вони реалізують :meth:`__setitem__`." msgid "" "Optionally, a callable with a ``(obj, state)`` signature. This callable " @@ -863,9 +1272,14 @@ msgid "" "method. If not ``None``, this callable will have priority over ``obj``'s :" "meth:`__setstate__`." msgstr "" +"Необов’язково, викликається з підписом ``(obj, state)``. Цей виклик дозволяє " +"користувачеві програмно керувати поведінкою оновлення стану конкретного " +"об’єкта замість використання статичного методу ``obj`` :meth:`__setstate__`. " +"Якщо не ``None``, цей виклик матиме пріоритет над ``obj`` :meth:" +"`__setstate__`." msgid "The optional sixth tuple item, ``(obj, state)``, was added." -msgstr "" +msgstr "Додано необов’язковий шостий елемент кортежу, ``(obj, state)``." msgid "" "Alternatively, a :meth:`__reduce_ex__` method may be defined. The only " @@ -875,9 +1289,15 @@ msgid "" "a synonym for the extended version. The main use for this method is to " "provide backwards-compatible reduce values for older Python releases." msgstr "" +"В якості альтернативи можна визначити метод :meth:`__reduce_ex__`. Єдина " +"відмінність полягає в тому, що цей метод має приймати один цілий аргумент, " +"версію протоколу. Якщо визначено, pickle віддасть перевагу цьому методу :" +"meth:`__reduce__`. Крім того, :meth:`__reduce__` автоматично стає синонімом " +"розширеної версії. Основним використанням цього методу є надання зворотно " +"сумісних значень зменшення для старіших випусків Python." msgid "Persistence of External Objects" -msgstr "" +msgstr "Постійність зовнішніх об'єктів" msgid "" "For the benefit of object persistence, the :mod:`pickle` module supports the " @@ -886,6 +1306,11 @@ msgid "" "of alphanumeric characters (for protocol 0) [#]_ or just an arbitrary object " "(for any newer protocol)." msgstr "" +"На користь збереження об’єкта модуль :mod:`pickle` підтримує поняття " +"посилання на об’єкт за межами марінованого потоку даних. На такі об’єкти " +"посилається постійний ідентифікатор, який має бути або рядком буквено-" +"цифрових символів (для протоколу 0) [#]_, або просто довільним об’єктом (для " +"будь-якого новішого протоколу)." msgid "" "The resolution of such persistent IDs is not defined by the :mod:`pickle` " @@ -893,6 +1318,10 @@ msgid "" "pickler and unpickler, :meth:`~Pickler.persistent_id` and :meth:`~Unpickler." "persistent_load` respectively." msgstr "" +"Роздільна здатність таких постійних ідентифікаторів не визначається модулем :" +"mod:`pickle`; він делегує це вирішення визначеним користувачем методам " +"pickler і unpickler, :meth:`~Pickler.persistent_id` і :meth:`~Unpickler." +"persistent_load` відповідно." msgid "" "To pickle objects that have an external persistent ID, the pickler must have " @@ -903,17 +1332,29 @@ msgid "" "object, along with a marker so that the unpickler will recognize it as a " "persistent ID." msgstr "" +"Щоб вибирати об’єкти, які мають зовнішній постійний ідентифікатор, засіб " +"вибору повинен мати спеціальний метод :meth:`~Pickler.persistent_id`, який " +"приймає об’єкт як аргумент і повертає \"Немає\" або постійний ідентифікатор " +"для цього об’єкта. Коли повертається ``None``, піклер просто маринує об’єкт " +"як зазвичай. Коли повертається рядок постійного ідентифікатора, засіб вибору " +"виділяє цей об’єкт разом із маркером, щоб засіб вилучення розпізнавало його " +"як постійний ідентифікатор." msgid "" "To unpickle external objects, the unpickler must have a custom :meth:" "`~Unpickler.persistent_load` method that takes a persistent ID object and " "returns the referenced object." msgstr "" +"Щоб розібрати зовнішні об’єкти, розбірник повинен мати спеціальний метод :" +"meth:`~Unpickler.persistent_load`, який приймає об’єкт постійного " +"ідентифікатора та повертає об’єкт, на який посилається." msgid "" "Here is a comprehensive example presenting how persistent ID can be used to " "pickle external objects by reference." msgstr "" +"Ось вичерпний приклад, який демонструє, як постійний ідентифікатор можна " +"використовувати для маринування зовнішніх об’єктів за посиланням." msgid "" "# Simple example presenting how persistent ID can be used to pickle\n" @@ -1011,24 +1452,125 @@ msgid "" "if __name__ == '__main__':\n" " main()\n" msgstr "" +"# Simple example presenting how persistent ID can be used to pickle\n" +"# external objects by reference.\n" +"\n" +"import pickle\n" +"import sqlite3\n" +"from collections import namedtuple\n" +"\n" +"# Simple class representing a record in our database.\n" +"MemoRecord = namedtuple(\"MemoRecord\", \"key, task\")\n" +"\n" +"class DBPickler(pickle.Pickler):\n" +"\n" +" def persistent_id(self, obj):\n" +" # Instead of pickling MemoRecord as a regular class instance, we " +"emit a\n" +" # persistent ID.\n" +" if isinstance(obj, MemoRecord):\n" +" # Here, our persistent ID is simply a tuple, containing a tag " +"and a\n" +" # key, which refers to a specific record in the database.\n" +" return (\"MemoRecord\", obj.key)\n" +" else:\n" +" # If obj does not have a persistent ID, return None. This means " +"obj\n" +" # needs to be pickled as usual.\n" +" return None\n" +"\n" +"\n" +"class DBUnpickler(pickle.Unpickler):\n" +"\n" +" def __init__(self, file, connection):\n" +" super().__init__(file)\n" +" self.connection = connection\n" +"\n" +" def persistent_load(self, pid):\n" +" # This method is invoked whenever a persistent ID is encountered.\n" +" # Here, pid is the tuple returned by DBPickler.\n" +" cursor = self.connection.cursor()\n" +" type_tag, key_id = pid\n" +" if type_tag == \"MemoRecord\":\n" +" # Fetch the referenced record from the database and return it.\n" +" cursor.execute(\"SELECT * FROM memos WHERE key=?\", " +"(str(key_id),))\n" +" key, task = cursor.fetchone()\n" +" return MemoRecord(key, task)\n" +" else:\n" +" # Always raises an error if you cannot return the correct " +"object.\n" +" # Otherwise, the unpickler will think None is the object " +"referenced\n" +" # by the persistent ID.\n" +" raise pickle.UnpicklingError(\"unsupported persistent object\")\n" +"\n" +"\n" +"def main():\n" +" import io\n" +" import pprint\n" +"\n" +" # Initialize and populate our database.\n" +" conn = sqlite3.connect(\":memory:\")\n" +" cursor = conn.cursor()\n" +" cursor.execute(\"CREATE TABLE memos(key INTEGER PRIMARY KEY, task " +"TEXT)\")\n" +" tasks = (\n" +" 'give food to fish',\n" +" 'prepare group meeting',\n" +" 'fight with a zebra',\n" +" )\n" +" for task in tasks:\n" +" cursor.execute(\"INSERT INTO memos VALUES(NULL, ?)\", (task,))\n" +"\n" +" # Fetch the records to be pickled.\n" +" cursor.execute(\"SELECT * FROM memos\")\n" +" memos = [MemoRecord(key, task) for key, task in cursor]\n" +" # Save the records using our custom DBPickler.\n" +" file = io.BytesIO()\n" +" DBPickler(file).dump(memos)\n" +"\n" +" print(\"Pickled records:\")\n" +" pprint.pprint(memos)\n" +"\n" +" # Update a record, just for good measure.\n" +" cursor.execute(\"UPDATE memos SET task='learn italian' WHERE key=1\")\n" +"\n" +" # Load the records from the pickle data stream.\n" +" file.seek(0)\n" +" memos = DBUnpickler(file, conn).load()\n" +"\n" +" print(\"Unpickled records:\")\n" +" pprint.pprint(memos)\n" +"\n" +"\n" +"if __name__ == '__main__':\n" +" main()\n" msgid "Dispatch Tables" -msgstr "" +msgstr "Таблиці відправлення" msgid "" "If one wants to customize pickling of some classes without disturbing any " "other code which depends on pickling, then one can create a pickler with a " "private dispatch table." msgstr "" +"Якщо ви хочете налаштувати маринування деяких класів, не порушуючи будь-який " +"інший код, який залежить від маринування, тоді можна створити піклер із " +"приватною таблицею відправлення." msgid "" "The global dispatch table managed by the :mod:`copyreg` module is available " "as :data:`!copyreg.dispatch_table`. Therefore, one may choose to use a " "modified copy of :data:`!copyreg.dispatch_table` as a private dispatch table." msgstr "" +"Глобальная таблица диспетчеризации, управляемая модулем :mod:`copyreg`, " +"доступна как :data:`!copyreg.dispatch_table`. Поэтому можно использовать " +"измененную копию :data:`!copyreg.dispatch_table` в качестве частной таблицы " +"диспетчеризации." msgid "For example ::" -msgstr "" +msgstr "Наприклад ::" msgid "" "f = io.BytesIO()\n" @@ -1036,11 +1578,18 @@ msgid "" "p.dispatch_table = copyreg.dispatch_table.copy()\n" "p.dispatch_table[SomeClass] = reduce_SomeClass" msgstr "" +"f = io.BytesIO()\n" +"p = pickle.Pickler(f)\n" +"p.dispatch_table = copyreg.dispatch_table.copy()\n" +"p.dispatch_table[SomeClass] = reduce_SomeClass" msgid "" "creates an instance of :class:`pickle.Pickler` with a private dispatch table " "which handles the ``SomeClass`` class specially. Alternatively, the code ::" msgstr "" +"створює екземпляр :class:`pickle.Pickler` із приватною таблицею " +"відправлення, яка спеціально обробляє клас ``SomeClass``. Як альтернатива, " +"код::" msgid "" "class MyPickler(pickle.Pickler):\n" @@ -1049,25 +1598,37 @@ msgid "" "f = io.BytesIO()\n" "p = MyPickler(f)" msgstr "" +"class MyPickler(pickle.Pickler):\n" +" dispatch_table = copyreg.dispatch_table.copy()\n" +" dispatch_table[SomeClass] = reduce_SomeClass\n" +"f = io.BytesIO()\n" +"p = MyPickler(f)" msgid "" "does the same but all instances of ``MyPickler`` will by default share the " "private dispatch table. On the other hand, the code ::" msgstr "" +"робить те саме, але всі екземпляри ``MyPickler`` за замовчуванням спільно " +"використовуватимуть приватну таблицю відправлення. З іншого боку, код ::" msgid "" "copyreg.pickle(SomeClass, reduce_SomeClass)\n" "f = io.BytesIO()\n" "p = pickle.Pickler(f)" msgstr "" +"copyreg.pickle(SomeClass, reduce_SomeClass)\n" +"f = io.BytesIO()\n" +"p = pickle.Pickler(f)" msgid "" "modifies the global dispatch table shared by all users of the :mod:`copyreg` " "module." msgstr "" +"змінює глобальну таблицю відправлення, яку використовують усі користувачі " +"модуля :mod:`copyreg`." msgid "Handling Stateful Objects" -msgstr "" +msgstr "Обробка об'єктів із збереженням стану" msgid "" "Here's an example that shows how to modify pickling behavior for a class. " @@ -1079,6 +1640,14 @@ msgid "" "__setstate__` and :meth:`!__getstate__` methods are used to implement this " "behavior. ::" msgstr "" +"Вот пример, показывающий, как изменить поведение травления для класса. " +"Класс :class:`!TextReader` ниже открывает текстовый файл и возвращает номер " +"строки и ее содержимое каждый раз, когда вызывается его метод :meth:`!" +"readline`. Если экземпляр :class:`!TextReader` маринован, все атрибуты " +"*кроме* члена файлового объекта сохраняются. Когда экземпляр " +"распаковывается, файл открывается повторно, и чтение возобновляется с " +"последнего места. Для реализации этого поведения используются методы :meth:`!" +"__setstate__` и :meth:`!__getstate__`. ::" msgid "" "class TextReader:\n" @@ -1118,9 +1687,45 @@ msgid "" " # Finally, save the file.\n" " self.file = file" msgstr "" +"class TextReader:\n" +" \"\"\"Print and number lines in a text file.\"\"\"\n" +"\n" +" def __init__(self, filename):\n" +" self.filename = filename\n" +" self.file = open(filename)\n" +" self.lineno = 0\n" +"\n" +" def readline(self):\n" +" self.lineno += 1\n" +" line = self.file.readline()\n" +" if not line:\n" +" return None\n" +" if line.endswith('\\n'):\n" +" line = line[:-1]\n" +" return \"%i: %s\" % (self.lineno, line)\n" +"\n" +" def __getstate__(self):\n" +" # Copy the object's state from self.__dict__ which contains\n" +" # all our instance attributes. Always use the dict.copy()\n" +" # method to avoid modifying the original state.\n" +" state = self.__dict__.copy()\n" +" # Remove the unpicklable entries.\n" +" del state['file']\n" +" return state\n" +"\n" +" def __setstate__(self, state):\n" +" # Restore instance attributes (i.e., filename and lineno).\n" +" self.__dict__.update(state)\n" +" # Restore the previously opened file's state. To do so, we need to\n" +" # reopen it and read from it until the line count is restored.\n" +" file = open(self.filename)\n" +" for _ in range(self.lineno):\n" +" file.readline()\n" +" # Finally, save the file.\n" +" self.file = file" msgid "A sample usage might be something like this::" -msgstr "" +msgstr "Зразок використання може бути приблизно таким:" msgid "" ">>> reader = TextReader(\"hello.txt\")\n" @@ -1132,9 +1737,17 @@ msgid "" ">>> new_reader.readline()\n" "'3: Goodbye!'" msgstr "" +">>> reader = TextReader(\"hello.txt\")\n" +">>> reader.readline()\n" +"'1: Hello world!'\n" +">>> reader.readline()\n" +"'2: I am line number two.'\n" +">>> new_reader = pickle.loads(pickle.dumps(reader))\n" +">>> new_reader.readline()\n" +"'3: Goodbye!'" msgid "Custom Reduction for Types, Functions, and Other Objects" -msgstr "" +msgstr "Спеціальне скорочення для типів, функцій та інших об’єктів" msgid "" "Sometimes, :attr:`~Pickler.dispatch_table` may not be flexible enough. In " @@ -1142,6 +1755,10 @@ msgid "" "the object's type, or we may want to customize the pickling of functions and " "classes." msgstr "" +"Іноді :attr:`~Pickler.dispatch_table` може бути недостатньо гнучким. " +"Зокрема, ми можемо захотіти налаштувати маринування на основі іншого " +"критерію, ніж тип об’єкта, або ми можемо захотіти налаштувати маринування " +"функцій і класів." msgid "" "For those cases, it is possible to subclass from the :class:`Pickler` class " @@ -1150,12 +1767,19 @@ msgid "" "alternatively return :data:`NotImplemented` to fallback to the traditional " "behavior." msgstr "" +"В таких случаях можно создать подкласс класса :class:`Pickler` и реализовать " +"метод :meth:`~Pickler.reducer_override`. Этот метод может возвращать " +"произвольный кортеж сокращения (см. :meth:`~object.__reduce__`). В качестве " +"альтернативы он может вернуть :data:`NotImplemented` для возврата к " +"традиционному поведению." msgid "" "If both the :attr:`~Pickler.dispatch_table` and :meth:`~Pickler." "reducer_override` are defined, then :meth:`~Pickler.reducer_override` method " "takes priority." msgstr "" +"Якщо визначено і :attr:`~Pickler.dispatch_table`, і :meth:`~Pickler." +"reducer_override`, то метод :meth:`~Pickler.reducer_override` має пріоритет." msgid "" "For performance reasons, :meth:`~Pickler.reducer_override` may not be called " @@ -1164,11 +1788,18 @@ msgid "" "class:`dict`, :class:`set`, :class:`frozenset`, :class:`list` and :class:" "`tuple`." msgstr "" +"З міркувань продуктивності :meth:`~Pickler.reducer_override` не можна " +"викликати для таких об’єктів: ``None``, ``True``, ``False`` і точних " +"екземплярів :class:`int` , :class:`float`, :class:`bytes`, :class:`str`, :" +"class:`dict`, :class:`set`, :class:`frozenset`, :class:`list` і :class:" +"`tuple`." msgid "" "Here is a simple example where we allow pickling and reconstructing a given " "class::" msgstr "" +"Ось простий приклад, де ми дозволяємо маринувати та реконструювати заданий " +"клас:" msgid "" "import io\n" @@ -1199,9 +1830,36 @@ msgid "" "assert unpickled_class.__name__ == \"MyClass\"\n" "assert unpickled_class.my_attribute == 1" msgstr "" +"import io\n" +"import pickle\n" +"\n" +"class MyClass:\n" +" my_attribute = 1\n" +"\n" +"class MyPickler(pickle.Pickler):\n" +" def reducer_override(self, obj):\n" +" \"\"\"Custom reducer for MyClass.\"\"\"\n" +" if getattr(obj, \"__name__\", None) == \"MyClass\":\n" +" return type, (obj.__name__, obj.__bases__,\n" +" {'my_attribute': obj.my_attribute})\n" +" else:\n" +" # For any other object, fallback to usual reduction\n" +" return NotImplemented\n" +"\n" +"f = io.BytesIO()\n" +"p = MyPickler(f)\n" +"p.dump(MyClass)\n" +"\n" +"del MyClass\n" +"\n" +"unpickled_class = pickle.loads(f.getvalue())\n" +"\n" +"assert isinstance(unpickled_class, type)\n" +"assert unpickled_class.__name__ == \"MyClass\"\n" +"assert unpickled_class.my_attribute == 1" msgid "Out-of-band Buffers" -msgstr "" +msgstr "Позасмугові буфери" msgid "" "In some contexts, the :mod:`pickle` module is used to transfer massive " @@ -1211,6 +1869,12 @@ msgid "" "structure of objects into a sequential stream of bytes, intrinsically " "involves copying data to and from the pickle stream." msgstr "" +"У деяких контекстах модуль :mod:`pickle` використовується для передачі " +"величезних обсягів даних. Тому може бути важливо мінімізувати кількість " +"копій пам’яті, щоб зберегти продуктивність і споживання ресурсів. Однак " +"нормальна робота модуля :mod:`pickle`, оскільки він перетворює графоподібну " +"структуру об’єктів у послідовний потік байтів, за своєю суттю передбачає " +"копіювання даних до потоку pickle і з нього." msgid "" "This constraint can be eschewed if both the *provider* (the implementation " @@ -1218,9 +1882,12 @@ msgid "" "implementation of the communications system) support the out-of-band " "transfer facilities provided by pickle protocol 5 and higher." msgstr "" +"Це обмеження можна уникнути, якщо і *провайдер* (реалізація типів об’єктів, " +"що передаються), і *споживач* (реалізація системи зв’язку) підтримують " +"засоби позасмугової передачі, надані протоколом pickle 5 і вище." msgid "Provider API" -msgstr "" +msgstr "API провайдера" msgid "" "The large data objects to be pickled must implement a :meth:`~object." @@ -1228,6 +1895,10 @@ msgid "" "a :class:`PickleBuffer` instance (instead of e.g. a :class:`bytes` object) " "for any large data." msgstr "" +"Большие объекты данных, подлежащие маринованию, должны реализовывать метод :" +"meth:`~object.__reduce_ex__`, специализированный для протокола 5 и выше, " +"который возвращает экземпляр :class:`PickleBuffer` (вместо, например, " +"объекта :class:`bytes`). для любых больших данных." msgid "" "A :class:`PickleBuffer` object *signals* that the underlying buffer is " @@ -1236,14 +1907,20 @@ msgid "" "opt-in to tell :mod:`pickle` that they will handle those buffers by " "themselves." msgstr "" +"Об’єкт :class:`PickleBuffer` *сигналізує*, що базовий буфер придатний для " +"позасмугової передачі даних. Ці об’єкти залишаються сумісними зі звичайним " +"використанням модуля :mod:`pickle`. Однак споживачі також можуть повідомити :" +"mod:`pickle`, що вони самостійно оброблятимуть ці буфери." msgid "Consumer API" -msgstr "" +msgstr "Споживацький API" msgid "" "A communications system can enable custom handling of the :class:" "`PickleBuffer` objects generated when serializing an object graph." msgstr "" +"Система зв’язку може ввімкнути спеціальну обробку об’єктів :class:" +"`PickleBuffer`, створених під час серіалізації графа об’єктів." msgid "" "On the sending side, it needs to pass a *buffer_callback* argument to :class:" @@ -1252,6 +1929,11 @@ msgid "" "graph. Buffers accumulated by the *buffer_callback* will not see their data " "copied into the pickle stream, only a cheap marker will be inserted." msgstr "" +"На стороні надсилання йому потрібно передати аргумент *buffer_callback* до :" +"class:`Pickler` (або до функції :func:`dump` або :func:`dumps`), який буде " +"викликано з кожним :class:`PickleBuffer`, створений під час маринування " +"графа об’єкта. Буфери, накопичені *buffer_callback*, не бачитимуть своїх " +"даних, скопійованих у потік pickle, буде вставлено лише дешевий маркер." msgid "" "On the receiving side, it needs to pass a *buffers* argument to :class:" @@ -1262,6 +1944,13 @@ msgid "" "reconstructors of the objects whose pickling produced the original :class:" "`PickleBuffer` objects." msgstr "" +"На стороні приймача йому потрібно передати аргумент *buffers* до :class:" +"`Unpickler` (або до функції :func:`load` або :func:`loads`), який є " +"ітерацією буферів, які були передається до *buffer_callback*. Ця ітерація " +"повинна створювати буфери в тому ж порядку, в якому вони були передані " +"*buffer_callback*. Ці буфери нададуть дані, очікувані реконструкторами " +"об’єктів, маринування яких створило оригінальні об’єкти :class:" +"`PickleBuffer`." msgid "" "Between the sending side and the receiving side, the communications system " @@ -1269,6 +1958,10 @@ msgid "" "Potential optimizations include the use of shared memory or datatype-" "dependent compression." msgstr "" +"Між відправною та приймальною сторонами система зв’язку може вільно " +"реалізувати власний механізм передачі для позасмугових буферів. Потенційна " +"оптимізація включає використання спільної пам’яті або залежне від типу даних " +"стиснення." msgid "Example" msgstr "Przykład" @@ -1277,6 +1970,8 @@ msgid "" "Here is a trivial example where we implement a :class:`bytearray` subclass " "able to participate in out-of-band buffer pickling::" msgstr "" +"Ось тривіальний приклад, у якому ми реалізуємо підклас :class:`bytearray`, " +"здатний брати участь у позаполосному відбиранні буфера:" msgid "" "class ZeroCopyByteArray(bytearray):\n" @@ -1300,17 +1995,42 @@ msgid "" " else:\n" " return cls(obj)" msgstr "" +"class ZeroCopyByteArray(bytearray):\n" +"\n" +" def __reduce_ex__(self, protocol):\n" +" if protocol >= 5:\n" +" return type(self)._reconstruct, (PickleBuffer(self),), None\n" +" else:\n" +" # PickleBuffer is forbidden with pickle protocols <= 4.\n" +" return type(self)._reconstruct, (bytearray(self),)\n" +"\n" +" @classmethod\n" +" def _reconstruct(cls, obj):\n" +" with memoryview(obj) as m:\n" +" # Get a handle over the original buffer object\n" +" obj = m.obj\n" +" if type(obj) is cls:\n" +" # Original buffer object is a ZeroCopyByteArray, return it\n" +" # as-is.\n" +" return obj\n" +" else:\n" +" return cls(obj)" msgid "" "The reconstructor (the ``_reconstruct`` class method) returns the buffer's " "providing object if it has the right type. This is an easy way to simulate " "zero-copy behaviour on this toy example." msgstr "" +"Реконструктор (метод класу ``_reconstruct``) повертає наданий об’єкт буфера, " +"якщо він має правильний тип. Це простий спосіб імітувати поведінку без " +"копіювання на цьому прикладі іграшки." msgid "" "On the consumer side, we can pickle those objects the usual way, which when " "unserialized will give us a copy of the original object::" msgstr "" +"Зі сторони споживача ми можемо відібрати ці об’єкти звичайним способом, який " +"після десеріалізації дасть нам копію оригінального об’єкта:" msgid "" "b = ZeroCopyByteArray(b\"abc\")\n" @@ -1319,11 +2039,18 @@ msgid "" "print(b == new_b) # True\n" "print(b is new_b) # False: a copy was made" msgstr "" +"b = ZeroCopyByteArray(b\"abc\")\n" +"data = pickle.dumps(b, protocol=5)\n" +"new_b = pickle.loads(data)\n" +"print(b == new_b) # True\n" +"print(b is new_b) # False: a copy was made" msgid "" "But if we pass a *buffer_callback* and then give back the accumulated " "buffers when unserializing, we are able to get back the original object::" msgstr "" +"Але якщо ми передаємо *buffer_callback*, а потім повертаємо накопичені " +"буфери під час десеріалізації, ми можемо повернути вихідний об’єкт::" msgid "" "b = ZeroCopyByteArray(b\"abc\")\n" @@ -1333,6 +2060,12 @@ msgid "" "print(b == new_b) # True\n" "print(b is new_b) # True: no copy was made" msgstr "" +"b = ZeroCopyByteArray(b\"abc\")\n" +"buffers = []\n" +"data = pickle.dumps(b, protocol=5, buffer_callback=buffers.append)\n" +"new_b = pickle.loads(data, buffers=buffers)\n" +"print(b == new_b) # True\n" +"print(b is new_b) # True: no copy was made" msgid "" "This example is limited by the fact that :class:`bytearray` allocates its " @@ -1342,12 +2075,18 @@ msgid "" "making as few copies as possible) when transferring between distinct " "processes or systems." msgstr "" +"Цей приклад обмежений тим фактом, що :class:`bytearray` виділяє власну " +"пам’ять: ви не можете створити екземпляр :class:`bytearray`, який " +"підтримується пам’яттю іншого об’єкта. Однак сторонні типи даних, такі як " +"масиви NumPy, не мають цього обмеження та дозволяють використовувати нульове " +"копіювання (або створення якомога меншої кількості копій) під час передачі " +"між окремими процесами чи системами." msgid ":pep:`574` -- Pickle protocol 5 with out-of-band data" -msgstr "" +msgstr ":pep:`574` -- Протокол Pickle 5 із позаполосними даними" msgid "Restricting Globals" -msgstr "" +msgstr "Обмеження Globals" msgid "" "By default, unpickling will import any class or function that it finds in " @@ -1355,6 +2094,11 @@ msgid "" "it permits the unpickler to import and invoke arbitrary code. Just consider " "what this hand-crafted pickle data stream does when loaded::" msgstr "" +"За замовчуванням unpickling імпортує будь-який клас або функцію, знайдені в " +"даних pickle. Для багатьох програм така поведінка є неприйнятною, оскільки " +"вона дозволяє unpickler імпортувати та викликати довільний код. Просто " +"подумайте, що робить цей створений вручну потік даних маринованих огірків " +"під час завантаження:" msgid "" ">>> import pickle\n" @@ -1373,6 +2117,9 @@ msgid "" "is inoffensive, it is not difficult to imagine one that could damage your " "system." msgstr "" +"У цьому прикладі unpickler імпортує функцію :func:`os.system`, а потім " +"застосовує рядковий аргумент \"echo hello world\". Хоча цей приклад не " +"образливий, неважко уявити такий, який може пошкодити вашу систему." msgid "" "For this reason, you may want to control what gets unpickled by customizing :" @@ -1381,11 +2128,18 @@ msgid "" "requested. Thus it is possible to either completely forbid globals or " "restrict them to a safe subset." msgstr "" +"З цієї причини ви можете контролювати те, що буде видалено, налаштувавши :" +"meth:`Unpickler.find_class`. На відміну від назви, :meth:`Unpickler." +"find_class` викликається щоразу, коли запитується глобал (тобто клас або " +"функція). Таким чином, можна або повністю заборонити глобальні елементи, або " +"обмежити їх безпечною підмножиною." msgid "" "Here is an example of an unpickler allowing only few safe classes from the :" "mod:`builtins` module to be loaded::" msgstr "" +"Ось приклад unpickler, який дозволяє завантажити лише декілька безпечних " +"класів із модуля :mod:`builtins`:" msgid "" "import builtins\n" @@ -1414,9 +2168,34 @@ msgid "" " \"\"\"Helper function analogous to pickle.loads().\"\"\"\n" " return RestrictedUnpickler(io.BytesIO(s)).load()" msgstr "" +"import builtins\n" +"import io\n" +"import pickle\n" +"\n" +"safe_builtins = {\n" +" 'range',\n" +" 'complex',\n" +" 'set',\n" +" 'frozenset',\n" +" 'slice',\n" +"}\n" +"\n" +"class RestrictedUnpickler(pickle.Unpickler):\n" +"\n" +" def find_class(self, module, name):\n" +" # Only allow safe classes from builtins.\n" +" if module == \"builtins\" and name in safe_builtins:\n" +" return getattr(builtins, name)\n" +" # Forbid everything else.\n" +" raise pickle.UnpicklingError(\"global '%s.%s' is forbidden\" %\n" +" (module, name))\n" +"\n" +"def restricted_loads(s):\n" +" \"\"\"Helper function analogous to pickle.loads().\"\"\"\n" +" return RestrictedUnpickler(io.BytesIO(s)).load()" msgid "A sample usage of our unpickler working as intended::" -msgstr "" +msgstr "Зразок використання нашого unpickler, що працює за призначенням::" msgid "" ">>> restricted_loads(pickle.dumps([1, 2, range(15)]))\n" @@ -1432,6 +2211,18 @@ msgid "" " ...\n" "pickle.UnpicklingError: global 'builtins.eval' is forbidden" msgstr "" +">>> restricted_loads(pickle.dumps([1, 2, range(15)]))\n" +"[1, 2, range(0, 15)]\n" +">>> restricted_loads(b\"cos\\nsystem\\n(S'echo hello world'\\ntR.\")\n" +"Traceback (most recent call last):\n" +" ...\n" +"pickle.UnpicklingError: global 'os.system' is forbidden\n" +">>> restricted_loads(b'cbuiltins\\neval\\n'\n" +"... b'(S\\'getattr(__import__(\"os\"), \"system\")'\n" +"... b'(\"echo hello world\")\\'\\ntR.')\n" +"Traceback (most recent call last):\n" +" ...\n" +"pickle.UnpicklingError: global 'builtins.eval' is forbidden" msgid "" "As our examples shows, you have to be careful with what you allow to be " @@ -1439,6 +2230,10 @@ msgid "" "alternatives such as the marshalling API in :mod:`xmlrpc.client` or third-" "party solutions." msgstr "" +"Як показують наші приклади, ви повинні бути обережними з тим, що ви " +"дозволяєте не маринувати. Тому, якщо питання безпеки викликає занепокоєння, " +"ви можете розглянути такі альтернативи, як маршалінговий API у :mod:`xmlrpc." +"client` або рішення сторонніх розробників." msgid "Performance" msgstr "Wydajność" @@ -1448,6 +2243,9 @@ msgid "" "efficient binary encodings for several common features and built-in types. " "Also, the :mod:`pickle` module has a transparent optimizer written in C." msgstr "" +"Останні версії протоколу pickle (від протоколу 2 і вище) містять ефективне " +"двійкове кодування для кількох загальних функцій і вбудованих типів. Крім " +"того, модуль :mod:`pickle` має прозорий оптимізатор, написаний мовою C." msgid "Examples" msgstr "Przykłady" @@ -1455,6 +2253,7 @@ msgstr "Przykłady" msgid "" "For the simplest code, use the :func:`dump` and :func:`load` functions. ::" msgstr "" +"Для найпростішого коду використовуйте функції :func:`dump` і :func:`load`. ::" msgid "" "import pickle\n" @@ -1470,9 +2269,21 @@ msgid "" " # Pickle the 'data' dictionary using the highest protocol available.\n" " pickle.dump(data, f, pickle.HIGHEST_PROTOCOL)" msgstr "" +"import pickle\n" +"\n" +"# An arbitrary collection of objects supported by pickle.\n" +"data = {\n" +" 'a': [1, 2.0, 3+4j],\n" +" 'b': (\"character string\", b\"byte string\"),\n" +" 'c': {None, True, False}\n" +"}\n" +"\n" +"with open('data.pickle', 'wb') as f:\n" +" # Pickle the 'data' dictionary using the highest protocol available.\n" +" pickle.dump(data, f, pickle.HIGHEST_PROTOCOL)" msgid "The following example reads the resulting pickled data. ::" -msgstr "" +msgstr "У наступному прикладі зчитуються результуючі мариновані дані. ::" msgid "" "import pickle\n" @@ -1482,57 +2293,69 @@ msgid "" " # have to specify it.\n" " data = pickle.load(f)" msgstr "" +"import pickle\n" +"\n" +"with open('data.pickle', 'rb') as f:\n" +" # The protocol version used is detected automatically, so we do not\n" +" # have to specify it.\n" +" data = pickle.load(f)" msgid "Module :mod:`copyreg`" -msgstr "" +msgstr "Модуль :mod:`copyreg`" msgid "Pickle interface constructor registration for extension types." -msgstr "" +msgstr "Реєстрація конструктора інтерфейсу Pickle для типів розширень." msgid "Module :mod:`pickletools`" -msgstr "" +msgstr "Модуль :mod:`pickletools`" msgid "Tools for working with and analyzing pickled data." -msgstr "" +msgstr "Інструменти для роботи з маринованими даними та їх аналізу." msgid "Module :mod:`shelve`" -msgstr "" +msgstr "Модуль :mod:`shelve`" msgid "Indexed databases of objects; uses :mod:`pickle`." -msgstr "" +msgstr "Індексовані бази даних об'єктів; використовує :mod:`pickle`." msgid "Module :mod:`copy`" -msgstr "" +msgstr "Модуль :mod:`copy`" msgid "Shallow and deep object copying." -msgstr "" +msgstr "Неглибоке і глибоке копіювання об'єктів." msgid "Module :mod:`marshal`" -msgstr "" +msgstr "Модуль :mod:`marshal`" msgid "High-performance serialization of built-in types." -msgstr "" +msgstr "Високопродуктивна серіалізація вбудованих типів." msgid "Footnotes" msgstr "Przypisy" msgid "Don't confuse this with the :mod:`marshal` module" -msgstr "" +msgstr "Не плутайте це з модулем :mod:`marshal`" msgid "" "This is why :keyword:`lambda` functions cannot be pickled: all :keyword:`!" "lambda` functions share the same name: ````." msgstr "" +"Ось чому функції :keyword:`lambda` не можна маринувати: усі функції :keyword:" +"`!lambda` мають однакову назву: ````." msgid "" "The exception raised will likely be an :exc:`ImportError` or an :exc:" "`AttributeError` but it could be something else." msgstr "" +"Виняток, імовірно, буде :exc:`ImportError` або :exc:`AttributeError`, але це " +"може бути щось інше." msgid "" "The :mod:`copy` module uses this protocol for shallow and deep copying " "operations." msgstr "" +"Модуль :mod:`copy` використовує цей протокол для дрібних і глибоких операцій " +"копіювання." msgid "" "The limitation on alphanumeric characters is due to the fact that persistent " @@ -1540,48 +2363,52 @@ msgid "" "kind of newline characters occurs in persistent IDs, the resulting pickled " "data will become unreadable." msgstr "" +"Обмеження щодо буквено-цифрових символів пов’язане з тим, що постійні " +"ідентифікатори в протоколі 0 відокремлюються символом нового рядка. Тому, " +"якщо в постійних ідентифікаторах зустрічаються будь-які символи нового " +"рядка, результуючі мариновані дані стануть нечитабельними." msgid "persistence" -msgstr "" +msgstr "persistence" msgid "persistent" -msgstr "" +msgstr "persistent" msgid "objects" -msgstr "" +msgstr "объекты" msgid "serializing" -msgstr "" +msgstr "serializing" msgid "marshalling" -msgstr "" +msgstr "marshalling" msgid "flattening" -msgstr "" +msgstr "flattening" msgid "pickling" -msgstr "" +msgstr "pickling" msgid "External Data Representation" -msgstr "" +msgstr "Представление внешних данных" msgid "copy" -msgstr "" +msgstr "копировать" msgid "protocol" -msgstr "" +msgstr "протокол" msgid "persistent_id (pickle protocol)" -msgstr "" +msgstr "persistent_id (pickle protocol)" msgid "persistent_load (pickle protocol)" -msgstr "" +msgstr "persistent_load (pickle protocol)" msgid "__getstate__() (copy protocol)" -msgstr "" +msgstr "__getstate__() (copy protocol)" msgid "__setstate__() (copy protocol)" -msgstr "" +msgstr "__setstate__() (copy protocol)" msgid "find_class() (pickle protocol)" -msgstr "" +msgstr "find_class() (pickle protocol)" diff --git a/library/pickletools.po b/library/pickletools.po index 774bc79b29..d7bc931177 100644 --- a/library/pickletools.po +++ b/library/pickletools.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Waldemar Stoczkowski, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\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: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/library/pkgutil.po b/library/pkgutil.po index 58cd770bf5..2013f81c40 100644 --- a/library/pkgutil.po +++ b/library/pkgutil.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\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: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-06-20 14:58+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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,28 +24,33 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!pkgutil` --- Package extension utility" -msgstr "" +msgstr ":mod:`!pkgutil` --- Утилита расширения пакета" 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 " "support." msgstr "" +"Цей модуль надає утиліти для системи імпорту, зокрема підтримку пакетів." msgid "A namedtuple that holds a brief summary of a module's info." -msgstr "" +msgstr "Іменований кортеж, який містить короткий опис інформації про модуль." msgid "" "Extend the search path for the modules which comprise a package. Intended " "use is to place the following code in a package's :file:`__init__.py`::" msgstr "" +"Розширте шлях пошуку для модулів, які складають пакет. Цільове використання " +"– розмістити наступний код у :file:`__init__.py`::" msgid "" "from pkgutil import extend_path\n" "__path__ = extend_path(__path__, __name__)" msgstr "" +"from pkgutil import extend_path\n" +"__path__ = extend_path(__path__, __name__)" msgid "" "For each directory on :data:`sys.path` that has a subdirectory that matches " @@ -53,6 +58,10 @@ msgid "" "__path__`. This is useful if one wants to distribute different parts of a " "single logical package as multiple directories." msgstr "" +"Для каждого каталога в :data:`sys.path`, у которого есть подкаталог, " +"соответствующий имени пакета, добавьте подкаталог в :attr:`~module.__path__` " +"пакета. Это полезно, если вы хотите распределить разные части одного " +"логического пакета по нескольким каталогам." msgid "" "It also looks for :file:`\\*.pkg` files beginning where ``*`` matches the " @@ -63,12 +72,23 @@ msgid "" "found in a :file:`\\*.pkg` file are added to the path, regardless of whether " "they exist on the filesystem (this is a feature)." msgstr "" +"Он также ищет файлы :file:`\\*.pkg`, начинающиеся с которых ``*`` " +"соответствует аргументу *name*. Эта функция аналогична файлам :file:`\\*." +"pth` (дополнительную информацию см. в модуле :mod:`site`), за исключением " +"того, что в ней нет специальных строк, начинающихся с ``import``. Файлу :" +"file:`\\*.pkg` доверяют по номинальной стоимости: помимо пропуска пустых " +"строк и игнорирования комментариев, все записи, найденные в файле :file:`\\*." +"pkg`, добавляются к пути, независимо от того, они существуют в файловой " +"системе (это особенность)." msgid "" "If the input path is not a list (as is the case for frozen packages) it is " "returned unchanged. The input path is not modified; an extended copy is " "returned. Items are only appended to the copy at the end." msgstr "" +"Якщо шлях введення не є списком (як у випадку заморожених пакунків), він " +"повертається без змін. Вхідний шлях не змінено; повертається розширена " +"копія. Елементи додаються до копії лише в кінці." msgid "" "It is assumed that :data:`sys.path` is a sequence. Items of :data:`sys." @@ -77,6 +97,11 @@ msgid "" "may cause this function to raise an exception (in line with :func:`os.path." "isdir` behavior)." msgstr "" +"Передбачається, що :data:`sys.path` є послідовністю. Елементи :data:`sys." +"path`, які не є рядками, що посилаються на існуючі каталоги, ігноруються. " +"Елементи Юнікоду в :data:`sys.path`, які спричиняють помилки, коли " +"використовуються як імена файлів, можуть викликати виняток у цій функції " +"(відповідно до поведінки :func:`os.path.isdir`)." msgid "Retrieve a module :term:`loader` for the given *fullname*." msgstr "" @@ -92,6 +117,8 @@ msgid "" "Updated to be based directly on :mod:`importlib` rather than relying on the " "package internal :pep:`302` import emulation." msgstr "" +"Оновлено, щоб базуватися безпосередньо на :mod:`importlib`, а не на " +"внутрішній емуляції імпорту :pep:`302` пакета." msgid "Updated to be based on :pep:`451`" msgstr "" @@ -100,17 +127,21 @@ msgid "Use :func:`importlib.util.find_spec` instead." msgstr "" msgid "Retrieve a :term:`finder` for the given *path_item*." -msgstr "" +msgstr "Отримати :term:`finder` для заданого *path_item*." msgid "" "The returned finder is cached in :data:`sys.path_importer_cache` if it was " "newly created by a path hook." msgstr "" +"Повернений засіб пошуку зберігається в :data:`sys.path_importer_cache`, якщо " +"він був щойно створений за допомогою перехоплювача шляху." msgid "" "The cache (or part of it) can be cleared manually if a rescan of :data:`sys." "path_hooks` is necessary." msgstr "" +"Кеш (або його частину) можна очистити вручну, якщо потрібно повторне " +"сканування :data:`sys.path_hooks`." msgid "Get a :term:`loader` object for *module_or_name*." msgstr "" @@ -124,34 +155,45 @@ msgid "" msgstr "" msgid "Yield :term:`finder` objects for the given module name." -msgstr "" +msgstr "Видає об’єкти :term:`finder` для вказаного імені модуля." 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 "" +"Se *fullname* contiver ``'.'``, os localizadores serão para o pacote que " +"contém *fullname*, caso contrário, serão todos os localizadores de nível " +"superior registrados (ou seja, aqueles em :data:`sys.meta_path` e :data:`sys." +"path_hooks`)." msgid "" "If the named module is in a package, that package is imported as a side " "effect of invoking this function." msgstr "" +"Якщо вказаний модуль міститься в пакеті, цей пакет імпортується як побічний " +"ефект виклику цієї функції." msgid "If no module name is specified, all top level finders are produced." -msgstr "" +msgstr "Якщо ім’я модуля не вказано, створюються всі шукачі верхнього рівня." msgid "" "Yields :class:`ModuleInfo` for all submodules on *path*, or, if *path* is " "``None``, all top-level modules on :data:`sys.path`." msgstr "" +"Видає :class:`ModuleInfo` для всіх підмодулів на *path* або, якщо *path* має " +"значення ``None``, усі модулі верхнього рівня на :data:`sys.path`." msgid "" "*path* should be either ``None`` or a list of paths to look for modules in." -msgstr "" +msgstr "*path* має бути або ``None``, або список шляхів для пошуку модулів." msgid "" "*prefix* is a string to output on the front of every module name on output." msgstr "" +"*префікс* — це рядок, який виводиться на початку кожного імені модуля при " +"виведенні." msgid "" "Only works for a :term:`finder` which defines an ``iter_modules()`` method. " @@ -159,17 +201,25 @@ msgid "" "for :class:`importlib.machinery.FileFinder` and :class:`zipimport." "zipimporter`." msgstr "" +"Працює лише для :term:`finder`, який визначає метод ``iter_modules()``. Цей " +"інтерфейс є нестандартним, тому модуль також забезпечує реалізації для :" +"class:`importlib.machinery.FileFinder` і :class:`zipimport.zipimporter`." msgid "" "Yields :class:`ModuleInfo` for all modules recursively on *path*, or, if " "*path* is ``None``, all accessible modules." msgstr "" +"Видає :class:`ModuleInfo` для всіх модулів рекурсивно за *шляхом* або, якщо " +"*шлях* має значення ``None``, усі доступні модулі." msgid "" "Note that this function must import all *packages* (*not* all modules!) on " "the given *path*, in order to access the ``__path__`` attribute to find " "submodules." msgstr "" +"Зауважте, що ця функція має імпортувати всі *пакети* (*не* всі модулі!) за " +"вказаним *шляхом*, щоб отримати доступ до атрибута ``__path__`` для пошуку " +"підмодулів." msgid "" "*onerror* is a function which gets called with one argument (the name of the " @@ -178,6 +228,11 @@ msgid "" "`ImportError`\\s are caught and ignored, while all other exceptions are " "propagated, terminating the search." msgstr "" +"*onerror* — це функція, яка викликається з одним аргументом (назва пакета, " +"який імпортувався), якщо під час спроби імпортувати пакет виникає будь-яка " +"виняткова ситуація. Якщо функція *onerror* не надається, :exc:" +"`ImportError`\\s перехоплюються та ігноруються, тоді як усі інші винятки " +"поширюються, припиняючи пошук." msgid "Examples::" msgstr "Przykłady::" @@ -189,9 +244,14 @@ msgid "" "# list all submodules of ctypes\n" "walk_packages(ctypes.__path__, ctypes.__name__ + '.')" msgstr "" +"# list all modules python can access\n" +"walk_packages()\n" +"\n" +"# list all submodules of ctypes\n" +"walk_packages(ctypes.__path__, ctypes.__name__ + '.')" msgid "Get a resource from a package." -msgstr "" +msgstr "Отримати ресурс із пакету." msgid "" "This is a wrapper for the :term:`loader` :meth:`get_data `. Аргумент *package* має бути назвою пакета в " +"стандартному форматі модуля (``foo.bar``). Аргумент *resource* має бути у " +"формі відносного імені файлу, використовуючи ``/`` як роздільник шляху. Ім’я " +"батьківського каталогу ``..`` не допускається, а також коренева назва " +"(починається з ``/``)." msgid "" "The function returns a binary string that is the contents of the specified " "resource." -msgstr "" +msgstr "Функція повертає двійковий рядок, який є вмістом зазначеного ресурсу." msgid "" "For packages located in the filesystem, which have already been imported, " "this is the rough equivalent of::" msgstr "" +"Для пакетів, розташованих у файловій системі, які вже були імпортовані, це " +"приблизний еквівалент::" msgid "" "d = os.path.dirname(sys.modules[package].__file__)\n" "data = open(os.path.join(d, resource), 'rb').read()" msgstr "" +"d = os.path.dirname(sys.modules[package].__file__)\n" +"data = open(os.path.join(d, resource), 'rb').read()" msgid "" "If the package cannot be located or loaded, or it uses a :term:`loader` " @@ -224,21 +294,33 @@ msgid "" "for :term:`namespace packages ` does not support :meth:" "`get_data `." msgstr "" +"Якщо пакет не вдається знайти або завантажити, або він використовує :term:" +"`loader`, який не підтримує :meth:`get_data `, повертається ``None``. Зокрема, :term:`loader` для :term:" +"`пакетів простору імен ` не підтримує :meth:`get_data " +"`." msgid "Resolve a name to an object." -msgstr "" +msgstr "Розв’яжіть ім’я з об’єктом." msgid "" "This functionality is used in numerous places in the standard library (see :" "issue:`12915`) - and equivalent functionality is also in widely used third-" "party packages such as setuptools, Django and Pyramid." msgstr "" +"Ця функціональність використовується в багатьох місцях у стандартній " +"бібліотеці (див. :issue:`12915`), а еквівалентна функціональність також є в " +"широко використовуваних пакетах сторонніх розробників, таких як setuptools, " +"Django та Pyramid." msgid "" "It is expected that *name* will be a string in one of the following formats, " "where W is shorthand for a valid Python identifier and dot stands for a " "literal period in these pseudo-regexes:" msgstr "" +"Очікується, що *ім’я* буде рядком в одному з таких форматів, де W є " +"скороченням дійсного ідентифікатора Python, а крапка означає крапку в цих " +"псевдорегулярних виразах:" msgid "``W(.W)*``" msgstr "``W(.W)*``" @@ -254,6 +336,11 @@ msgid "" "inferred by inspection, repeated attempts to import must be done with this " "form." msgstr "" +"Перша форма призначена лише для зворотної сумісності. Припускається, що " +"деяка частина назви з крапками є пакетом, а решта є об’єктом десь у цьому " +"пакеті, можливо, вкладеним в інші об’єкти. Оскільки місце, де зупиняється " +"пакет і починається ієрархія об’єктів, не може бути встановлено шляхом " +"перевірки, повторні спроби імпорту потрібно робити за допомогою цієї форми." msgid "" "In the second form, the caller makes the division point clear through the " @@ -262,19 +349,28 @@ msgid "" "hierarchy within that package. Only one import is needed in this form. If it " "ends with the colon, then a module object is returned." msgstr "" +"У другій формі абонент чітко пояснює точку розділення за допомогою однієї " +"двокрапки: назва з крапками ліворуч від двокрапки означає пакет, який " +"потрібно імпортувати, а назва з крапками праворуч — це ієрархія об’єктів у " +"цьому пакеті. . У цій формі потрібен лише один імпорт. Якщо він закінчується " +"двокрапкою, повертається об’єкт модуля." msgid "" "The function will return an object (which might be a module), or raise one " "of the following exceptions:" msgstr "" +"Функція поверне об’єкт (який може бути модулем) або викличе одне з таких " +"винятків:" msgid ":exc:`ValueError` -- if *name* isn't in a recognised format." -msgstr "" +msgstr ":exc:`ValueError` -- якщо *ім'я* не в розпізнаному форматі." msgid ":exc:`ImportError` -- if an import failed when it shouldn't have." -msgstr "" +msgstr ":exc:`ImportError` -- якщо імпорт не вдався, а не мав бути." msgid "" ":exc:`AttributeError` -- If a failure occurred when traversing the object " "hierarchy within the imported package to get to the desired object." msgstr "" +":exc:`AttributeError` -- Якщо сталася помилка під час проходження ієрархії " +"об’єктів в імпортованому пакеті, щоб дістатися до потрібного об’єкта." diff --git a/library/platform.po b/library/platform.po index b1a0b83556..ba90d74f6b 100644 --- a/library/platform.po +++ b/library/platform.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\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: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-07-25 15:00+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -25,28 +25,37 @@ msgstr "" msgid ":mod:`!platform` --- Access to underlying platform's identifying data" msgstr "" +":mod:`!platform` --- Доступ к идентификационным данным базовой платформы." 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 " "section." msgstr "" +"Конкретні платформи, перелічені в алфавітному порядку, з Linux включено в " +"розділ Unix." -msgid "Cross Platform" -msgstr "" +msgid "Cross platform" +msgstr "Multiplataforma" msgid "" "Queries the given executable (defaults to the Python interpreter binary) for " "various architecture information." msgstr "" +"Запитує наданий виконуваний файл (за замовчуванням двійковий файл " +"інтерпретатора Python) для отримання різноманітної інформації про " +"архітектуру." msgid "" "Returns a tuple ``(bits, linkage)`` which contain information about the bit " "architecture and the linkage format used for the executable. Both values are " "returned as strings." msgstr "" +"Повертає кортеж ``(bits, linkage)``, який містить інформацію про бітову " +"архітектуру та формат зв’язку, що використовується для виконуваного файлу. " +"Обидва значення повертаються як рядки." msgid "" "Values that cannot be determined are returned as given by the parameter " @@ -54,6 +63,10 @@ msgid "" "``sizeof(long)`` on Python version < 1.5.2) is used as indicator for the " "supported pointer size." msgstr "" +"Значення, які не можуть бути визначені, повертаються відповідно до " +"налаштувань параметрів. Якщо біти задано як ``''``, ``sizeof(pointer)`` (або " +"``sizeof(long)`` у версії Python < 1.5.2) використовується як індикатор " +"підтримуваного розміру покажчика." msgid "" "The function relies on the system's :file:`file` command to do the actual " @@ -61,39 +74,56 @@ msgid "" "platforms and then only if the executable points to the Python interpreter. " "Reasonable defaults are used when the above needs are not met." msgstr "" +"Функція покладається на системну команду :file:`file` для виконання " +"фактичної роботи. Це доступно на більшості, якщо не на всіх платформах Unix " +"і на деяких платформах, що не належать до Unix, і тільки якщо виконуваний " +"файл вказує на інтерпретатор Python. Розумні значення за замовчуванням " +"використовуються, коли вищезазначені потреби не задовольняються." msgid "" "On macOS (and perhaps other platforms), executable files may be universal " "files containing multiple architectures." msgstr "" +"У macOS (і, можливо, на інших платформах) виконувані файли можуть бути " +"універсальними файлами, що містять кілька архітектур." msgid "" "To get at the \"64-bitness\" of the current interpreter, it is more reliable " "to query the :data:`sys.maxsize` attribute::" msgstr "" +"Чтобы получить «64-битность» текущего интерпретатора, более надежно " +"запросить атрибут :data:`sys.maxsize`::" msgid "is_64bits = sys.maxsize > 2**32" -msgstr "" +msgstr "is_64bits = sys.maxsize > 2**32" msgid "" "Returns the machine type, e.g. ``'AMD64'``. An empty string is returned if " "the value cannot be determined." msgstr "" +"Повертає тип машини, напр. ``'AMD64'``. Якщо значення неможливо визначити, " +"повертається порожній рядок." msgid "" "Returns the computer's network name (may not be fully qualified!). An empty " "string is returned if the value cannot be determined." msgstr "" +"Повертає мережеве ім'я комп'ютера (може бути неповним!). Якщо значення " +"неможливо визначити, повертається порожній рядок." msgid "" "Returns a single string identifying the underlying platform with as much " "useful information as possible." msgstr "" +"Повертає єдиний рядок, що визначає базову платформу з якомога більшою " +"кількістю корисної інформації." msgid "" "The output is intended to be *human readable* rather than machine parseable. " "It may look different on different platforms and this is intended." msgstr "" +"Вихід призначений для *людиночитаного*, а не машинного аналізу. Це може " +"виглядати по-різному на різних платформах, і це призначено." msgid "" "If *aliased* is true, the function will use aliases for various platforms " @@ -101,123 +131,164 @@ msgid "" "SunOS will be reported as Solaris. The :func:`system_alias` function is " "used to implement this." msgstr "" +"Якщо *aliased* має значення true, функція використовуватиме псевдоніми для " +"різних платформ, які повідомлятимуть імена систем, які відрізняються від " +"їхніх звичайних імен, наприклад, SunOS буде повідомлено як Solaris. Для " +"реалізації цього використовується функція :func:`system_alias`." msgid "" "Setting *terse* to true causes the function to return only the absolute " "minimum information needed to identify the platform." msgstr "" +"Якщо встановити *terse* значення true, функція повертатиме лише абсолютний " +"мінімум інформації, необхідної для ідентифікації платформи." msgid "" "On macOS, the function now uses :func:`mac_ver`, if it returns a non-empty " "release string, to get the macOS version rather than the darwin version." msgstr "" +"У macOS функція тепер використовує :func:`mac_ver`, якщо повертає непорожній " +"рядок випуску, щоб отримати версію macOS, а не версію Darwin." msgid "Returns the (real) processor name, e.g. ``'amdk6'``." -msgstr "" +msgstr "Повертає (справжню) назву процесора, напр. ``'amdk6'``." msgid "" "An empty string is returned if the value cannot be determined. Note that " "many platforms do not provide this information or simply return the same " "value as for :func:`machine`. NetBSD does this." msgstr "" +"Якщо значення неможливо визначити, повертається порожній рядок. Зауважте, що " +"багато платформ не надають цю інформацію або просто повертають те саме " +"значення, що й для :func:`machine`. NetBSD робить це." msgid "" "Returns a tuple ``(buildno, builddate)`` stating the Python build number and " "date as strings." msgstr "" +"Повертає кортеж ``(buildno, builddate)`` із зазначенням номера та дати " +"складання Python у вигляді рядків." msgid "Returns a string identifying the compiler used for compiling Python." msgstr "" +"Повертає рядок, що ідентифікує компілятор, використаний для компіляції " +"Python." msgid "Returns a string identifying the Python implementation SCM branch." -msgstr "" +msgstr "Повертає рядок, що ідентифікує гілку SCM реалізації Python." msgid "" "Returns a string identifying the Python implementation. Possible return " "values are: 'CPython', 'IronPython', 'Jython', 'PyPy'." msgstr "" +"Повертає рядок, що ідентифікує реалізацію Python. Можливі значення " +"повернення: 'CPython', 'IronPython', 'Jython', 'PyPy'." msgid "Returns a string identifying the Python implementation SCM revision." -msgstr "" +msgstr "Повертає рядок, що ідентифікує версію SCM реалізації Python." msgid "Returns the Python version as string ``'major.minor.patchlevel'``." -msgstr "" +msgstr "Повертає версію Python як рядок ``'major.minor.patchlevel``." msgid "" "Note that unlike the Python ``sys.version``, the returned value will always " "include the patchlevel (it defaults to 0)." msgstr "" +"Зауважте, що на відміну від ``sys.version`` Python, повернуте значення " +"завжди включатиме patchlevel (він за замовчуванням дорівнює 0)." msgid "" "Returns the Python version as tuple ``(major, minor, patchlevel)`` of " "strings." msgstr "" +"Повертає версію Python як кортеж ``(major, minor, patchlevel)`` рядків." msgid "" "Note that unlike the Python ``sys.version``, the returned value will always " "include the patchlevel (it defaults to ``'0'``)." msgstr "" +"Зауважте, що на відміну від ``sys.version`` Python, повернуте значення " +"завжди включатиме рівень виправлення (за замовчуванням він ``'0'``)." msgid "" "Returns the system's release, e.g. ``'2.2.0'`` or ``'NT'``. An empty string " "is returned if the value cannot be determined." msgstr "" +"Повертає випуск системи, напр. ``'2.2.0'`` або ``'NT'``. Якщо значення " +"неможливо визначити, повертається порожній рядок." msgid "" "Returns the system/OS name, such as ``'Linux'``, ``'Darwin'``, ``'Java'``, " "``'Windows'``. An empty string is returned if the value cannot be determined." msgstr "" +"Повертає назву системи/ОС, наприклад ``'Linux'``, ``'Darwin'``, ``'Java'``, " +"``'Windows'``. Якщо значення неможливо визначити, повертається порожній " +"рядок." msgid "" "On iOS and Android, this returns the user-facing OS name (i.e, ``'iOS``, " "``'iPadOS'`` or ``'Android'``). To obtain the kernel name (``'Darwin'`` or " "``'Linux'``), use :func:`os.uname`." msgstr "" +"В iOS и Android возвращается имя операционной системы, обращенной к " +"пользователю (т. е. «iOS», «iPadOS» или «Android»). Чтобы получить имя ядра " +"(«Darwin» или «Linux»), используйте :func:`os.uname`." msgid "" "Returns ``(system, release, version)`` aliased to common marketing names " "used for some systems. It also does some reordering of the information in " "some cases where it would otherwise cause confusion." msgstr "" +"Повертає ``(система, випуск, версія)``, пов’язаний із загальними " +"маркетинговими назвами, які використовуються для деяких систем. Він також " +"виконує певне впорядкування інформації в деяких випадках, коли інакше це " +"може призвести до плутанини." msgid "" "Returns the system's release version, e.g. ``'#3 on degas'``. An empty " "string is returned if the value cannot be determined." msgstr "" +"Повертає версію випуску системи, напр. ``'#3 на Дега'``. Якщо значення " +"неможливо визначити, повертається порожній рядок." msgid "" "On iOS and Android, this is the user-facing OS version. To obtain the Darwin " "or Linux kernel version, use :func:`os.uname`." msgstr "" +"В iOS и Android это версия ОС, ориентированная на пользователя. Чтобы " +"получить версию ядра Darwin или Linux, используйте :func:`os.uname`." msgid "" "Fairly portable uname interface. Returns a :func:`~collections.namedtuple` " "containing six attributes: :attr:`system`, :attr:`node`, :attr:`release`, :" "attr:`version`, :attr:`machine`, and :attr:`processor`." msgstr "" +"Досить портативний інтерфейс uname. Повертає :func:`~collections." +"namedtuple`, що містить шість атрибутів: :attr:`system`, :attr:`node`, :attr:" +"`release`, :attr:`version`, :attr:`machine`, і :attr:`processor`." msgid ":attr:`processor` is resolved late, on demand." -msgstr "" +msgstr ":attr:`processor` разрешается поздно, по требованию." 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 ``''``." -msgstr "" +msgstr "Записи, які не можуть бути визначені, мають значення ``''``." msgid "Result changed from a tuple to a :func:`~collections.namedtuple`." -msgstr "" +msgstr "Результат змінено з кортежу на :func:`~collections.namedtuple`." msgid ":attr:`processor` is resolved late instead of immediately." -msgstr "" +msgstr ":attr:`processor` разрешается поздно, а не сразу." -msgid "Java Platform" -msgstr "" +msgid "Java platform" +msgstr "Plataforma Java" msgid "Version interface for Jython." -msgstr "" +msgstr "Версія інтерфейсу для Jython." msgid "" "Returns a tuple ``(release, vendor, vminfo, osinfo)`` with *vminfo* being a " @@ -225,14 +296,21 @@ msgid "" "``(os_name, os_version, os_arch)``. Values which cannot be determined are " "set to the defaults given as parameters (which all default to ``''``)." msgstr "" +"Повертає кортеж ``(release, vendor, vminfo, osinfo)``, де *vminfo* є " +"кортежем ``(vm_name, vm_release, vm_vendor)``, а *osinfo* є кортежем " +"``(os_name, os_version, os_arch)``. Значення, які не можуть бути визначені, " +"встановлюються за замовчуванням, наданим як параметри (усі за замовчуванням " +"``''``)." msgid "" "It was largely untested, had a confusing API, and was only useful for Jython " "support." msgstr "" +"Он практически не тестировался, имел запутанный API и был полезен только для " +"поддержки Jython." -msgid "Windows Platform" -msgstr "" +msgid "Windows platform" +msgstr "Plataforma Windows" msgid "" "Get additional version information from the Windows Registry and return a " @@ -241,6 +319,11 @@ msgid "" "Values which cannot be determined are set to the defaults given as " "parameters (which all default to an empty string)." msgstr "" +"Отримайте додаткову інформацію про версію з реєстру Windows і поверніть " +"кортеж ``(release, version, csd, ptype)`` із посиланням на випуск ОС, номер " +"версії, рівень CSD (пакет оновлень) і тип ОС (багато/однопроцесор). " +"Значення, які не можуть бути визначені, встановлюються на значення за " +"замовчуванням, надані як параметри (усі типові значення — порожній рядок)." msgid "" "As a hint: *ptype* is ``'Uniprocessor Free'`` on single processor NT " @@ -249,6 +332,11 @@ msgid "" "also state ``'Checked'`` which means the OS version uses debugging code, i." "e. code that checks arguments, ranges, etc." msgstr "" +"Подсказка: *ptype* — это ``'Uniprocessor Free'`` на однопроцессорных машинах " +"NT и ``'Multiprocessor Free'`` на многопроцессорных машинах. «Бесплатно» " +"относится к версии ОС, свободной от отладочного кода. Также может быть " +"указано «Проверено», что означает, что версия ОС использует код отладки, т. " +"е. код, который проверяет аргументы, диапазоны и т. д." msgid "" "Returns a string representing the current Windows edition, or ``None`` if " @@ -256,57 +344,77 @@ msgid "" "to ``'Enterprise'``, ``'IoTUAP'``, ``'ServerStandard'``, and " "``'nanoserver'``." msgstr "" +"Повертає рядок, що представляє поточну версію Windows, або ``None``, якщо " +"значення неможливо визначити. Можливі значення включають, але не обмежуються " +"ними, ``'Enterprise'``, ``'IoTUAP'``, ``'ServerStandard'`` і " +"``'nanoserver'``." msgid "" "Return ``True`` if the Windows edition returned by :func:`win32_edition` is " "recognized as an IoT edition." msgstr "" +"Повертає ``True``, якщо випуск Windows, який повертає :func:`win32_edition`, " +"розпізнається як випуск IoT." -msgid "macOS Platform" -msgstr "" +msgid "macOS platform" +msgstr "Plataforma macOS" msgid "" "Get macOS version information and return it as tuple ``(release, " "versioninfo, machine)`` with *versioninfo* being a tuple ``(version, " "dev_stage, non_release_version)``." msgstr "" +"Отримати інформацію про версію macOS і повернути її як кортеж ``(release, " +"versioninfo, machine)``, де *versioninfo* є кортежем ``(version, dev_stage, " +"non_release_version)``." msgid "" "Entries which cannot be determined are set to ``''``. All tuple entries are " "strings." msgstr "" +"Записи, які не можуть бути визначені, мають значення ``''``. Усі записи " +"кортежу є рядками." -msgid "iOS Platform" -msgstr "" +msgid "iOS platform" +msgstr "Plataforma iOS" msgid "" "Get iOS version information and return it as a :func:`~collections." "namedtuple` with the following attributes:" msgstr "" +"Получите информацию о версии iOS и верните ее как :func:`~collections." +"namedtuple` со следующими атрибутами:" msgid "``system`` is the OS name; either ``'iOS'`` or ``'iPadOS'``." -msgstr "" +msgstr "``system`` — имя ОС; либо ``'iOS'``, либо ``'iPadOS'``." msgid "``release`` is the iOS version number as a string (e.g., ``'17.2'``)." msgstr "" +"``release`` — это номер версии iOS в виде строки (например, ``'17.2'``)." msgid "" "``model`` is the device model identifier; this will be a string like " "``'iPhone13,2'`` for a physical device, or ``'iPhone'`` on a simulator." msgstr "" +"``model`` — идентификатор модели устройства; это будет строка типа " +"«iPhone13,2» для физического устройства или «iPhone» на симуляторе." msgid "" "``is_simulator`` is a boolean describing if the app is running on a " "simulator or a physical device." msgstr "" +"``is_simulator`` — это логическое значение, описывающее, работает ли " +"приложение на симуляторе или на физическом устройстве." msgid "" "Entries which cannot be determined are set to the defaults given as " "parameters." msgstr "" +"Для записей, которые невозможно определить, устанавливаются значения по " +"умолчанию, заданные в качестве параметров." -msgid "Unix Platforms" -msgstr "" +msgid "Unix platforms" +msgstr "Plataformas Unix" msgid "" "Tries to determine the libc version against which the file executable " @@ -314,18 +422,25 @@ msgid "" "``(lib, version)`` which default to the given parameters in case the lookup " "fails." msgstr "" +"Намагається визначити версію libc, з якою пов’язано виконуваний файл (за " +"замовчуванням – інтерпретатор Python). Повертає кортеж рядків ``(lib, " +"version)``, які за замовчуванням мають задані параметри, якщо пошук не " +"вдасться." msgid "" "Note that this function has intimate knowledge of how different libc " "versions add symbols to the executable is probably only usable for " "executables compiled using :program:`gcc`." msgstr "" +"Зауважте, що ця функція має глибокі знання про те, як різні версії libc " +"додають символи до виконуваного файлу, ймовірно, придатна лише для " +"виконуваних файлів, скомпільованих за допомогою :program:`gcc`." msgid "The file is read and scanned in chunks of *chunksize* bytes." -msgstr "" +msgstr "Файл зчитується та сканується шматками *chunksize* байтів." -msgid "Linux Platforms" -msgstr "" +msgid "Linux platforms" +msgstr "Plataformas Linux" msgid "" "Get operating system identification from ``os-release`` file and return it " @@ -334,11 +449,18 @@ msgid "" "in most Linux distributions. A noticeable exception is Android and Android-" "based distributions." msgstr "" +"Отримайте ідентифікатор операційної системи з файлу ``os-release`` і " +"поверніть його як dict. Файл ``os-release`` є `стандартом freedesktop.org " +"`_ і " +"доступний у більшості дистрибутивів Linux. Помітним винятком є Android і " +"дистрибутиви на базі Android." msgid "" "Raises :exc:`OSError` or subclass when neither ``/etc/os-release`` nor ``/" "usr/lib/os-release`` can be read." msgstr "" +"Викликає :exc:`OSError` або підклас, якщо ні ``/etc/os-release``, ні ``/usr/" +"lib/os-release`` не можуть бути прочитані." msgid "" "On success, the function returns a dictionary where keys and values are " @@ -347,6 +469,10 @@ msgid "" "defined according to the standard. All other fields are optional. Vendors " "may include additional fields." msgstr "" +"У разі успіху функція повертає словник, де ключі та значення є рядками. " +"Значення мають спеціальні символи, такі як ``\"`` і ``$`` без лапок. Поля " +"``NAME``, ``ID`` і ``PRETTY_NAME`` завжди визначаються відповідно до " +"стандарту. Усі інші поля Постачальники можуть включати додаткові поля." msgid "" "Note that fields like ``NAME``, ``VERSION``, and ``VARIANT`` are strings " @@ -354,6 +480,10 @@ msgid "" "``ID_LIKE``, ``VERSION_ID``, or ``VARIANT_ID`` to identify Linux " "distributions." msgstr "" +"Зауважте, що такі поля, як ``NAME``, ``VERSION`` і ``VARIANT``, є рядками, " +"придатними для представлення користувачам. Програми мають використовувати " +"такі поля, як ``ID``, ``ID_LIKE``, ``VERSION_ID`` або ``VARIANT_ID`` для " +"визначення дистрибутивів Linux." msgid "Example::" msgstr "Przykład::" @@ -367,46 +497,111 @@ msgid "" " ids.extend(info[\"ID_LIKE\"].split())\n" " return ids" msgstr "" +"def get_like_distro():\n" +" info = platform.freedesktop_os_release()\n" +" ids = [info[\"ID\"]]\n" +" if \"ID_LIKE\" in info:\n" +" # ids are space separated and ordered by precedence\n" +" ids.extend(info[\"ID_LIKE\"].split())\n" +" return ids" -msgid "Android Platform" -msgstr "" +msgid "Android platform" +msgstr "Plataforma Android" msgid "" "Get Android device information. Returns a :func:`~collections.namedtuple` " "with the following attributes. Values which cannot be determined are set to " "the defaults given as parameters." msgstr "" +"Получите информацию об устройстве Android. Возвращает :func:`~collections." +"namedtuple` со следующими атрибутами. Для значений, которые невозможно " +"определить, устанавливаются значения по умолчанию, заданные в качестве " +"параметров." msgid "``release`` - Android version, as a string (e.g. ``\"14\"``)." -msgstr "" +msgstr "``release`` - версия Android, в виде строки (например, ``\"14\"``)." msgid "" "``api_level`` - API level of the running device, as an integer (e.g. ``34`` " "for Android 14). To get the API level which Python was built against, see :" "func:`sys.getandroidapilevel`." msgstr "" +"``api_level`` — уровень API работающего устройства в виде целого числа " +"(например, ``34`` для Android 14). Чтобы узнать уровень API, на котором был " +"построен Python, см. :func:`sys.getandroidapilevel`." msgid "" "``manufacturer`` - `Manufacturer name `__." msgstr "" +"``производитель`` - `Название производителя `__." msgid "" "``model`` - `Model name `__ – typically the marketing name or model number." msgstr "" +"``model`` – `Название модели `__ — обычно маркетинговое название или номер модели." msgid "" "``device`` - `Device name `__ – typically the model number or a codename." msgstr "" +"``device`` — `Имя устройства `__ — обычно номер модели или кодовое имя." msgid "" "``is_emulator`` - ``True`` if the device is an emulator; ``False`` if it's a " "physical device." msgstr "" +"``is_emulator`` - ``True``, если устройство является эмулятором; ``False``, " +"если это физическое устройство." msgid "" "Google maintains a `list of known model and device names `__." msgstr "" +"Google ведет `список известных моделей и названий устройств `__." + +msgid "Command-line usage" +msgstr "Использование командной строки" + +msgid "" +":mod:`platform` can also be invoked directly using the :option:`-m` switch " +"of the interpreter::" +msgstr "" +":mod:`platform` também pode ser invocado diretamente usando a opção :option:" +"`-m` do interpretador::" + +msgid "python -m platform [--terse] [--nonaliased] [{nonaliased,terse} ...]" +msgstr "python -m platform [--terse] [--nonaliased] [{nonaliased,terse} ...]" + +msgid "The following options are accepted:" +msgstr "Приймаються такі варіанти:" + +msgid "" +"Print terse information about the platform. This is equivalent to calling :" +"func:`platform.platform` with the *terse* argument set to ``True``." +msgstr "" +"Exibe informações concisas sobre a plataforma. Isso equivale a chamar :func:" +"`platform.platform` com o argumento *terse* definido como ``True``." + +msgid "" +"Print platform information without system/OS name aliasing. This is " +"equivalent to calling :func:`platform.platform` with the *aliased* argument " +"set to ``True``." +msgstr "" +"Exibe informações da plataforma sem alias de nome do sistema/SO. Isso " +"equivale a chamar :func:`platform.platform` com o argumento *aliased* " +"definido como ``True``." + +msgid "" +"You can also pass one or more positional arguments (``terse``, " +"``nonaliased``) to explicitly control the output format. These behave " +"similarly to their corresponding options." +msgstr "" +"Você também pode passar um ou mais argumentos posicionais (``terse``, " +"``nonaliased``) para controlar explicitamente o formato de saída. Eles se " +"comportam de forma semelhante às suas opções correspondentes." diff --git a/library/plistlib.po b/library/plistlib.po index c4f0e5ee9c..feb2ef1f04 100644 --- a/library/plistlib.po +++ b/library/plistlib.po @@ -4,8 +4,7 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# haaritsubaki, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" @@ -13,8 +12,8 @@ msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: haaritsubaki, 2023\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -25,88 +24,113 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!plistlib` --- Generate and parse Apple ``.plist`` files" -msgstr "" +msgstr ":mod:`!plistlib` --- Генерация и анализ файлов Apple ``.plist``" 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 " "list\" files used by Apple, primarily on macOS and iOS. This module supports " "both binary and XML plist files." msgstr "" +"Цей модуль надає інтерфейс для читання та запису файлів \"списку " +"властивостей\", які використовуються Apple, переважно в macOS та iOS. Цей " +"модуль підтримує двійкові та XML-файли plist." msgid "" "The property list (``.plist``) file format is a simple serialization " "supporting basic object types, like dictionaries, lists, numbers and " "strings. Usually the top level object is a dictionary." msgstr "" +"Формат файлу списку властивостей (``.plist``) — це проста серіалізація, яка " +"підтримує базові типи об’єктів, як-от словники, списки, числа та рядки. " +"Зазвичай об'єктом верхнього рівня є словник." msgid "" "To write out and to parse a plist file, use the :func:`dump` and :func:" "`load` functions." msgstr "" +"Щоб вивести та проаналізувати файл plist, використовуйте функції :func:" +"`dump` і :func:`load`." msgid "" "To work with plist data in bytes or string objects, use :func:`dumps` and :" "func:`loads`." msgstr "" +"Для работы с данными plist в байтах или строковых объектах используйте :func:" +"`dumps` и :func:`loads`." msgid "" "Values can be strings, integers, floats, booleans, tuples, lists, " "dictionaries (but only with string keys), :class:`bytes`, :class:`bytearray` " "or :class:`datetime.datetime` objects." msgstr "" +"Значеннями можуть бути рядки, цілі числа, числа з плаваючою точкою, логічні " +"значення, кортежі, списки, словники (але лише з рядковими ключами), об’єкти :" +"class:`bytes`, :class:`bytearray` або :class:`datetime.datetime`." msgid "New API, old API deprecated. Support for binary format plists added." msgstr "" +"Новий API, старий API застарів. Додано підтримку бінарних форматів plists." msgid "" "Support added for reading and writing :class:`UID` tokens in binary plists " "as used by NSKeyedArchiver and NSKeyedUnarchiver." msgstr "" +"Додано підтримку для читання та запису токенів :class:`UID` у бінарних " +"списках, що використовуються NSKeyedArchiver і NSKeyedUnarchiver." msgid "Old API removed." -msgstr "" +msgstr "Старий API видалено." msgid "" "`PList manual page `_" msgstr "" +"`Страница руководства PList `_" msgid "Apple's documentation of the file format." -msgstr "" +msgstr "Документація Apple про формат файлу." msgid "This module defines the following functions:" -msgstr "" +msgstr "Цей модуль визначає такі функції:" msgid "" "Read a plist file. *fp* should be a readable and binary file object. Return " "the unpacked root object (which usually is a dictionary)." msgstr "" +"Прочитайте файл plist. *fp* має бути читабельним і двійковим файловим " +"об’єктом. Повертає розпакований кореневий об’єкт (який зазвичай є словником)." msgid "The *fmt* is the format of the file and the following values are valid:" -msgstr "" +msgstr "*fmt* — це формат файлу, і такі значення є дійсними:" msgid ":data:`None`: Autodetect the file format" -msgstr "" +msgstr ":data:`None`: Автоматичне визначення формату файлу" msgid ":data:`FMT_XML`: XML file format" -msgstr "" +msgstr ":data:`FMT_XML`: формат файлу XML" msgid ":data:`FMT_BINARY`: Binary plist format" -msgstr "" +msgstr ":data:`FMT_BINARY`: двійковий формат plist" msgid "" "The *dict_type* is the type used for dictionaries that are read from the " "plist file." msgstr "" +"*dict_type* — це тип, який використовується для словників, які читаються з " +"файлу plist." msgid "" "When *aware_datetime* is true, fields with type ``datetime.datetime`` will " "be created as :ref:`aware object `, with :attr:`!" "tzinfo` as :const:`datetime.UTC`." msgstr "" +"Quando *aware_datetime* for verdadeiro, campos com o tipo ``datetime." +"datetime`` serão criados como :ref:`objeto conscientes `, com :attr:`!tzinfo` como :const:`datetime.UTC`." msgid "" "XML data for the :data:`FMT_XML` format is parsed using the Expat parser " @@ -114,100 +138,128 @@ msgid "" "exceptions on ill-formed XML. Unknown elements will simply be ignored by " "the plist parser." msgstr "" +"XML-дані для формату :data:`FMT_XML` аналізуються за допомогою синтаксичного " +"аналізатора Expat із :mod:`xml.parsers.expat` — перегляньте його " +"документацію щодо можливих винятків щодо неправильно сформованого XML. " +"Невідомі елементи просто ігноруватимуться аналізатором plist." msgid "" "The parser raises :exc:`InvalidFileException` when the file cannot be parsed." msgstr "" +"O analisador sintático levanta :exc:`InvalidFileException` quando o arquivo " +"não pode ser analisado." msgid "The keyword-only parameter *aware_datetime* has been added." -msgstr "" +msgstr "Добавлен параметр только для ключевых слов *aware_datetime*." msgid "" "Load a plist from a bytes or string object. See :func:`load` for an " "explanation of the keyword arguments." msgstr "" +"Загрузите plist из байтового или строкового объекта. См. :func:`load` для " +"объяснения аргументов ключевого слова." msgid "*data* can be a string when *fmt* equals :data:`FMT_XML`." -msgstr "" +msgstr "*data* может быть строкой, если *fmt* равно :data:`FMT_XML`." msgid "" "Write *value* to a plist file. *fp* should be a writable, binary file object." msgstr "" +"Escreve *value* em um arquivo plist. *fp* deve ser um objeto arquivo binário " +"gravável." msgid "" "The *fmt* argument specifies the format of the plist file and can be one of " "the following values:" msgstr "" +"Аргумент *fmt* визначає формат файлу plist і може бути одним із таких " +"значень:" msgid ":data:`FMT_XML`: XML formatted plist file" -msgstr "" +msgstr ":data:`FMT_XML`: Plist-файл у форматі XML" msgid ":data:`FMT_BINARY`: Binary formatted plist file" -msgstr "" +msgstr ":data:`FMT_BINARY`: файл plist у двійковому форматі" msgid "" "When *sort_keys* is true (the default) the keys for dictionaries will be " "written to the plist in sorted order, otherwise they will be written in the " "iteration order of the dictionary." msgstr "" +"Якщо *sort_keys* має значення true (за замовчуванням), ключі для словників " +"будуть записані до plist у відсортованому порядку, інакше вони будуть " +"записані в порядку ітерацій словника." msgid "" "When *skipkeys* is false (the default) the function raises :exc:`TypeError` " "when a key of a dictionary is not a string, otherwise such keys are skipped." msgstr "" +"Якщо *skipkeys* має значення false (за замовчуванням), функція викликає :exc:" +"`TypeError`, коли ключ словника не є рядком, інакше такі ключі пропускаються." msgid "" "When *aware_datetime* is true and any field with type ``datetime.datetime`` " "is set as an :ref:`aware object `, it will convert to " "UTC timezone before writing it." msgstr "" +"Когда *aware_datetime* имеет значение true и любое поле с типом ``datetime." +"datetime`` установлено как :ref:`aware object `, перед " +"его записью оно преобразуется в часовой пояс UTC." msgid "" "A :exc:`TypeError` will be raised if the object is of an unsupported type or " "a container that contains objects of unsupported types." msgstr "" +"Якщо тип об’єкта не підтримується або контейнер містить об’єкти " +"непідтримуваних типів, виникне :exc:`TypeError`." msgid "" "An :exc:`OverflowError` will be raised for integer values that cannot be " "represented in (binary) plist files." msgstr "" +"Помилка :exc:`OverflowError` буде викликана для цілих значень, які не можуть " +"бути представлені в (бінарних) файлах plist." msgid "" "Return *value* as a plist-formatted bytes object. See the documentation for :" "func:`dump` for an explanation of the keyword arguments of this function." msgstr "" +"Повертає *значення* як об’єкт bytes у форматі plist. Перегляньте " +"документацію для :func:`dump` для пояснення ключових аргументів цієї функції." msgid "The following classes are available:" -msgstr "" +msgstr "Доступні такі класи:" msgid "" "Wraps an :class:`int`. This is used when reading or writing NSKeyedArchiver " "encoded data, which contains UID (see PList manual)." msgstr "" +"Обгортає :class:`int`. Це використовується під час читання або запису даних, " +"закодованих NSKeyedArchiver, які містять UID (див. посібник PList)." msgid "Int value of the UID. It must be in the range ``0 <= data < 2**64``." -msgstr "" +msgstr "Valor inteiro do UID. Deve estar no intervalo ``0 <= data < 2**64``." msgid "The following constants are available:" -msgstr "" +msgstr "Доступні такі константи:" msgid "The XML format for plist files." -msgstr "" +msgstr "Формат XML для файлів plist." msgid "The binary format for plist files" -msgstr "" +msgstr "Двійковий формат для файлів plist" msgid "The module defines the following exceptions:" -msgstr "" +msgstr "O módulo define as seguintes exceções:" msgid "Raised when a file cannot be parsed." -msgstr "" +msgstr "Levantada quando um arquivo não puder ser analisado." msgid "Examples" msgstr "Przykłady" msgid "Generating a plist::" -msgstr "" +msgstr "Створення plist::" msgid "" "import datetime\n" @@ -230,9 +282,28 @@ msgid "" ")\n" "print(plistlib.dumps(pl).decode())" msgstr "" +"import datetime\n" +"import plistlib\n" +"\n" +"pl = dict(\n" +" aString = \"Doodah\",\n" +" aList = [\"A\", \"B\", 12, 32.1, [1, 2, 3]],\n" +" aFloat = 0.1,\n" +" anInt = 728,\n" +" aDict = dict(\n" +" anotherString = \"\",\n" +" aThirdString = \"M\\xe4ssig, Ma\\xdf\",\n" +" aTrueValue = True,\n" +" aFalseValue = False,\n" +" ),\n" +" someData = b\"\",\n" +" someMoreData = b\"\" * 10,\n" +" aDate = datetime.datetime.now()\n" +")\n" +"print(plistlib.dumps(pl).decode())" msgid "Parsing a plist::" -msgstr "" +msgstr "Розбір plist::" msgid "" "import plistlib\n" @@ -246,12 +317,22 @@ msgid "" "pl = plistlib.loads(plist)\n" "print(pl[\"foo\"])" msgstr "" +"import plistlib\n" +"\n" +"plist = b\"\"\"\n" +"\n" +" foo\n" +" bar\n" +"\n" +"\"\"\"\n" +"pl = plistlib.loads(plist)\n" +"print(pl[\"foo\"])" msgid "plist" -msgstr "" +msgstr "plist" msgid "file" msgstr "plik" msgid "property list" -msgstr "" +msgstr "список параметров" diff --git a/library/poplib.po b/library/poplib.po index abc16e39b8..c3f4356cba 100644 --- a/library/poplib.po +++ b/library/poplib.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\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: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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,10 +24,10 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!poplib` --- POP3 protocol client" -msgstr "" +msgstr ":mod:`!poplib` --- Клиент протокола POP3" 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 " @@ -37,12 +37,20 @@ msgid "" "introduced in :rfc:`2595` to enable encrypted communication on an already " "established connection." msgstr "" +"Цей модуль визначає клас :class:`POP3`, який інкапсулює підключення до " +"сервера POP3 і реалізує протокол, як визначено в :rfc:`1939`. Клас :class:" +"`POP3` підтримує як мінімальний, так і необов’язковий набори команд з :rfc:" +"`1939`. Клас :class:`POP3` також підтримує команду ``STLS``, представлену в :" +"rfc:`2595`, щоб увімкнути зашифрований зв’язок у вже встановленому з’єднанні." msgid "" "Additionally, this module provides a class :class:`POP3_SSL`, which provides " "support for connecting to POP3 servers that use SSL as an underlying " "protocol layer." msgstr "" +"Крім того, цей модуль надає клас :class:`POP3_SSL`, який забезпечує " +"підтримку підключення до серверів POP3, які використовують SSL як базовий " +"рівень протоколу." msgid "" "Note that POP3, though widely supported, is obsolescent. The implementation " @@ -50,6 +58,10 @@ msgid "" "mailserver supports IMAP, you would be better off using the :class:`imaplib." "IMAP4` class, as IMAP servers tend to be better implemented." msgstr "" +"Зауважте, що POP3, хоча й широко підтримується, застарів. Якість " +"впровадження POP3-серверів дуже різна, і дуже багато з них досить погані. " +"Якщо ваш поштовий сервер підтримує IMAP, краще використовувати клас :class:" +"`imaplib.IMAP4`, оскільки сервери IMAP краще реалізовані." msgid "Availability" msgstr "Dostępność" @@ -58,9 +70,11 @@ msgid "" "This module does not work or is not available on WebAssembly. See :ref:`wasm-" "availability` for more information." msgstr "" +"Этот модуль не работает или недоступен в WebAssembly. См. :ref:`wasm-" +"availability` для получения дополнительной информации." msgid "The :mod:`poplib` module provides two classes:" -msgstr "" +msgstr "Модуль :mod:`poplib` надає два класи:" msgid "" "This class implements the actual POP3 protocol. The connection is created " @@ -69,22 +83,34 @@ msgid "" "seconds for the connection attempt (if not specified, the global default " "timeout setting will be used)." msgstr "" +"Цей клас реалізує фактичний протокол POP3. Підключення створюється під час " +"ініціалізації екземпляра. Якщо *порт* не вказано, використовується " +"стандартний порт POP3 (110). Необов’язковий параметр *timeout* визначає час " +"очікування в секундах для спроби підключення (якщо не вказано, буде " +"використано глобальне налаштування часу очікування за замовчуванням)." msgid "" "Raises an :ref:`auditing event ` ``poplib.connect`` with arguments " "``self``, ``host``, ``port``." msgstr "" +"Викликає :ref:`подію аудиту ` ``poplib.connect`` з аргументами " +"``self``, ``host``, ``port``." msgid "" "All commands will raise an :ref:`auditing event ` ``poplib." "putline`` with arguments ``self`` and ``line``, where ``line`` is the bytes " "about to be sent to the remote host." msgstr "" +"Усі команди викличуть :ref:`подію аудиту ` ``poplib.putline`` з " +"аргументами ``self`` і ``line``, де ``line`` — це байти, які мають бути " +"надіслані на віддалений пристрій хост." msgid "" "If the *timeout* parameter is set to be zero, it will raise a :class:" "`ValueError` to prevent the creation of a non-blocking socket." msgstr "" +"Якщо параметр *timeout* дорівнює нулю, це викличе :class:`ValueError`, щоб " +"запобігти створенню неблокуючого сокета." msgid "" "This is a subclass of :class:`POP3` that connects to the server over an SSL " @@ -95,54 +121,74 @@ msgid "" "single (potentially long-lived) structure. Please read :ref:`ssl-security` " "for best practices." msgstr "" +"Це підклас :class:`POP3`, який підключається до сервера через сокет, " +"зашифрований SSL. Якщо *порт* не вказано, 995, використовується стандартний " +"порт POP3 через SSL. *timeout* працює як у конструкторі :class:`POP3`. " +"*context* — це необов’язковий об’єкт :class:`ssl.SSLContext`, який дозволяє " +"об’єднувати параметри конфігурації SSL, сертифікати та приватні ключі в " +"єдину (потенційно довговічну) структуру. Будь ласка, прочитайте :ref:`ssl-" +"security`, щоб дізнатися про найкращі практики." msgid "*context* parameter added." -msgstr "" +msgstr "Додано параметр *context*." msgid "" "The class now supports hostname check with :attr:`ssl.SSLContext." "check_hostname` and *Server Name Indication* (see :const:`ssl.HAS_SNI`)." msgstr "" +"Класс теперь поддерживает проверку имени хоста с помощью :attr:`ssl." +"SSLContext.check_hostname` и *Индикации имени сервера* (см. :const:`ssl." +"HAS_SNI`)." msgid "The deprecated *keyfile* and *certfile* parameters have been removed." -msgstr "" +msgstr "Устаревшие параметры *keyfile* и *certfile* были удалены." msgid "One exception is defined as an attribute of the :mod:`poplib` module:" -msgstr "" +msgstr "Один виняток визначено як атрибут модуля :mod:`poplib`:" msgid "" "Exception raised on any errors from this module (errors from :mod:`socket` " "module are not caught). The reason for the exception is passed to the " "constructor as a string." msgstr "" +"Виняток виникає при будь-яких помилках із цього модуля (помилки з модуля :" +"mod:`socket` не переймаються). Причина винятку передається конструктору у " +"вигляді рядка." msgid "Module :mod:`imaplib`" -msgstr "" +msgstr "Модуль :mod:`imaplib`" msgid "The standard Python IMAP module." -msgstr "" +msgstr "Стандартний модуль IMAP Python." msgid "" "`Frequently Asked Questions About Fetchmail `_" msgstr "" +"`Часті запитання про Fetchmail `_" msgid "" "The FAQ for the :program:`fetchmail` POP/IMAP client collects information on " "POP3 server variations and RFC noncompliance that may be useful if you need " "to write an application based on the POP protocol." msgstr "" +"Поширені запитання щодо POP/IMAP-клієнта :program:`fetchmail` збирають " +"інформацію про варіанти POP3-сервера та невідповідність RFC, що може бути " +"корисним, якщо вам потрібно написати програму на основі протоколу POP." msgid "POP3 Objects" -msgstr "" +msgstr "Об'єкти POP3" msgid "" "All POP3 commands are represented by methods of the same name, in lowercase; " "most return the response text sent by the server." msgstr "" +"Все команды POP3 представлены одноименными методами, написанными строчными " +"буквами; большинство из них возвращают текст ответа, отправленный сервером." msgid "A :class:`POP3` instance has the following methods:" -msgstr "" +msgstr "Экземпляр :class:`POP3` имеет следующие методы:" msgid "" "Set the instance's debugging level. This controls the amount of debugging " @@ -152,66 +198,97 @@ msgid "" "debugging output, logging each line sent and received on the control " "connection." msgstr "" +"Установіть рівень налагодження примірника. Це контролює кількість " +"надрукованих виводів налагодження. Значення за замовчуванням, ``0``, не " +"створює вихідних даних для налагодження. Значення ``1`` створює помірну " +"кількість налагоджувальних виводів, як правило, один рядок на запит. " +"Значення ``2`` або вище створює максимальну кількість налагоджувальних " +"виводів, реєструючи кожен рядок, надісланий і отриманий через контрольне " +"з’єднання." msgid "Returns the greeting string sent by the POP3 server." -msgstr "" +msgstr "Повертає рядок привітання, надісланий сервером POP3." msgid "" "Query the server's capabilities as specified in :rfc:`2449`. Returns a " "dictionary in the form ``{'name': ['param'...]}``." msgstr "" +"Запитуйте можливості сервера, як зазначено в :rfc:`2449`. Повертає словник у " +"формі ``{'name': ['param'...]}``." msgid "" "Send user command, response should indicate that a password is required." msgstr "" +"Надіслати команду користувача, відповідь має вказувати, що потрібен пароль." msgid "" "Send password, response includes message count and mailbox size. Note: the " "mailbox on the server is locked until :meth:`~POP3.quit` is called." msgstr "" +"Отправьте пароль, ответ включает количество сообщений и размер почтового " +"ящика. Примечание: почтовый ящик на сервере заблокирован до тех пор, пока не " +"будет вызван :meth:`~POP3.quit`." msgid "Use the more secure APOP authentication to log into the POP3 server." msgstr "" +"Використовуйте більш безпечну автентифікацію APOP для входу на сервер POP3." msgid "" "Use RPOP authentication (similar to UNIX r-commands) to log into POP3 server." msgstr "" +"Використовуйте аутентифікацію RPOP (подібно до r-команд UNIX), щоб увійти на " +"сервер POP3." msgid "" "Get mailbox status. The result is a tuple of 2 integers: ``(message count, " "mailbox size)``." msgstr "" +"Отримати статус поштової скриньки. Результатом є кортеж із 2 цілих чисел: " +"``(кількість повідомлень, розмір поштової скриньки)``." msgid "" "Request message list, result is in the form ``(response, ['mesg_num " "octets', ...], octets)``. If *which* is set, it is the message to list." msgstr "" +"Список повідомлень запиту, результат у формі ``(відповідь, ['mesg_num " +"octets', ...], octets)``. Якщо встановлено *which*, це повідомлення для " +"списку." msgid "" "Retrieve whole message number *which*, and set its seen flag. Result is in " "form ``(response, ['line', ...], octets)``." msgstr "" +"Отримайте повний номер повідомлення *which* і встановіть для нього позначку " +"\"переглянуто\". Результат має форму ``(відповідь, ['рядок', ...], октети)``." msgid "" "Flag message number *which* for deletion. On most servers deletions are not " "actually performed until QUIT (the major exception is Eudora QPOP, which " "deliberately violates the RFCs by doing pending deletes on any disconnect)." msgstr "" +"Позначити номер повідомлення *яке* для видалення. На більшості серверів " +"видалення фактично не виконується, доки не буде вимкнено (основним винятком " +"є Eudora QPOP, яка навмисно порушує RFC, виконуючи очікувані видалення під " +"час будь-якого відключення)." msgid "Remove any deletion marks for the mailbox." -msgstr "" +msgstr "Видаліть усі позначки видалення з поштової скриньки." msgid "Do nothing. Might be used as a keep-alive." -msgstr "" +msgstr "Нічого не робити. Може використовуватися як засіб підтримки життя." msgid "Signoff: commit changes, unlock mailbox, drop connection." msgstr "" +"Підпис: внести зміни, розблокувати поштову скриньку, розірвати з’єднання." msgid "" "Retrieves the message header plus *howmuch* lines of the message after the " "header of message number *which*. Result is in form ``(response, " "['line', ...], octets)``." msgstr "" +"Отримує заголовок повідомлення плюс *скільки* рядків повідомлення після " +"заголовка номера повідомлення *which*. Результат має форму ``(відповідь, " +"['рядок', ...], октети)``." msgid "" "The POP3 TOP command this method uses, unlike the RETR command, doesn't set " @@ -219,22 +296,34 @@ msgid "" "and is frequently broken in off-brand servers. Test this method by hand " "against the POP3 servers you will use before trusting it." msgstr "" +"Команда POP3 TOP, яку використовує цей метод, на відміну від команди RETR, " +"не встановлює прапор перегляду повідомлення; на жаль, TOP погано вказано в " +"RFC і часто порушується на сторонніх серверах. Перевірте цей метод вручну на " +"серверах POP3, які ви використовуватимете, перш ніж довіряти йому." msgid "" "Return message digest (unique id) list. If *which* is specified, result " "contains the unique id for that message in the form ``'response mesgnum " "uid``, otherwise result is list ``(response, ['mesgnum uid', ...], octets)``." msgstr "" +"Список дайджестів зворотного повідомлення (унікальний ідентифікатор). Якщо " +"вказано *which*, результат містить унікальний ідентифікатор для цього " +"повідомлення у формі ``'response mesgnum uid``, інакше результатом є список " +"``(response, ['mesgnum uid', ...], octets)``." msgid "" "Try to switch to UTF-8 mode. Returns the server response if successful, " "raises :class:`error_proto` if not. Specified in :RFC:`6856`." msgstr "" +"Спробуйте перейти в режим UTF-8. Повертає відповідь сервера в разі успіху, " +"викликає :class:`error_proto`, якщо ні. Вказано в :RFC:`6856`." msgid "" "Start a TLS session on the active connection as specified in :rfc:`2595`. " "This is only allowed before user authentication" msgstr "" +"Розпочніть сеанс TLS на активному з’єднанні, як зазначено в :rfc:`2595`. Це " +"дозволено лише перед автентифікацією користувача" msgid "" "*context* parameter is a :class:`ssl.SSLContext` object which allows " @@ -242,24 +331,34 @@ msgid "" "single (potentially long-lived) structure. Please read :ref:`ssl-security` " "for best practices." msgstr "" +"Параметр *context* — це об’єкт :class:`ssl.SSLContext`, який дозволяє " +"об’єднувати параметри конфігурації SSL, сертифікати та приватні ключі в " +"єдину (потенційно довговічну) структуру. Будь ласка, прочитайте :ref:`ssl-" +"security`, щоб дізнатися про найкращі практики." msgid "" "This method supports hostname checking via :attr:`ssl.SSLContext." "check_hostname` and *Server Name Indication* (see :const:`ssl.HAS_SNI`)." msgstr "" +"Этот метод поддерживает проверку имени хоста через :attr:`ssl.SSLContext." +"check_hostname` и *Индикацию имени сервера* (см. :const:`ssl.HAS_SNI`)." msgid "" "Instances of :class:`POP3_SSL` have no additional methods. The interface of " "this subclass is identical to its parent." msgstr "" +"Екземпляри :class:`POP3_SSL` не мають додаткових методів. Інтерфейс цього " +"підкласу ідентичний його батьківському." msgid "POP3 Example" -msgstr "" +msgstr "Приклад POP3" msgid "" "Here is a minimal example (without error checking) that opens a mailbox and " "retrieves and prints all messages::" msgstr "" +"Ось мінімальний приклад (без перевірки помилок), який відкриває поштову " +"скриньку, отримує та друкує всі повідомлення:" msgid "" "import getpass, poplib\n" @@ -272,14 +371,25 @@ msgid "" " for j in M.retr(i+1)[1]:\n" " print(j)" msgstr "" +"import getpass, poplib\n" +"\n" +"M = poplib.POP3('localhost')\n" +"M.user(getpass.getuser())\n" +"M.pass_(getpass.getpass())\n" +"numMessages = len(M.list()[1])\n" +"for i in range(numMessages):\n" +" for j in M.retr(i+1)[1]:\n" +" print(j)" msgid "" "At the end of the module, there is a test section that contains a more " "extensive example of usage." msgstr "" +"Наприкінці модуля є тестовий розділ, який містить докладніший приклад " +"використання." msgid "POP3" -msgstr "" +msgstr "POP3" msgid "protocol" -msgstr "" +msgstr "протокол" diff --git a/library/posix.po b/library/posix.po index 44b7740e29..1f0c23f695 100644 --- a/library/posix.po +++ b/library/posix.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2024 -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\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: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/library/pprint.po b/library/pprint.po index c51156b9f4..de7c1eb830 100644 --- a/library/pprint.po +++ b/library/pprint.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Maciej Olko , 2024 -# Wiktor Matuszewski , 2024 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\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: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -27,10 +24,10 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!pprint` --- Data pretty printer" -msgstr "" +msgstr ":mod:`!pprint` --- Принтер данных" 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 " @@ -40,21 +37,31 @@ msgid "" "be the case if objects such as files, sockets or classes are included, as " "well as many other objects which are not representable as Python literals." msgstr "" +"Модуль :mod:`pprint` надає можливість \"виводити\" довільні структури даних " +"Python у формі, яку можна використовувати як вхідні дані для інтерпретатора. " +"Якщо відформатовані структури містять об’єкти, які не є фундаментальними " +"типами Python, представлення може не завантажуватися. Це може статися, якщо " +"включено такі об’єкти, як файли, сокети чи класи, а також багато інших " +"об’єктів, які не можна представити як літерали Python." msgid "" "The formatted representation keeps objects on a single line if it can, and " "breaks them onto multiple lines if they don't fit within the allowed width, " "adjustable by the *width* parameter defaulting to 80 characters." msgstr "" +"Форматированное представление удерживает объекты на одной строке, если это " +"возможно, и разбивает их на несколько строк, если они не умещаются в " +"допустимую ширину, регулируемую параметром *width*, значение которого по " +"умолчанию составляет 80 символов." msgid "Dictionaries are sorted by key before the display is computed." -msgstr "" +msgstr "Перед обчисленням відображення словники сортуються за ключем." msgid "Added support for pretty-printing :class:`types.SimpleNamespace`." -msgstr "" +msgstr "Додано підтримку красивого друку :class:`types.SimpleNamespace`." msgid "Added support for pretty-printing :class:`dataclasses.dataclass`." -msgstr "" +msgstr "Додано підтримку красивого друку :class:`dataclasses.dataclass`." msgid "Functions" msgstr "Zadania" @@ -65,26 +72,36 @@ msgid "" "`print` function for inspecting values. Tip: you can reassign ``print = " "pprint.pp`` for use within a scope." msgstr "" +"Печатает форматированное представление *object*, за которым следует новая " +"строка. Эту функцию можно использовать в интерактивном интерпретаторе вместо " +"функции :func:`print` для проверки значений. Совет: вы можете переназначить " +"print = pprint.pp для использования в пределах области видимости." msgid "Parameters" msgstr "parametry" msgid "The object to be printed." -msgstr "" +msgstr "Объект для печати." msgid "" "A file-like object to which the output will be written by calling its :meth:" "`!write` method. If ``None`` (the default), :data:`sys.stdout` is used." msgstr "" +"Файлоподобный объект, в который будут записываться выходные данные путем " +"вызова его метода :meth:`!write`. Если None (по умолчанию), используется :" +"data:`sys.stdout`." msgid "The amount of indentation added for each nesting level." -msgstr "" +msgstr "Количество отступов, добавляемых для каждого уровня вложенности." msgid "" "The desired maximum number of characters per line in the output. If a " "structure cannot be formatted within the width constraint, a best effort " "will be made." msgstr "" +"Желаемое максимальное количество символов в строке вывода. Если структуру " +"невозможно отформатировать в пределах ограничения ширины, будут предприняты " +"все усилия." msgid "" "The number of nesting levels which may be printed. If the data structure " @@ -92,6 +109,10 @@ msgid "" "If ``None`` (the default), there is no constraint on the depth of the " "objects being formatted." msgstr "" +"Количество уровней вложенности, которые можно распечатать. Если печатаемая " +"структура данных слишком глубока, следующий содержащийся уровень заменяется " +"на ``...``. Если «Нет» (по умолчанию), нет ограничений на глубину " +"форматируемых объектов." msgid "" "Control the way long :term:`sequences ` are formatted. If " @@ -99,22 +120,35 @@ msgid "" "separate line, otherwise as many items as will fit within the *width* will " "be formatted on each output line." msgstr "" +"Управляйте способом форматирования длинных :term:`последовательностей " +"`. Если значение «False» (по умолчанию), каждый элемент " +"последовательности будет отформатирован в отдельной строке, в противном " +"случае в каждой выходной строке будет отформатировано столько элементов, " +"сколько поместится в пределах *ширины*." msgid "" "If ``True``, dictionaries will be formatted with their keys sorted, " "otherwise they will be displayed in insertion order (the default)." msgstr "" +"Если ``True``, словари будут отформатированы с отсортированными ключами, в " +"противном случае они будут отображаться в порядке вставки (по умолчанию)." msgid "" "If ``True``, integers will be formatted with the ``_`` character for a " "thousands separator, otherwise underscores are not displayed (the default)." msgstr "" +"Если ``True``, целые числа будут отформатированы с использованием символа " +"``_`` для разделителя тысяч, в противном случае подчеркивания не " +"отображаются (по умолчанию)." msgid "" "Alias for :func:`~pprint.pp` with *sort_dicts* set to ``True`` by default, " "which would automatically sort the dictionaries' keys, you might want to " "use :func:`~pprint.pp` instead where it is ``False`` by default." msgstr "" +"Псевдоним для :func:`~pprint.pp` с *sort_dicts*, установленным в ``True`` по " +"умолчанию, что автоматически сортирует ключи словарей, вместо этого вы " +"можете использовать :func:`~pprint.pp`, где по умолчанию это ``False``." msgid "" "Return the formatted representation of *object* as a string. *indent*, " @@ -122,18 +156,29 @@ msgid "" "passed to the :class:`PrettyPrinter` constructor as formatting parameters " "and their meanings are as described in the documentation above." msgstr "" +"Верните форматированное представление *object* в виде строки. *indent*, " +"*width*, *length*, *compact*, *sort_dicts* и *underscore_numbers* передаются " +"конструктору :class:`PrettyPrinter` в качестве параметров форматирования, и " +"их значения описаны в документации выше." msgid "" "Determine if the formatted representation of *object* is \"readable\", or " "can be used to reconstruct the value using :func:`eval`. This always " "returns ``False`` for recursive objects." msgstr "" +"Визначте, чи є форматоване представлення *об’єкта* \"читабельним\" або його " +"можна використати для реконструкції значення за допомогою :func:`eval`. Це " +"завжди повертає ``False`` для рекурсивних об’єктів." msgid "" "Determine if *object* requires a recursive representation. This function is " "subject to the same limitations as noted in :func:`saferepr` below and may " "raise an :exc:`RecursionError` if it fails to detect a recursive object." msgstr "" +"Определите, требует ли *object* рекурсивное представление. На эту функцию " +"распространяются те же ограничения, которые указаны в :func:`saferepr` ниже, " +"и она может вызвать :exc:`RecursionError`, если ей не удастся обнаружить " +"рекурсивный объект." msgid "" "Return a string representation of *object*, protected against recursion in " @@ -143,42 +188,57 @@ msgid "" "recursive reference will be represented as ````. The representation is not otherwise formatted." msgstr "" +"Возвращает строковое представление *object*, защищенное от рекурсии в " +"некоторых распространенных структурах данных, а именно экземплярах :class:" +"`dict`, :class:`list` и :class:`tuple` или подклассах, чей ``__repr__`` " +"имеет не было переопределено. Если представление объекта предоставляет " +"рекурсивную запись, рекурсивная ссылка будет представлена ​​как ````. Представление не форматируется иначе." msgid "PrettyPrinter Objects" -msgstr "" +msgstr "Об’єкти PrettyPrinter" msgid "Construct a :class:`PrettyPrinter` instance." -msgstr "" +msgstr "Создайте экземпляр :class:`PrettyPrinter`." msgid "" "Arguments have the same meaning as for :func:`~pprint.pp`. Note that they " "are in a different order, and that *sort_dicts* defaults to ``True``." msgstr "" +"Аргументы имеют то же значение, что и для :func:`~pprint.pp`. Обратите " +"внимание, что они расположены в другом порядке и что *sort_dicts* по " +"умолчанию имеет значение ``True``." msgid "Added the *compact* parameter." -msgstr "" +msgstr "Додано параметр *compact*." msgid "Added the *sort_dicts* parameter." -msgstr "" +msgstr "Додано параметр *sort_dicts*." msgid "Added the *underscore_numbers* parameter." -msgstr "" +msgstr "Додано параметр *underscore_numbers*." msgid "No longer attempts to write to :data:`!sys.stdout` if it is ``None``." msgstr "" +"Больше не предпринимаются попытки записи в :data:`!sys.stdout`, если он " +"имеет значение ``None``." msgid ":class:`PrettyPrinter` instances have the following methods:" -msgstr "" +msgstr "Екземпляри :class:`PrettyPrinter` мають такі методи:" msgid "" "Return the formatted representation of *object*. This takes into account " "the options passed to the :class:`PrettyPrinter` constructor." msgstr "" +"Повертає форматоване представлення *об’єкта*. Це враховує параметри, " +"передані конструктору :class:`PrettyPrinter`." msgid "" "Print the formatted representation of *object* on the configured stream, " "followed by a newline." msgstr "" +"Надрукуйте форматоване представлення *об’єкта* у налаштованому потоці, а " +"потім новий рядок." msgid "" "The following methods provide the implementations for the corresponding " @@ -186,6 +246,9 @@ msgid "" "more efficient since new :class:`PrettyPrinter` objects don't need to be " "created." msgstr "" +"Наступні методи забезпечують реалізації для відповідних однойменних функцій. " +"Використання цих методів для екземпляра є трохи ефективнішим, оскільки не " +"потрібно створювати нові об’єкти :class:`PrettyPrinter`." msgid "" "Determine if the formatted representation of the object is \"readable,\" or " @@ -194,15 +257,23 @@ msgid "" "class:`PrettyPrinter` is set and the object is deeper than allowed, this " "returns ``False``." msgstr "" +"Визначте, чи форматоване представлення об’єкта є \"читабельним\" чи його " +"можна використати для реконструкції значення за допомогою :func:`eval`. " +"Зауважте, що це повертає ``False`` для рекурсивних об’єктів. Якщо " +"встановлено параметр *depth* :class:`PrettyPrinter` і об’єкт глибше ніж " +"дозволено, повертається ``False``." msgid "Determine if the object requires a recursive representation." -msgstr "" +msgstr "Визначте, чи вимагає об’єкт рекурсивне представлення." msgid "" "This method is provided as a hook to allow subclasses to modify the way " "objects are converted to strings. The default implementation uses the " "internals of the :func:`saferepr` implementation." msgstr "" +"Цей метод надається як хук, щоб дозволити підкласам змінювати спосіб " +"перетворення об’єктів на рядки. Стандартна реалізація використовує внутрішні " +"елементи реалізації :func:`saferepr`." msgid "" "Returns three values: the formatted version of *object* as a string, a flag " @@ -220,6 +291,20 @@ msgid "" "the current level; recursive calls should be passed a value less than that " "of the current call." msgstr "" +"Повертає три значення: відформатовану версію *об’єкта* у вигляді рядка, " +"позначку, яка вказує, чи читається результат, і позначку, яка вказує, чи " +"було виявлено рекурсію. Перший аргумент - це об'єкт, який потрібно " +"представити. Другий – це словник, який містить :func:`id` об’єктів, які є " +"частиною поточного контексту презентації (прямі та непрямі контейнери для " +"*object*, які впливають на презентацію) як ключі; якщо необхідно представити " +"об’єкт, який уже представлено в *контексті*, третє значення, що " +"повертається, має бути ``True``. Рекурсивні виклики методу :meth:`.format` " +"повинні додати додаткові записи для контейнерів до цього словника. Третій " +"аргумент, *maxlevels*, дає необхідний ліміт рекурсії; це буде ``0``, якщо " +"запитуваного обмеження немає. Цей аргумент слід передавати в рекурсивному " +"вигляді без змін. Четвертий аргумент, *level*, дає поточний рівень; " +"рекурсивним викликам має передаватися значення, менше значення поточного " +"виклику." msgid "Example" msgstr "Przykład" @@ -229,6 +314,9 @@ msgid "" "parameters, let's fetch information about a project from `PyPI `_::" msgstr "" +"Чтобы продемонстрировать несколько вариантов использования функции :func:" +"`~pprint.pp` и ее параметров, давайте получим информацию о проекте из `PyPI " +"`_::" msgid "" ">>> import json\n" @@ -237,9 +325,14 @@ msgid "" ">>> with urlopen('https://pypi.org/pypi/sampleproject/1.2.0/json') as resp:\n" "... project_info = json.load(resp)['info']" msgstr "" +">>> import json\n" +">>> import pprint\n" +">>> from urllib.request import urlopen\n" +">>> with urlopen('https://pypi.org/pypi/sampleproject/1.2.0/json') as resp:\n" +"... project_info = json.load(resp)['info']" msgid "In its basic form, :func:`~pprint.pp` shows the whole object::" -msgstr "" +msgstr "В своей базовой форме :func:`~pprint.pp` показывает весь объект::" msgid "" ">>> pprint.pp(project_info)\n" @@ -299,11 +392,69 @@ msgid "" " 'summary': 'A sample Python project',\n" " 'version': '1.2.0'}" msgstr "" +">>> pprint.pp(project_info)\n" +"{'author': 'The Python Packaging Authority',\n" +" 'author_email': 'pypa-dev@googlegroups.com',\n" +" 'bugtrack_url': None,\n" +" 'classifiers': ['Development Status :: 3 - Alpha',\n" +" 'Intended Audience :: Developers',\n" +" 'License :: OSI Approved :: MIT License',\n" +" 'Programming Language :: Python :: 2',\n" +" 'Programming Language :: Python :: 2.6',\n" +" 'Programming Language :: Python :: 2.7',\n" +" 'Programming Language :: Python :: 3',\n" +" 'Programming Language :: Python :: 3.2',\n" +" 'Programming Language :: Python :: 3.3',\n" +" 'Programming Language :: Python :: 3.4',\n" +" 'Topic :: Software Development :: Build Tools'],\n" +" 'description': 'A sample Python project\\n'\n" +" '=======================\\n'\n" +" '\\n'\n" +" 'This is the description file for the project.\\n'\n" +" '\\n'\n" +" 'The file should use UTF-8 encoding and be written using '\n" +" 'ReStructured Text. It\\n'\n" +" 'will be used to generate the project webpage on PyPI, and " +"'\n" +" 'should be written for\\n'\n" +" 'that purpose.\\n'\n" +" '\\n'\n" +" 'Typical contents for this file would include an overview of " +"'\n" +" 'the project, basic\\n'\n" +" 'usage examples, etc. Generally, including the project '\n" +" 'changelog in here is not\\n'\n" +" 'a good idea, although a simple \"What\\'s New\" section for " +"the '\n" +" 'most recent version\\n'\n" +" 'may be appropriate.',\n" +" 'description_content_type': None,\n" +" 'docs_url': None,\n" +" 'download_url': 'UNKNOWN',\n" +" 'downloads': {'last_day': -1, 'last_month': -1, 'last_week': -1},\n" +" 'home_page': 'https://github.com/pypa/sampleproject',\n" +" 'keywords': 'sample setuptools development',\n" +" 'license': 'MIT',\n" +" 'maintainer': None,\n" +" 'maintainer_email': None,\n" +" 'name': 'sampleproject',\n" +" 'package_url': 'https://pypi.org/project/sampleproject/',\n" +" 'platform': 'UNKNOWN',\n" +" 'project_url': 'https://pypi.org/project/sampleproject/',\n" +" 'project_urls': {'Download': 'UNKNOWN',\n" +" 'Homepage': 'https://github.com/pypa/sampleproject'},\n" +" 'release_url': 'https://pypi.org/project/sampleproject/1.2.0/',\n" +" 'requires_dist': None,\n" +" 'requires_python': None,\n" +" 'summary': 'A sample Python project',\n" +" 'version': '1.2.0'}" msgid "" "The result can be limited to a certain *depth* (ellipsis is used for deeper " "contents)::" msgstr "" +"Результат можна обмежити певною *глибиною* (крапка використовується для " +"глибшого вмісту):" msgid "" ">>> pprint.pp(project_info, depth=1)\n" @@ -352,11 +503,58 @@ msgid "" " 'summary': 'A sample Python project',\n" " 'version': '1.2.0'}" msgstr "" +">>> pprint.pp(project_info, depth=1)\n" +"{'author': 'The Python Packaging Authority',\n" +" 'author_email': 'pypa-dev@googlegroups.com',\n" +" 'bugtrack_url': None,\n" +" 'classifiers': [...],\n" +" 'description': 'A sample Python project\\n'\n" +" '=======================\\n'\n" +" '\\n'\n" +" 'This is the description file for the project.\\n'\n" +" '\\n'\n" +" 'The file should use UTF-8 encoding and be written using '\n" +" 'ReStructured Text. It\\n'\n" +" 'will be used to generate the project webpage on PyPI, and " +"'\n" +" 'should be written for\\n'\n" +" 'that purpose.\\n'\n" +" '\\n'\n" +" 'Typical contents for this file would include an overview of " +"'\n" +" 'the project, basic\\n'\n" +" 'usage examples, etc. Generally, including the project '\n" +" 'changelog in here is not\\n'\n" +" 'a good idea, although a simple \"What\\'s New\" section for " +"the '\n" +" 'most recent version\\n'\n" +" 'may be appropriate.',\n" +" 'description_content_type': None,\n" +" 'docs_url': None,\n" +" 'download_url': 'UNKNOWN',\n" +" 'downloads': {...},\n" +" 'home_page': 'https://github.com/pypa/sampleproject',\n" +" 'keywords': 'sample setuptools development',\n" +" 'license': 'MIT',\n" +" 'maintainer': None,\n" +" 'maintainer_email': None,\n" +" 'name': 'sampleproject',\n" +" 'package_url': 'https://pypi.org/project/sampleproject/',\n" +" 'platform': 'UNKNOWN',\n" +" 'project_url': 'https://pypi.org/project/sampleproject/',\n" +" 'project_urls': {...},\n" +" 'release_url': 'https://pypi.org/project/sampleproject/1.2.0/',\n" +" 'requires_dist': None,\n" +" 'requires_python': None,\n" +" 'summary': 'A sample Python project',\n" +" 'version': '1.2.0'}" msgid "" "Additionally, maximum character *width* can be suggested. If a long object " "cannot be split, the specified width will be exceeded::" msgstr "" +"Крім того, можна запропонувати максимальну *ширину* символу. Якщо довгий " +"об’єкт не можна розділити, указана ширина буде перевищена:" msgid "" ">>> pprint.pp(project_info, depth=1, width=60)\n" @@ -405,15 +603,60 @@ msgid "" " 'summary': 'A sample Python project',\n" " 'version': '1.2.0'}" msgstr "" +">>> pprint.pp(project_info, depth=1, width=60)\n" +"{'author': 'The Python Packaging Authority',\n" +" 'author_email': 'pypa-dev@googlegroups.com',\n" +" 'bugtrack_url': None,\n" +" 'classifiers': [...],\n" +" 'description': 'A sample Python project\\n'\n" +" '=======================\\n'\n" +" '\\n'\n" +" 'This is the description file for the '\n" +" 'project.\\n'\n" +" '\\n'\n" +" 'The file should use UTF-8 encoding and be '\n" +" 'written using ReStructured Text. It\\n'\n" +" 'will be used to generate the project '\n" +" 'webpage on PyPI, and should be written '\n" +" 'for\\n'\n" +" 'that purpose.\\n'\n" +" '\\n'\n" +" 'Typical contents for this file would '\n" +" 'include an overview of the project, '\n" +" 'basic\\n'\n" +" 'usage examples, etc. Generally, including '\n" +" 'the project changelog in here is not\\n'\n" +" 'a good idea, although a simple \"What\\'s '\n" +" 'New\" section for the most recent version\\n'\n" +" 'may be appropriate.',\n" +" 'description_content_type': None,\n" +" 'docs_url': None,\n" +" 'download_url': 'UNKNOWN',\n" +" 'downloads': {...},\n" +" 'home_page': 'https://github.com/pypa/sampleproject',\n" +" 'keywords': 'sample setuptools development',\n" +" 'license': 'MIT',\n" +" 'maintainer': None,\n" +" 'maintainer_email': None,\n" +" 'name': 'sampleproject',\n" +" 'package_url': 'https://pypi.org/project/sampleproject/',\n" +" 'platform': 'UNKNOWN',\n" +" 'project_url': 'https://pypi.org/project/sampleproject/',\n" +" 'project_urls': {...},\n" +" 'release_url': 'https://pypi.org/project/sampleproject/1.2.0/',\n" +" 'requires_dist': None,\n" +" 'requires_python': None,\n" +" 'summary': 'A sample Python project',\n" +" 'version': '1.2.0'}" msgid "built-in function" msgstr "funkcja wbudowana" msgid "eval" -msgstr "" +msgstr "eval" msgid "..." msgstr "..." msgid "placeholder" -msgstr "" +msgstr "placeholder" diff --git a/library/profile.po b/library/profile.po index 2f7a83b834..6a6b6b4853 100644 --- a/library/profile.po +++ b/library/profile.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-03-07 14:18+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -25,13 +24,13 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid "The Python Profilers" -msgstr "" +msgstr "Профайлери Python" 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 "" +msgstr "Знайомство з профайлерами" msgid "" ":mod:`cProfile` and :mod:`profile` provide :dfn:`deterministic profiling` of " @@ -39,11 +38,17 @@ msgid "" "often and for how long various parts of the program executed. These " "statistics can be formatted into reports via the :mod:`pstats` module." msgstr "" +":mod:`cProfile` і :mod:`profile` забезпечують :dfn:`детермінізоване " +"профілювання` програм Python. :dfn:`profile` — це набір статистичних даних, " +"який описує, як часто та як довго виконуються різні частини програми. Цю " +"статистику можна форматувати у звіти за допомогою модуля :mod:`pstats`." msgid "" "The Python standard library provides two different implementations of the " "same profiling interface:" msgstr "" +"Стандартна бібліотека Python надає дві різні реалізації одного інтерфейсу " +"профілювання:" msgid "" ":mod:`cProfile` is recommended for most users; it's a C extension with " @@ -51,6 +56,10 @@ msgid "" "programs. Based on :mod:`lsprof`, contributed by Brett Rosen and Ted " "Czotter." msgstr "" +":mod:`cProfile` рекомендується для більшості користувачів; це розширення C " +"із розумними накладними витратами, що робить його придатним для профілювання " +"довгострокових програм. На основі :mod:`lsprof`, внесли Бретт Розен і Тед " +"Чоттер." msgid "" ":mod:`profile`, a pure Python module whose interface is imitated by :mod:" @@ -58,6 +67,10 @@ msgid "" "you're trying to extend the profiler in some way, the task might be easier " "with this module. Originally designed and written by Jim Roskind." msgstr "" +":mod:`profile`, чистий модуль Python, інтерфейс якого імітується :mod:" +"`cProfile`, але який додає значні накладні витрати на профільовані програми. " +"Якщо ви намагаєтеся якимось чином розширити профайлер, завдання може бути " +"легшим із цим модулем. Спочатку розроблений і написаний Джимом Роскіндом." msgid "" "The profiler modules are designed to provide an execution profile for a " @@ -67,34 +80,50 @@ msgid "" "for Python code, but not for C-level functions, and so the C code would seem " "faster than any Python one." msgstr "" +"Модулі профайлера призначені для надання профілю виконання для даної " +"програми, а не для порівняльного аналізу (для цього існує :mod:`timeit` для " +"достатньо точних результатів). Це особливо стосується порівняння коду Python " +"із кодом C: профайлери вводять додаткові витрати для коду Python, але не для " +"функцій рівня C, тому код C здається швидшим за будь-який Python." msgid "Instant User's Manual" -msgstr "" +msgstr "Посібник користувача Instant" msgid "" "This section is provided for users that \"don't want to read the manual.\" " "It provides a very brief overview, and allows a user to rapidly perform " "profiling on an existing application." msgstr "" +"Цей розділ призначений для користувачів, які \"не хочуть читати посібник\". " +"Він надає дуже короткий огляд і дозволяє користувачеві швидко виконувати " +"профілювання існуючої програми." msgid "To profile a function that takes a single argument, you can do::" msgstr "" +"Для профілювання функції, яка приймає один аргумент, ви можете зробити:" msgid "" "import cProfile\n" "import re\n" "cProfile.run('re.compile(\"foo|bar\")')" msgstr "" +"import cProfile\n" +"import re\n" +"cProfile.run('re.compile(\"foo|bar\")')" msgid "" "(Use :mod:`profile` instead of :mod:`cProfile` if the latter is not " "available on your system.)" msgstr "" +"(Використовуйте :mod:`profile` замість :mod:`cProfile`, якщо останній " +"недоступний у вашій системі.)" msgid "" "The above action would run :func:`re.compile` and print profile results like " "the following::" msgstr "" +"Наведена вище дія запустить :func:`re.compile` і надрукує результати " +"профілю, як показано нижче:" msgid "" " 214 function calls (207 primitive calls) in 0.002 seconds\n" @@ -111,6 +140,19 @@ msgid "" " 1 0.000 0.000 0.000 0.000 _compiler.py:598(_code)\n" " 1 0.000 0.000 0.000 0.000 _parser.py:435(_parse_sub)" msgstr "" +" 214 function calls (207 primitive calls) in 0.002 seconds\n" +"\n" +"Ordered by: cumulative time\n" +"\n" +"ncalls tottime percall cumtime percall filename:lineno(function)\n" +" 1 0.000 0.000 0.002 0.002 {built-in method builtins.exec}\n" +" 1 0.000 0.000 0.001 0.001 :1()\n" +" 1 0.000 0.000 0.001 0.001 __init__.py:250(compile)\n" +" 1 0.000 0.000 0.001 0.001 __init__.py:289(_compile)\n" +" 1 0.000 0.000 0.000 0.000 _compiler.py:759(compile)\n" +" 1 0.000 0.000 0.000 0.000 _parser.py:937(parse)\n" +" 1 0.000 0.000 0.000 0.000 _compiler.py:598(_code)\n" +" 1 0.000 0.000 0.000 0.000 _parser.py:435(_parse_sub)" msgid "" "The first line indicates that 214 calls were monitored. Of those calls, 207 " @@ -118,43 +160,52 @@ msgid "" "The next line: ``Ordered by: cumulative time`` indicates the output is " "sorted by the ``cumtime`` values. The column headings include:" msgstr "" +"В первой строке указано, что было прослежено 214 звонков. Из этих вызовов " +"207 были :dfn:`примитивными`, что означает, что вызов не был вызван " +"рекурсией. Следующая строка: ``Упорядочено по: совокупному времени`` " +"указывает, что выходные данные отсортированы по значениям ``cumtime``. " +"Заголовки столбцов включают в себя:" msgid "ncalls" -msgstr "" +msgstr "виклики" msgid "for the number of calls." -msgstr "" +msgstr "за кількість дзвінків." msgid "tottime" -msgstr "" +msgstr "tottime" msgid "" "for the total time spent in the given function (and excluding time made in " "calls to sub-functions)" msgstr "" +"для загального часу, витраченого на дану функцію (за винятком часу, " +"витраченого на виклики підфункцій)" msgid "percall" -msgstr "" +msgstr "percall" msgid "is the quotient of ``tottime`` divided by ``ncalls``" -msgstr "" +msgstr "це частка ``tottime``, поділена на ``ncalls``" msgid "cumtime" -msgstr "" +msgstr "cumtime" msgid "" "is the cumulative time spent in this and all subfunctions (from invocation " "till exit). This figure is accurate *even* for recursive functions." msgstr "" +"це сукупний час, витрачений на цю та всі підфункції (від виклику до виходу). " +"Ця цифра точна *навіть* для рекурсивних функцій." msgid "is the quotient of ``cumtime`` divided by primitive calls" -msgstr "" +msgstr "це частка ``cumtime``, поділена на примітивні виклики" msgid "filename:lineno(function)" msgstr "filename:lineno(function)" msgid "provides the respective data of each function" -msgstr "" +msgstr "надає відповідні дані кожної функції" msgid "" "When there are two numbers in the first column (for example ``3/1``), it " @@ -163,55 +214,73 @@ msgid "" "the function does not recurse, these two values are the same, and only the " "single figure is printed." msgstr "" +"Якщо в першому стовпці є два числа (наприклад, ``3/1``), це означає, що " +"функція рекурсувала. Друге значення — це кількість первинних викликів, а " +"перше — загальна кількість викликів. Зауважте, що коли функція не рекурсує, " +"ці два значення однакові, і друкується лише одна цифра." msgid "" "Instead of printing the output at the end of the profile run, you can save " "the results to a file by specifying a filename to the :func:`run` function::" msgstr "" +"Замість того, щоб друкувати вихідні дані в кінці запуску профілю, ви можете " +"зберегти результати у файлі, вказавши ім’я файлу у функції :func:`run`::" msgid "" "import cProfile\n" "import re\n" "cProfile.run('re.compile(\"foo|bar\")', 'restats')" msgstr "" +"import cProfile\n" +"import re\n" +"cProfile.run('re.compile(\"foo|bar\")', 'restats')" msgid "" "The :class:`pstats.Stats` class reads profile results from a file and " "formats them in various ways." msgstr "" +"Клас :class:`pstats.Stats` читає результати профілю з файлу та форматує їх " +"різними способами." msgid "" "The files :mod:`cProfile` and :mod:`profile` can also be invoked as a script " "to profile another script. For example::" msgstr "" +"Файли :mod:`cProfile` і :mod:`profile` також можна викликати як сценарій для " +"профілювання іншого сценарію. Наприклад::" msgid "" "python -m cProfile [-o output_file] [-s sort_order] (-m module | myscript.py)" msgstr "" +"python -m cProfile [-o output_file] [-s sort_order] (-m module | myscript.py)" msgid "Writes the profile results to a file instead of to stdout." -msgstr "" +msgstr "将性能分析结果写入到文件而不是标准输出。" msgid "" "Specifies one of the :func:`~pstats.Stats.sort_stats` sort values to sort " "the output by. This only applies when :option:`-o ` is not " "supplied." msgstr "" +"指定某个 :func:`~pstats.Stats.sort_stats` 排序值以对输出进行排序。 这仅适用于" +"未提供 :option:`-o ` 的情况。" msgid "Specifies that a module is being profiled instead of a script." -msgstr "" +msgstr "指定要分析的是一个模块而不是脚本。" msgid "Added the ``-m`` option to :mod:`cProfile`." -msgstr "" +msgstr "Додано опцію ``-m`` до :mod:`cProfile`." msgid "Added the ``-m`` option to :mod:`profile`." -msgstr "" +msgstr "Додано опцію ``-m`` до :mod:`profile`." msgid "" "The :mod:`pstats` module's :class:`~pstats.Stats` class has a variety of " "methods for manipulating and printing the data saved into a profile results " "file::" msgstr "" +"Клас :class:`~pstats.Stats` модуля :mod:`pstats` має різноманітні методи для " +"обробки та друку даних, збережених у файлі результатів профілю:" msgid "" "import pstats\n" @@ -219,6 +288,10 @@ msgid "" "p = pstats.Stats('restats')\n" "p.strip_dirs().sort_stats(-1).print_stats()" msgstr "" +"import pstats\n" +"from pstats import SortKey\n" +"p = pstats.Stats('restats')\n" +"p.strip_dirs().sort_stats(-1).print_stats()" msgid "" "The :meth:`~pstats.Stats.strip_dirs` method removed the extraneous path from " @@ -227,42 +300,59 @@ msgid "" "printed. The :meth:`~pstats.Stats.print_stats` method printed out all the " "statistics. You might try the following sort calls::" msgstr "" +"Метод :meth:`~pstats.Stats.strip_dirs` видалив зайвий шлях з усіх імен " +"модулів. Метод :meth:`~pstats.Stats.sort_stats` відсортував усі записи " +"відповідно до стандартного рядка модуля/рядка/назви, який друкується. Метод :" +"meth:`~pstats.Stats.print_stats` виводить всю статистику. Ви можете " +"спробувати такі виклики сортування:" msgid "" "p.sort_stats(SortKey.NAME)\n" "p.print_stats()" msgstr "" +"p.sort_stats(SortKey.NAME)\n" +"p.print_stats()" msgid "" "The first call will actually sort the list by function name, and the second " "call will print out the statistics. The following are some interesting " "calls to experiment with::" msgstr "" +"Перший виклик фактично відсортує список за назвою функції, а другий виклик " +"роздрукує статистику. Нижче наведено кілька цікавих викликів для " +"експериментів:" msgid "p.sort_stats(SortKey.CUMULATIVE).print_stats(10)" -msgstr "" +msgstr "p.sort_stats(SortKey.CUMULATIVE).print_stats(10)" msgid "" "This sorts the profile by cumulative time in a function, and then only " "prints the ten most significant lines. If you want to understand what " "algorithms are taking time, the above line is what you would use." msgstr "" +"Це сортує профіль за сукупним часом у функції, а потім друкує лише десять " +"найважливіших рядків. Якщо ви хочете зрозуміти, які алгоритми потребують " +"часу, ви б використали рядок вище." msgid "" "If you were looking to see what functions were looping a lot, and taking a " "lot of time, you would do::" msgstr "" +"Якби ви хотіли побачити, які функції часто зациклюються та займають багато " +"часу, ви б зробили:" msgid "p.sort_stats(SortKey.TIME).print_stats(10)" -msgstr "" +msgstr "p.sort_stats(SortKey.TIME).print_stats(10)" msgid "" "to sort according to time spent within each function, and then print the " "statistics for the top ten functions." msgstr "" +"щоб відсортувати відповідно до часу, витраченого на виконання кожної " +"функції, а потім надрукувати статистику для перших десяти функцій." msgid "You might also try::" -msgstr "" +msgstr "Ви також можете спробувати:" msgid "p.sort_stats(SortKey.FILENAME).print_stats('__init__')" msgstr "p.sort_stats(SortKey.FILENAME).print_stats('__init__')" @@ -272,9 +362,12 @@ msgid "" "statistics for only the class init methods (since they are spelled with " "``__init__`` in them). As one final example, you could try::" msgstr "" +"Це відсортує всю статистику за назвою файлу, а потім роздрукує статистику " +"лише для методів ініціалізації класу (оскільки в них пишеться ``__init__``). " +"Як останній приклад, ви можете спробувати:" msgid "p.sort_stats(SortKey.TIME, SortKey.CUMULATIVE).print_stats(.5, 'init')" -msgstr "" +msgstr "p.sort_stats(SortKey.TIME, SortKey.CUMULATIVE).print_stats(.5, 'init')" msgid "" "This line sorts statistics with a primary key of time, and a secondary key " @@ -283,49 +376,66 @@ msgid "" "size, then only lines containing ``init`` are maintained, and that sub-sub-" "list is printed." msgstr "" +"Цей рядок сортує статистичні дані за первинним ключем часу та вторинним " +"ключем сукупного часу, а потім роздруковує деякі статистичні дані. Щоб бути " +"конкретним, список спочатку відбирається до 50% (re: ``.5``) від його " +"початкового розміру, потім зберігаються лише рядки, що містять ``init``, і " +"цей підпідсписок друкується." msgid "" "If you wondered what functions called the above functions, you could now " "(``p`` is still sorted according to the last criteria) do::" msgstr "" +"Якщо вам було цікаво, які функції називають наведені вище функції, ви можете " +"тепер (``p`` все ще сортується за останнім критерієм) зробити::" msgid "p.print_callers(.5, 'init')" -msgstr "" +msgstr "p.print_callers(.5, 'init')" msgid "and you would get a list of callers for each of the listed functions." -msgstr "" +msgstr "і ви отримаєте список абонентів для кожної з перелічених функцій." msgid "" "If you want more functionality, you're going to have to read the manual, or " "guess what the following functions do::" msgstr "" +"Якщо ви хочете отримати більше функціональних можливостей, вам доведеться " +"прочитати посібник або здогадатися, що роблять такі функції:" msgid "" "p.print_callees()\n" "p.add('restats')" msgstr "" +"p.print_callees()\n" +"p.add('restats')" msgid "" "Invoked as a script, the :mod:`pstats` module is a statistics browser for " "reading and examining profile dumps. It has a simple line-oriented " "interface (implemented using :mod:`cmd`) and interactive help." msgstr "" +"Викликаний як скрипт, модуль :mod:`pstats` є браузером статистики для " +"читання та вивчення дампів профілю. Він має простий рядково-орієнтований " +"інтерфейс (реалізований за допомогою :mod:`cmd`) та інтерактивну довідку." msgid ":mod:`profile` and :mod:`cProfile` Module Reference" -msgstr "" +msgstr "Довідка про модуль :mod:`profile` і :mod:`cProfile`" msgid "" "Both the :mod:`profile` and :mod:`cProfile` modules provide the following " "functions:" msgstr "" +"Обидва модулі :mod:`profile` і :mod:`cProfile` забезпечують такі функції:" msgid "" "This function takes a single argument that can be passed to the :func:`exec` " "function, and an optional file name. In all cases this routine executes::" msgstr "" +"Ця функція приймає один аргумент, який можна передати функції :func:`exec`, " +"і необов’язкове ім’я файлу. У всіх випадках ця процедура виконує:" msgid "exec(command, __main__.__dict__, __main__.__dict__)" -msgstr "" +msgstr "exec(command, __main__.__dict__, __main__.__dict__)" msgid "" "and gathers profiling statistics from the execution. If no file name is " @@ -334,22 +444,32 @@ msgid "" "specified, it is passed to this :class:`~pstats.Stats` instance to control " "how the results are sorted." msgstr "" +"і збирає статистику профілювання від виконання. Якщо ім’я файлу відсутнє, ця " +"функція автоматично створює екземпляр :class:`~pstats.Stats` і друкує " +"простий звіт профілювання. Якщо вказано значення сортування, воно " +"передається цьому екземпляру :class:`~pstats.Stats` для керування " +"сортуванням результатів." msgid "" "This function is similar to :func:`run`, with added arguments to supply the " "globals and locals mappings for the *command* string. This routine executes::" msgstr "" +"Эта функция аналогична :func:`run`, с добавленными аргументами для " +"предоставления сопоставлений глобальных и локальных переменных для строки " +"*command*. Эта процедура выполняет::" msgid "exec(command, globals, locals)" -msgstr "" +msgstr "exec(command, globals, locals)" msgid "and gathers profiling statistics as in the :func:`run` function above." -msgstr "" +msgstr "і збирає статистику профілювання, як у функції :func:`run` вище." msgid "" "This class is normally only used if more precise control over profiling is " "needed than what the :func:`cProfile.run` function provides." msgstr "" +"Зазвичай цей клас використовується, лише якщо потрібен більш точний контроль " +"над профілюванням, ніж той, який забезпечує функція :func:`cProfile.run`." msgid "" "A custom timer can be supplied for measuring how long code takes to run via " @@ -359,11 +479,18 @@ msgid "" "example, if the timer returns times measured in thousands of seconds, the " "time unit would be ``.001``." msgstr "" +"Можна надати власний таймер для вимірювання тривалості виконання коду за " +"допомогою аргументу *timer*. Це має бути функція, яка повертає одне число, " +"що відповідає поточному часу. Якщо число є цілим числом, *timeunit* визначає " +"множник, який визначає тривалість кожної одиниці часу. Наприклад, якщо " +"таймер повертає час, виміряний у тисячах секунд, одиницею часу буде ``.001``." msgid "" "Directly using the :class:`Profile` class allows formatting profile results " "without writing the profile data to a file::" msgstr "" +"Безпосереднє використання класу :class:`Profile` дозволяє форматувати " +"результати профілю без запису даних профілю у файл::" msgid "" "import cProfile, pstats, io\n" @@ -378,11 +505,25 @@ msgid "" "ps.print_stats()\n" "print(s.getvalue())" msgstr "" +"import cProfile, pstats, io\n" +"from pstats import SortKey\n" +"pr = cProfile.Profile()\n" +"pr.enable()\n" +"# ... do something ...\n" +"pr.disable()\n" +"s = io.StringIO()\n" +"sortby = SortKey.CUMULATIVE\n" +"ps = pstats.Stats(pr, stream=s).sort_stats(sortby)\n" +"ps.print_stats()\n" +"print(s.getvalue())" msgid "" "The :class:`Profile` class can also be used as a context manager (supported " "only in :mod:`cProfile` module. see :ref:`typecontextmanager`)::" msgstr "" +"Клас :class:`Profile` також можна використовувати як менеджер контексту " +"(підтримується лише в модулі :mod:`cProfile`. Див. :ref:" +"`typecontextmanager`)::" msgid "" "import cProfile\n" @@ -392,48 +533,63 @@ msgid "" "\n" " pr.print_stats()" msgstr "" +"import cProfile\n" +"\n" +"with cProfile.Profile() as pr:\n" +" # ... do something ...\n" +"\n" +" pr.print_stats()" msgid "Added context manager support." -msgstr "" +msgstr "Додано підтримку менеджера контексту." msgid "Start collecting profiling data. Only in :mod:`cProfile`." -msgstr "" +msgstr "Почніть збирати дані профілювання. Тільки в :mod:`cProfile`." msgid "Stop collecting profiling data. Only in :mod:`cProfile`." -msgstr "" +msgstr "Припиніть збір даних профілювання. Тільки в :mod:`cProfile`." msgid "" "Stop collecting profiling data and record the results internally as the " "current profile." msgstr "" +"Припиніть збір даних профілювання та запишіть результати внутрішньо як " +"поточний профіль." msgid "" "Create a :class:`~pstats.Stats` object based on the current profile and " "print the results to stdout." msgstr "" +"Створіть об’єкт :class:`~pstats.Stats` на основі поточного профілю та " +"надрукуйте результати в stdout." msgid "" "The *sort* parameter specifies the sorting order of the displayed " "statistics. It accepts a single key or a tuple of keys to enable multi-level " "sorting, as in :func:`Stats.sort_stats `." msgstr "" +"Параметр *sort* определяет порядок сортировки отображаемой статистики. Он " +"принимает один ключ или кортеж ключей для включения многоуровневой " +"сортировки, как в :func:`Stats.sort_stats `." msgid ":meth:`~Profile.print_stats` now accepts a tuple of keys." -msgstr "" +msgstr ":meth:`~Profile.print_stats` теперь принимает кортеж ключей." msgid "Write the results of the current profile to *filename*." -msgstr "" +msgstr "Запишіть результати поточного профілю в *filename*." msgid "Profile the cmd via :func:`exec`." -msgstr "" +msgstr "Профілюйте cmd через :func:`exec`." msgid "" "Profile the cmd via :func:`exec` with the specified global and local " "environment." msgstr "" +"Профілюйте cmd через :func:`exec` із зазначеним глобальним і локальним " +"середовищем." msgid "Profile ``func(*args, **kwargs)``" -msgstr "" +msgstr "Профіль ``func(*args, **kwargs)``" msgid "" "Note that profiling will only work if the called command/function actually " @@ -441,19 +597,28 @@ msgid "" "during the called command/function execution) no profiling results will be " "printed." msgstr "" +"Зауважте, що профілювання працюватиме, лише якщо викликана команда/функція " +"дійсно повернеться. Якщо інтерпретатор завершується (наприклад, через " +"виклик :func:`sys.exit` під час виконання викликаної команди/функції), " +"результати профілювання не друкуються." msgid "The :class:`Stats` Class" -msgstr "" +msgstr "Клас :class:`Stats`" msgid "" "Analysis of the profiler data is done using the :class:`~pstats.Stats` class." msgstr "" +"Аналіз даних профайлера виконується за допомогою класу :class:`~pstats." +"Stats`." msgid "" "This class constructor creates an instance of a \"statistics object\" from a " "*filename* (or list of filenames) or from a :class:`Profile` instance. " "Output will be printed to the stream specified by *stream*." msgstr "" +"Цей конструктор класу створює екземпляр \"статистичного об’єкта\" з *імені " +"файлу* (або списку імен файлів) або з екземпляра :class:`Profile`. Вихід " +"буде надруковано в потік, указаний *stream*." msgid "" "The file selected by the above constructor must have been created by the " @@ -467,14 +632,25 @@ msgid "" "existing :class:`~pstats.Stats` object, the :meth:`~pstats.Stats.add` method " "can be used." msgstr "" +"Файл, вибраний конструктором вище, має бути створений відповідною версією :" +"mod:`profile` або :mod:`cProfile`. Якщо бути конкретнішим, *немає* гарантії " +"сумісності файлів із майбутніми версіями цього профайлера, а також немає " +"сумісності з файлами, створеними іншими профайлерами, або тим самим " +"профайлером, що працює в іншій операційній системі. Якщо надано кілька " +"файлів, усі статистичні дані для ідентичних функцій будуть об’єднані, щоб " +"загальний огляд кількох процесів можна було розглянути в одному звіті. Якщо " +"додаткові файли потрібно об’єднати з даними в існуючому об’єкті :class:" +"`~pstats.Stats`, можна використати метод :meth:`~pstats.Stats.add`." msgid "" "Instead of reading the profile data from a file, a :class:`cProfile.Profile` " "or :class:`profile.Profile` object can be used as the profile data source." msgstr "" +"Замість читання даних профілю з файлу, об’єкт :class:`cProfile.Profile` або :" +"class:`profile.Profile` можна використовувати як джерело даних профілю." msgid ":class:`Stats` objects have the following methods:" -msgstr "" +msgstr "Об'єкти :class:`Stats` мають такі методи:" msgid "" "This method for the :class:`Stats` class removes all leading path " @@ -488,6 +664,15 @@ msgid "" "name), then the statistics for these two entries are accumulated into a " "single entry." msgstr "" +"Цей метод для класу :class:`Stats` видаляє всю інформацію про початковий " +"шлях із імен файлів. Це дуже корисно для зменшення розміру роздруківки до " +"(близько) 80 стовпців. Цей метод змінює об’єкт, і видалена інформація " +"втрачається. Після виконання операції видалення вважається, що об’єкт має " +"свої записи у \"випадковому\" порядку, як це було одразу після ініціалізації " +"та завантаження об’єкта. Якщо :meth:`~pstats.Stats.strip_dirs` спричиняє " +"нерозрізнення двох імен функцій (вони знаходяться в одному рядку того самого " +"імені файлу та мають однакову назву функції), тоді статистика для цих двох " +"записів накопичується в єдиний вхід." msgid "" "This method of the :class:`Stats` class accumulates additional profiling " @@ -496,6 +681,11 @@ msgid "" "func:`cProfile.run`. Statistics for identically named (re: file, line, name) " "functions are automatically accumulated into single function statistics." msgstr "" +"Цей метод класу :class:`Stats` накопичує додаткову інформацію профілювання в " +"поточному об’єкті профілювання. Його аргументи мають посилатися на імена " +"файлів, створені відповідною версією :func:`profile.run` або :func:`cProfile." +"run`. Статистика для функцій з ідентичними назвами (re: файл, рядок, ім’я) " +"автоматично накопичується в одній статистиці функції." msgid "" "Save the data loaded into the :class:`Stats` object to a file named " @@ -503,6 +693,10 @@ msgid "" "it already exists. This is equivalent to the method of the same name on " "the :class:`profile.Profile` and :class:`cProfile.Profile` classes." msgstr "" +"Збережіть дані, завантажені в об’єкт :class:`Stats`, у файл з назвою " +"*filename*. Файл створюється, якщо він не існує, і перезаписується, якщо він " +"уже існує. Це еквівалентно однойменному методу в класах :class:`profile." +"Profile` і :class:`cProfile.Profile`." msgid "" "This method modifies the :class:`Stats` object by sorting it according to " @@ -512,6 +706,11 @@ msgid "" "advantage over the string argument in that it is more robust and less error " "prone." msgstr "" +"Цей метод змінює об’єкт :class:`Stats`, сортуючи його відповідно до наданих " +"критеріїв. Аргументом може бути рядок або перелік SortKey, що визначає " +"основу сортування (приклад: ``'time'``, ``'name'``, ``SortKey.TIME`` або " +"``SortKey.NAME``). Аргумент переліку SortKey має перевагу над рядковим " +"аргументом у тому, що він більш надійний і менш схильний до помилок." msgid "" "When more than one key is provided, then additional keys are used as " @@ -520,122 +719,129 @@ msgid "" "entries according to their function name, and resolve all ties (identical " "function names) by sorting by file name." msgstr "" +"Якщо надається більше одного ключа, то додаткові ключі використовуються як " +"вторинні критерії, якщо є рівність у всіх ключах, вибраних перед ними. " +"Наприклад, ``sort_stats(SortKey.NAME, SortKey.FILE)`` відсортує всі записи " +"відповідно до їхньої назви функції та розв’яже всі зв’язки (ідентичні назви " +"функції) шляхом сортування за назвою файлу." msgid "" "For the string argument, abbreviations can be used for any key names, as " "long as the abbreviation is unambiguous." msgstr "" +"Для рядкового аргументу можна використовувати абревіатури для будь-яких імен " +"ключів, за умови, що скорочення є однозначним." msgid "The following are the valid string and SortKey:" -msgstr "" +msgstr "Нижче наведено дійсний рядок і SortKey:" msgid "Valid String Arg" -msgstr "" +msgstr "Дійсний рядковий аргумент" msgid "Valid enum Arg" -msgstr "" +msgstr "Дійсний перелік Arg" msgid "Meaning" msgstr "Znaczenie" msgid "``'calls'``" -msgstr "" +msgstr "``'дзвінки'``" msgid "SortKey.CALLS" -msgstr "" +msgstr "SortKey.CALLS" msgid "call count" -msgstr "" +msgstr "кількість дзвінків" msgid "``'cumulative'``" -msgstr "" +msgstr "``'кумулятивний''``" msgid "SortKey.CUMULATIVE" -msgstr "" +msgstr "SortKey.CUMULATIVE" msgid "cumulative time" -msgstr "" +msgstr "кумулятивний час" msgid "``'cumtime'``" -msgstr "" +msgstr "``'cumtime''``" msgid "N/A" -msgstr "" +msgstr "T/A" msgid "``'file'``" -msgstr "" +msgstr "``''файл'``" msgid "file name" -msgstr "" +msgstr "ім'я файлу" msgid "``'filename'``" -msgstr "" +msgstr "``'ім'я файлу'``" msgid "SortKey.FILENAME" -msgstr "" +msgstr "SortKey.FILENAME" msgid "``'module'``" -msgstr "" +msgstr "``''модуль'``" msgid "``'ncalls'``" -msgstr "" +msgstr "``'calls''``" msgid "``'pcalls'``" -msgstr "" +msgstr "``'pcalls'``" msgid "SortKey.PCALLS" -msgstr "" +msgstr "SortKey.PCALLS" msgid "primitive call count" -msgstr "" +msgstr "примітивний підрахунок викликів" msgid "``'line'``" -msgstr "" +msgstr "``''рядок'``" msgid "SortKey.LINE" -msgstr "" +msgstr "SortKey.LINE" msgid "line number" -msgstr "" +msgstr "номер рядка" msgid "``'name'``" -msgstr "" +msgstr "``''ім'я'``" msgid "SortKey.NAME" -msgstr "" +msgstr "SortKey.NAME" msgid "function name" -msgstr "" +msgstr "назва функції" msgid "``'nfl'``" -msgstr "" +msgstr "``'nfl'``" msgid "SortKey.NFL" -msgstr "" +msgstr "SortKey.NFL" msgid "name/file/line" -msgstr "" +msgstr "ім'я/файл/рядок" msgid "``'stdname'``" -msgstr "" +msgstr "``'stdname'``" msgid "SortKey.STDNAME" -msgstr "" +msgstr "SortKey.STDNAME" msgid "standard name" -msgstr "" +msgstr "стандартна назва" msgid "``'time'``" -msgstr "" +msgstr "``'час''``" msgid "SortKey.TIME" -msgstr "" +msgstr "SortKey.TIME" msgid "internal time" -msgstr "" +msgstr "внутрішній час" msgid "``'tottime'``" -msgstr "" +msgstr "``'tottime'``" msgid "" "Note that all sorts on statistics are in descending order (placing most time " @@ -649,6 +855,16 @@ msgid "" "``sort_stats(SortKey.NFL)`` is the same as ``sort_stats(SortKey.NAME, " "SortKey.FILENAME, SortKey.LINE)``." msgstr "" +"Зауважте, що всі сортування в статистиці виконуються в порядку спадання " +"(першими розміщуються елементи, що вимагають більше часу), а пошук імені, " +"файлу та номера рядка здійснюється в порядку зростання (за алфавітом). Тонка " +"різниця між ``SortKey.NFL`` і ``SortKey.STDNAME`` полягає в тому, що " +"стандартна назва є різновидом назви, як надруковано, що означає, що " +"вбудовані номери рядків порівнюються дивним чином. Наприклад, рядки 3, 20 і " +"40 (якби імена файлів були однаковими) відображалися б у порядку рядків 20, " +"3 і 40. На відміну від цього, ``SortKey.NFL`` виконує числове порівняння " +"номерів рядків. Фактично, ``sort_stats(SortKey.NFL)`` те саме, що " +"``sort_stats(SortKey.NAME, SortKey.FILENAME, SortKey.LINE)``." msgid "" "For backward-compatibility reasons, the numeric arguments ``-1``, ``0``, " @@ -657,26 +873,39 @@ msgid "" "style format (numeric) is used, only one sort key (the numeric key) will be " "used, and additional arguments will be silently ignored." msgstr "" +"З міркувань зворотної сумісності дозволені числові аргументи ``-1``, ``0``, " +"``1`` і ``2``. Вони інтерпретуються як ``'stdname'``, ``'calls'``, " +"``'time'`` і ``'cumulative'`` відповідно. Якщо використовується цей формат " +"старого стилю (числовий), використовуватиметься лише один ключ сортування " +"(числовий ключ), а додаткові аргументи мовчки ігноруватимуться." msgid "Added the SortKey enum." -msgstr "" +msgstr "Додано перелік SortKey." msgid "" "This method for the :class:`Stats` class reverses the ordering of the basic " "list within the object. Note that by default ascending vs descending order " "is properly selected based on the sort key of choice." msgstr "" +"Цей метод для класу :class:`Stats` змінює порядок базового списку в об’єкті " +"на протилежний. Зверніть увагу, що за замовчуванням порядок зростання чи " +"спадання вибрано належним чином на основі вибраного ключа сортування." msgid "" "This method for the :class:`Stats` class prints out a report as described in " "the :func:`profile.run` definition." msgstr "" +"Цей метод для класу :class:`Stats` друкує звіт, як описано у визначенні :" +"func:`profile.run`." msgid "" "The order of the printing is based on the last :meth:`~pstats.Stats." "sort_stats` operation done on the object (subject to caveats in :meth:" "`~pstats.Stats.add` and :meth:`~pstats.Stats.strip_dirs`)." msgstr "" +"Порядок друку базується на останній операції :meth:`~pstats.Stats." +"sort_stats`, виконаній над об’єктом (з урахуванням застережень у :meth:" +"`~pstats.Stats.add` і :meth:`~pstats. Stats.strip_dirs`)." msgid "" "The arguments provided (if any) can be used to limit the list down to the " @@ -688,23 +917,34 @@ msgid "" "several restrictions are provided, then they are applied sequentially. For " "example::" msgstr "" +"Надані аргументи (якщо такі є) можна використовувати, щоб обмежити список до " +"значущих записів. Спочатку список розглядається як повний набір " +"профільованих функцій. Кожне обмеження є або цілим числом (щоб вибрати " +"кількість рядків), або десятковим дробом від 0,0 до 1,0 включно (щоб вибрати " +"відсоток рядків), або рядком, який інтерпретуватиметься як регулярний вираз " +"(щоб шаблон відповідав стандартній назві що друкується). Якщо передбачено " +"кілька обмежень, то вони застосовуються послідовно. Наприклад::" msgid "print_stats(.1, 'foo:')" -msgstr "" +msgstr "print_stats(.1, 'foo:')" msgid "" "would first limit the printing to first 10% of list, and then only print " "functions that were part of filename :file:`.\\*foo:`. In contrast, the " "command::" msgstr "" +"спочатку обмежує друк до перших 10% списку, а потім друкує лише функції, які " +"є частиною імені файлу :file:`.\\*foo:`. Навпаки, команда::" msgid "print_stats('foo:', .1)" -msgstr "" +msgstr "print_stats('foo:', .1)" msgid "" "would limit the list to all functions having file names :file:`.\\*foo:`, " "and then proceed to only print the first 10% of them." msgstr "" +"обмежить список усіма функціями, що мають імена файлів :file:`.\\*foo:`, а " +"потім перейде до друку лише перших 10% із них." msgid "" "This method for the :class:`Stats` class prints a list of all functions that " @@ -714,6 +954,11 @@ msgid "" "own line. The format differs slightly depending on the profiler that " "produced the stats:" msgstr "" +"Цей метод для класу :class:`Stats` друкує список усіх функцій, які викликали " +"кожну функцію в профільованій базі даних. Порядок ідентичний тому, який " +"надає :meth:`~pstats.Stats.print_stats`, і визначення обмежувального " +"аргументу також ідентичне. Кожен абонент повідомляється на своїй лінії. " +"Формат дещо відрізняється залежно від профайлера, який створив статистику:" msgid "" "With :mod:`profile`, a number is shown in parentheses after each caller to " @@ -721,12 +966,20 @@ msgid "" "non-parenthesized number repeats the cumulative time spent in the function " "at the right." msgstr "" +"За допомогою :mod:`profile` число відображається в дужках після кожного " +"абонента, щоб показати, скільки разів було зроблено цей конкретний виклик. " +"Для зручності друге число без дужок повторює сукупний час, витрачений на " +"функцію праворуч." msgid "" "With :mod:`cProfile`, each caller is preceded by three numbers: the number " "of times this specific call was made, and the total and cumulative times " "spent in the current function while it was invoked by this specific caller." msgstr "" +"За допомогою :mod:`cProfile` перед кожним викликом стоять три числа: " +"кількість разів, коли цей конкретний виклик було здійснено, а також " +"загальний і сукупний час, витрачений на поточну функцію під час її виклику " +"цим конкретним викликом." msgid "" "This method for the :class:`Stats` class prints a list of all function that " @@ -734,6 +987,10 @@ msgid "" "direction of calls (re: called vs was called by), the arguments and ordering " "are identical to the :meth:`~pstats.Stats.print_callers` method." msgstr "" +"Цей метод для класу :class:`Stats` друкує список усіх функцій, викликаних " +"зазначеною функцією. Окрім зміни напрямку викликів (re: called проти was " +"called by), аргументи та порядок ідентичні методу :meth:`~pstats.Stats." +"print_callers`." msgid "" "This method returns an instance of StatsProfile, which contains a mapping of " @@ -741,14 +998,20 @@ msgid "" "instance holds information related to the function's profile such as how " "long the function took to run, how many times it was called, etc..." msgstr "" +"Цей метод повертає екземпляр StatsProfile, який містить зіставлення імен " +"функцій з екземплярами FunctionProfile. Кожен екземпляр FunctionProfile " +"містить інформацію, пов’язану з профілем функції, наприклад, скільки часу " +"знадобилося для виконання функції, скільки разів її викликали тощо..." msgid "" "Added the following dataclasses: StatsProfile, FunctionProfile. Added the " "following function: get_stats_profile." msgstr "" +"Додано такі класи даних: StatsProfile, FunctionProfile. Додано таку функцію: " +"get_stats_profile." msgid "What Is Deterministic Profiling?" -msgstr "" +msgstr "Що таке детерміноване профілювання?" msgid "" ":dfn:`Deterministic profiling` is meant to reflect the fact that all " @@ -761,6 +1024,15 @@ msgid "" "be instrumented), but provides only relative indications of where time is " "being spent." msgstr "" +":dfn:`Deterministic profiling` призначене для відображення того факту, що " +"всі події *виклику функції*, *повернення функції* та *виключення* " +"відстежуються, а також точні часові інтервали між цими подіями (протягом " +"часу, протягом якого користувач код виконується). На відміну від цього, :dfn:" +"`statistical profiling` (яке не виконується цим модулем) випадково відбирає " +"ефективний вказівник інструкції та визначає, де витрачається час. Останній " +"метод традиційно передбачає менше накладних витрат (оскільки код не потребує " +"інструментарію), але забезпечує лише відносні показники того, де " +"витрачається час." msgid "" "In Python, since there is an interpreter active during execution, the " @@ -772,6 +1044,15 @@ msgid "" "deterministic profiling is not that expensive, yet provides extensive run " "time statistics about the execution of a Python program." msgstr "" +"У Python, оскільки під час виконання активний інтерпретатор, наявність " +"інструментального коду не потрібна для виконання детермінованого " +"профілювання. Python автоматично надає :dfn:`hook` (додатковий зворотний " +"виклик) для кожної події. Крім того, інтерпретована природа Python має " +"тенденцію додавати стільки накладних витрат на виконання, що детерміноване " +"профілювання має тенденцію лише додавати невеликі накладні витрати на " +"обробку в типових програмах. Результатом є те, що детерміноване профілювання " +"не таке вже й дороге, але забезпечує розширену статистику часу виконання про " +"виконання програми Python." msgid "" "Call count statistics can be used to identify bugs in code (surprising " @@ -783,9 +1064,17 @@ msgid "" "statistics for recursive implementations of algorithms to be directly " "compared to iterative implementations." msgstr "" +"Статистику кількості викликів можна використовувати для виявлення помилок у " +"коді (несподівана кількість) і для визначення можливих точок вбудованого " +"розширення (висока кількість викликів). Внутрішню статистику часу можна " +"використовувати для виявлення \"гарячих циклів\", які слід ретельно " +"оптимізувати. Кумулятивну статистику часу слід використовувати для виявлення " +"помилок високого рівня у виборі алгоритмів. Зауважте, що незвичайна обробка " +"сукупного часу в цьому профайлері дозволяє прямо порівнювати статистику для " +"рекурсивних реалізацій алгоритмів з ітеративними реалізаціями." msgid "Limitations" -msgstr "" +msgstr "Обмеження" msgid "" "One limitation has to do with accuracy of timing information. There is a " @@ -796,6 +1085,13 @@ msgid "" "then the \"error\" will tend to average out. Unfortunately, removing this " "first error induces a second source of error." msgstr "" +"Одне обмеження пов’язане з точністю інформації про час. Існує фундаментальна " +"проблема з детермінованим профайлером, пов’язана з точністю. Найбільш " +"очевидним обмеженням є те, що основний \"годинник\" цокає лише зі швидкістю " +"(зазвичай) приблизно 0,001 секунди. Тому жодні вимірювання не будуть " +"точнішими, ніж базовий годинник. Якщо проведено достатньо вимірювань, " +"\"похибка\" матиме тенденцію до усереднення. На жаль, видалення цієї першої " +"помилки спричиняє друге джерело помилки." msgid "" "The second problem is that it \"takes a while\" from when an event is " @@ -808,6 +1104,15 @@ msgid "" "fashion is typically less than the accuracy of the clock (less than one " "clock tick), but it *can* accumulate and become very significant." msgstr "" +"Друга проблема полягає в тому, що \"потрібен деякий час\" від моменту " +"надсилання події до моменту, коли виклик профайлера для отримання часу " +"фактично *отримує* стан годинника. Подібним чином існує певна затримка під " +"час виходу з обробника подій профайлера з моменту, коли було отримано " +"значення годинника (і потім вилучено), до моменту, коли код користувача " +"знову виконується. У результаті функції, які викликаються багато разів або " +"викликають багато функцій, зазвичай накопичуватимуть цю помилку. Похибка, " +"яка накопичується таким чином, зазвичай менша, ніж точність годинника (менше " +"одного такту), але вона *може* накопичуватися і стати дуже значною." msgid "" "The problem is more important with :mod:`profile` than with the lower-" @@ -821,9 +1126,18 @@ msgid "" "calibrated your profiler, and the results are actually better than without " "calibration." msgstr "" +"Проблема важливіша з :mod:`profile`, ніж з нижчими накладними :mod:" +"`cProfile`. З цієї причини :mod:`profile` забезпечує засіб самокалібрування " +"для певної платформи, щоб цю помилку можна було ймовірно (в середньому) " +"усунути. Після калібрування профайлера він буде більш точним (у сенсі " +"найменших квадратів), але іноді він видаватиме від’ємні числа (коли " +"кількість викликів надзвичайно низька, і боги ймовірності працюють проти " +"вас :-). ) *Не* лякайтеся негативних цифр в профілі. Вони мають з’являтися " +"*тільки*, якщо ви відкалібрували свій профайлер, і результати насправді " +"кращі, ніж без калібрування." msgid "Calibration" -msgstr "" +msgstr "Калібрування" msgid "" "The profiler of the :mod:`profile` module subtracts a constant from each " @@ -832,6 +1146,11 @@ msgid "" "following procedure can be used to obtain a better constant for a given " "platform (see :ref:`profile-limitations`). ::" msgstr "" +"Профайлер модуля :mod:`profile` віднімає константу від часу обробки кожної " +"події, щоб компенсувати накладні витрати на виклик функції часу та " +"накопичення результатів. За замовчуванням константа дорівнює 0. Наступну " +"процедуру можна використати, щоб отримати кращу константу для даної " +"платформи (див. :ref:`profile-limitations`). ::" msgid "" "import profile\n" @@ -839,6 +1158,10 @@ msgid "" "for i in range(5):\n" " print(pr.calibrate(10000))" msgstr "" +"import profile\n" +"pr = profile.Profile()\n" +"for i in range(5):\n" +" print(pr.calibrate(10000))" msgid "" "The method executes the number of Python calls given by the argument, " @@ -848,16 +1171,28 @@ msgid "" "Python's time.process_time() as the timer, the magical number is about " "4.04e-6." msgstr "" +"Метод виконує кількість викликів Python, заданих аргументом, безпосередньо " +"та знову під профайлером, вимірюючи час для обох. Потім він обчислює " +"приховані накладні витрати на кожну подію профілювача та повертає їх як " +"число з плаваючою точкою. Наприклад, на процесорі Intel Core i5 з тактовою " +"частотою 1,8 ГГц, який працює під керуванням macOS і використовує Python " +"time.process_time() як таймер, магічне число становить приблизно 4,04e-6." msgid "" "The object of this exercise is to get a fairly consistent result. If your " "computer is *very* fast, or your timer function has poor resolution, you " "might have to pass 100000, or even 1000000, to get consistent results." msgstr "" +"Мета цієї вправи — отримати досить послідовний результат. Якщо ваш комп’ютер " +"*дуже* швидкий або ваша функція таймера має низьку роздільну здатність, вам, " +"можливо, доведеться передати 100 000 або навіть 1000 000, щоб отримати " +"стабільні результати." msgid "" "When you have a consistent answer, there are three ways you can use it::" msgstr "" +"Якщо у вас є послідовна відповідь, ви можете використовувати її трьома " +"способами:" msgid "" "import profile\n" @@ -872,30 +1207,51 @@ msgid "" "# 3. Specify computed bias in instance constructor.\n" "pr = profile.Profile(bias=your_computed_bias)" msgstr "" +"import profile\n" +"\n" +"# 1. Apply computed bias to all Profile instances created hereafter.\n" +"profile.Profile.bias = your_computed_bias\n" +"\n" +"# 2. Apply computed bias to a specific Profile instance.\n" +"pr = profile.Profile()\n" +"pr.bias = your_computed_bias\n" +"\n" +"# 3. Specify computed bias in instance constructor.\n" +"pr = profile.Profile(bias=your_computed_bias)" msgid "" "If you have a choice, you are better off choosing a smaller constant, and " "then your results will \"less often\" show up as negative in profile " "statistics." msgstr "" +"Якщо у вас є вибір, краще вибрати меншу константу, і тоді ваші результати " +"будуть \"рідше\" відображатися в статистиці профілю як негативні." msgid "Using a custom timer" -msgstr "" +msgstr "Використання спеціального таймера" msgid "" "If you want to change how current time is determined (for example, to force " "use of wall-clock time or elapsed process time), pass the timing function " "you want to the :class:`Profile` class constructor::" msgstr "" +"Якщо ви хочете змінити спосіб визначення поточного часу (наприклад, щоб " +"примусово використовувати час настінного годинника або час, що минув), " +"передайте потрібну функцію синхронізації в конструктор класу :class:" +"`Profile`::" msgid "pr = profile.Profile(your_time_func)" -msgstr "" +msgstr "pr = profile.Profile(your_time_func)" msgid "" "The resulting profiler will then call ``your_time_func``. Depending on " "whether you are using :class:`profile.Profile` or :class:`cProfile.Profile`, " "``your_time_func``'s return value will be interpreted differently:" msgstr "" +"Потім отриманий профайлер викличе ``your_time_func``. Залежно від того, чи " +"використовуєте ви :class:`profile.Profile` чи :class:`cProfile.Profile`, " +"значення, що повертається ``your_time_func``, буде інтерпретуватися по-" +"різному:" msgid ":class:`profile.Profile`" msgstr ":class:`profile.Profile`" @@ -907,6 +1263,10 @@ msgid "" "length 2, then you will get an especially fast version of the dispatch " "routine." msgstr "" +"``your_time_func`` має повертати одне число або список чисел, сума яких є " +"поточним часом (як те, що повертає :func:`os.times`). Якщо функція повертає " +"єдине число часу або список повернутих чисел має довжину 2, тоді ви " +"отримаєте особливо швидку версію процедури відправки." msgid "" "Be warned that you should calibrate the profiler class for the timer " @@ -918,6 +1278,15 @@ msgid "" "hardwire a replacement dispatch method that best handles your timer call, " "along with the appropriate calibration constant." msgstr "" +"Имейте в виду, что вам следует откалибровать класс профилировщика для " +"выбранной вами функции таймера (см. :ref:`profile-калибровка`). Для " +"большинства машин таймер, возвращающий единственное целое значение, " +"обеспечит наилучшие результаты с точки зрения низких накладных расходов во " +"время профилирования. (:func:`os.times` *довольно* плох, поскольку " +"возвращает кортеж значений с плавающей запятой). Если вы хотите заменить " +"лучший таймер наиболее чистым способом, создайте класс и закрепите метод " +"диспетчеризации замены, который лучше всего обрабатывает вызов вашего " +"таймера, вместе с соответствующей калибровочной константой." msgid ":class:`cProfile.Profile`" msgstr ":class:`cProfile.Profile`" @@ -929,9 +1298,14 @@ msgid "" "``your_integer_time_func`` returns times measured in thousands of seconds, " "you would construct the :class:`Profile` instance as follows::" msgstr "" +"``your_time_func`` має повертати одне число. Якщо він повертає цілі числа, " +"ви також можете викликати конструктор класу з другим аргументом, який " +"визначає реальну тривалість однієї одиниці часу. Наприклад, якщо " +"``your_integer_time_func`` повертає час, виміряний у тисячах секунд, ви " +"повинні створити екземпляр :class:`Profile` наступним чином::" msgid "pr = cProfile.Profile(your_integer_time_func, 0.001)" -msgstr "" +msgstr "pr = cProfile.Profile(your_integer_time_func, 0.001)" msgid "" "As the :class:`cProfile.Profile` class cannot be calibrated, custom timer " @@ -939,15 +1313,23 @@ msgid "" "the best results with a custom timer, it might be necessary to hard-code it " "in the C source of the internal :mod:`!_lsprof` module." msgstr "" +"Поскольку класс :class:`cProfile.Profile` не может быть откалиброван, " +"пользовательские функции таймера следует использовать с осторожностью и " +"должны работать как можно быстрее. Для достижения наилучших результатов при " +"использовании специального таймера может потребоваться жестко " +"запрограммировать его в исходном коде C внутреннего модуля :mod:`!_lsprof`." msgid "" "Python 3.3 adds several new functions in :mod:`time` that can be used to " "make precise measurements of process or wall-clock time. For example, see :" "func:`time.perf_counter`." msgstr "" +"Python 3.3 додає кілька нових функцій у :mod:`time`, які можна " +"використовувати для точного вимірювання часу процесу або настінного " +"годинника. Наприклад, перегляньте :func:`time.perf_counter`." msgid "deterministic profiling" -msgstr "" +msgstr "детерминированное профилирование" msgid "profiling, deterministic" -msgstr "" +msgstr "профилирование, детерминированный" diff --git a/library/pty.po b/library/pty.po index e71c89a197..2a52ae41ee 100644 --- a/library/pty.po +++ b/library/pty.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\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: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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,16 +24,19 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!pty` --- Pseudo-terminal utilities" -msgstr "" +msgstr ":mod:`!pty` --- Утилиты псевдотерминала" 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 " "concept: starting another process and being able to write to and read from " "its controlling terminal programmatically." msgstr "" +"Модуль :mod:`pty` визначає операції для обробки концепції псевдотерміналу: " +"запуск іншого процесу та можливість програмно записувати та читати з його " +"керуючого терміналу." msgid "Availability" msgstr "Dostępność" @@ -43,9 +46,12 @@ msgid "" "tested on Linux, FreeBSD, and macOS (it is supposed to work on other POSIX " "platforms but it's not been thoroughly tested)." msgstr "" +"Робота з псевдотерміналом сильно залежить від платформи. Цей код в основному " +"тестується на Linux, FreeBSD і macOS (передбачається, що він працює на інших " +"платформах POSIX, але не був ретельно протестований)." msgid "The :mod:`pty` module defines the following functions:" -msgstr "" +msgstr "Модуль :mod:`pty` визначає такі функції:" msgid "" "Fork. Connect the child's controlling terminal to a pseudo-terminal. Return " @@ -54,17 +60,29 @@ msgid "" "a file descriptor connected to the child's controlling terminal (and also to " "the child's standard input and output)." msgstr "" +"Вилка. Підключіть керуючий термінал дитини до псевдотерміналу. Повернене " +"значення: ``(pid, fd)``. Зверніть увагу, що дитина отримує *pid* 0, а *fd* є " +"*недійсним*. Значенням, що повертає батьківський елемент, є *pid* " +"дочірнього, а *fd* — це дескриптор файлу, підключений до керуючого терміналу " +"дочірнього (а також до стандартного введення та виведення дочірнього)." msgid "" "On macOS the use of this function is unsafe when mixed with using higher-" "level system APIs, and that includes using :mod:`urllib.request`." msgstr "" +"В macOS использование этой функции небезопасно в сочетании с использованием " +"системных API более высокого уровня, включая использование :mod:`urllib." +"request` ." msgid "" "Open a new pseudo-terminal pair, using :func:`os.openpty` if possible, or " "emulation code for generic Unix systems. Return a pair of file descriptors " "``(master, slave)``, for the master and the slave end, respectively." msgstr "" +"Відкрийте нову пару псевдотерміналів, використовуючи :func:`os.openpty`, " +"якщо можливо, або код емуляції для загальних систем Unix. Повертає пару " +"файлових дескрипторів ``(master, slave)`` для головного та підлеглого кінця " +"відповідно." msgid "" "Spawn a process, and connect its controlling terminal with the current " @@ -73,12 +91,20 @@ msgid "" "spawned behind the pty will eventually terminate, and when it does *spawn* " "will return." msgstr "" +"Створіть процес і підключіть його керуючий термінал до стандартного io " +"поточного процесу. Це часто використовується, щоб збентежити програми, які " +"наполягають на читанні з керуючого терміналу. Очікується, що процес, " +"породжений за pty, зрештою завершиться, і коли це станеться, *spawn* " +"повернеться." msgid "" "A loop copies STDIN of the current process to the child and data received " "from the child to STDOUT of the current process. It is not signaled to the " "child if STDIN of the current process closes down." msgstr "" +"Цикл копіює STDIN поточного процесу до дочірнього процесу, а дані, отримані " +"від дочірнього процесу, до STDOUT поточного процесу. Дочірній процес не " +"повідомляється, якщо STDIN поточного процесу закривається." msgid "" "The functions *master_read* and *stdin_read* are passed a file descriptor " @@ -86,6 +112,10 @@ msgid "" "order to force spawn to return before the child process exits an empty byte " "array should be returned to signal end of file." msgstr "" +"Функціям *master_read* і *stdin_read* передається дескриптор файлу, з якого " +"вони повинні читати, і вони завжди повинні повертати рядок байтів. Щоб " +"змусити spawn повернутися до того, як дочірній процес завершить роботу, слід " +"повернути порожній масив байтів до кінця файлу." msgid "" "The default implementation for both functions will read and return up to " @@ -94,6 +124,11 @@ msgid "" "child process, and *stdin_read* is passed file descriptor 0, to read from " "the parent process's standard input." msgstr "" +"Реалізація за замовчуванням для обох функцій буде читати та повертати до " +"1024 байтів кожного разу, коли функція викликається. Зворотний виклик " +"*master_read* передається дескриптору головного файлу псевдотерміналу для " +"читання виводу з дочірнього процесу, а *stdin_read* передається дескриптор " +"файлу 0 для читання зі стандартного введення батьківського процесу." msgid "" "Returning an empty byte string from either callback is interpreted as an end-" @@ -103,25 +138,38 @@ msgid "" "quit without any input, *spawn* will then loop forever. If *master_read* " "signals EOF the same behavior results (on linux at least)." msgstr "" +"Повернення порожнього байтового рядка з будь-якого зворотного виклику " +"інтерпретується як умова кінця файлу (EOF), і цей зворотний виклик не буде " +"викликано після цього. Якщо *stdin_read* сигналізує EOF, керуючий термінал " +"більше не може спілкуватися з батьківським процесом АБО дочірнім процесом. " +"Якщо дочірній процес не завершить роботу без будь-яких вхідних даних, " +"*spawn* буде зациклюватися назавжди. Якщо *master_read* сигналізує EOF, це " +"призводить до такої ж поведінки (принаймні в Linux)." msgid "" "Return the exit status value from :func:`os.waitpid` on the child process." msgstr "" +"Повертає значення статусу виходу з :func:`os.waitpid` дочірнього процесу." msgid "" ":func:`os.waitstatus_to_exitcode` can be used to convert the exit status " "into an exit code." msgstr "" +":func:`os.waitstatus_to_exitcode` можно использовать для преобразования " +"статуса выхода в код выхода." msgid "" "Raises an :ref:`auditing event ` ``pty.spawn`` with argument " "``argv``." msgstr "" +"Викликає :ref:`подію аудиту ` ``pty.spawn`` з аргументом ``argv``." msgid "" ":func:`spawn` now returns the status value from :func:`os.waitpid` on the " "child process." msgstr "" +":func:`spawn` тепер повертає значення стану з :func:`os.waitpid` дочірнього " +"процесу." msgid "Example" msgstr "Przykład" @@ -131,6 +179,9 @@ msgid "" "a pseudo-terminal to record all input and output of a terminal session in a " "\"typescript\". ::" msgstr "" +"Наступна програма діє як команда Unix :manpage:`script(1)`, використовуючи " +"псевдотермінал для запису всіх вхідних і вихідних даних сеансу терміналу в " +"\"typescript\". ::" msgid "" "import argparse\n" @@ -164,3 +215,33 @@ msgid "" " script.write(('Script done on %s\\n' % time.asctime()).encode())\n" " print('Script done, file is', filename)" msgstr "" +"import argparse\n" +"import os\n" +"import pty\n" +"import sys\n" +"import time\n" +"\n" +"parser = argparse.ArgumentParser()\n" +"parser.add_argument('-a', dest='append', action='store_true')\n" +"parser.add_argument('-p', dest='use_python', action='store_true')\n" +"parser.add_argument('filename', nargs='?', default='typescript')\n" +"options = parser.parse_args()\n" +"\n" +"shell = sys.executable if options.use_python else os.environ.get('SHELL', " +"'sh')\n" +"filename = options.filename\n" +"mode = 'ab' if options.append else 'wb'\n" +"\n" +"with open(filename, mode) as script:\n" +" def read(fd):\n" +" data = os.read(fd, 1024)\n" +" script.write(data)\n" +" return data\n" +"\n" +" print('Script started, file is', filename)\n" +" script.write(('Script started on %s\\n' % time.asctime()).encode())\n" +"\n" +" pty.spawn(shell, read)\n" +"\n" +" script.write(('Script done on %s\\n' % time.asctime()).encode())\n" +" print('Script done, file is', filename)" diff --git a/library/pwd.po b/library/pwd.po index be3d7925e9..f3a5e61add 100644 --- a/library/pwd.po +++ b/library/pwd.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Waldemar Stoczkowski, 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -26,12 +24,14 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!pwd` --- The password database" -msgstr "" +msgstr ":mod:`!pwd` --- База данных паролей" msgid "" "This module provides access to the Unix user account and password database. " "It is available on all Unix versions." msgstr "" +"Цей модуль забезпечує доступ до бази даних облікових записів користувачів і " +"паролів Unix. Він доступний у всіх версіях Unix." msgid "Availability" msgstr "Dostępność" @@ -41,9 +41,12 @@ msgid "" "attributes correspond to the members of the ``passwd`` structure (Attribute " "field below, see ````):" msgstr "" +"Записи бази даних паролів повідомляються як об’єкт, подібний до кортежу, " +"атрибути якого відповідають членам структури ``passwd`` (поле атрибута " +"нижче, див. ````):" msgid "Index" -msgstr "" +msgstr "Indeks" msgid "Attribute" msgstr "atrybut" @@ -58,7 +61,7 @@ msgid "``pw_name``" msgstr "``pw_name``" msgid "Login name" -msgstr "" +msgstr "Nama *login*" msgid "1" msgstr "1" @@ -67,7 +70,7 @@ msgid "``pw_passwd``" msgstr "``pw_passwd``" msgid "Optional encrypted password" -msgstr "" +msgstr "Додатковий зашифрований пароль" msgid "2" msgstr "2" @@ -76,7 +79,7 @@ msgid "``pw_uid``" msgstr "``pw_uid``" msgid "Numerical user ID" -msgstr "" +msgstr "Числовий ідентифікатор користувача" msgid "3" msgstr "3" @@ -85,7 +88,7 @@ msgid "``pw_gid``" msgstr "``pw_gid``" msgid "Numerical group ID" -msgstr "" +msgstr "Ідентифікатор числової групи" msgid "4" msgstr "4" @@ -94,7 +97,7 @@ msgid "``pw_gecos``" msgstr "``pw_gecos``" msgid "User name or comment field" -msgstr "" +msgstr "Ім'я користувача або поле коментаря" msgid "5" msgstr "5" @@ -103,7 +106,7 @@ msgid "``pw_dir``" msgstr "``pw_dir``" msgid "User home directory" -msgstr "" +msgstr "Домашній каталог користувача" msgid "6" msgstr "6" @@ -112,12 +115,14 @@ msgid "``pw_shell``" msgstr "``pw_shell``" msgid "User command interpreter" -msgstr "" +msgstr "Інтерпретатор команд користувача" msgid "" "The uid and gid items are integers, all others are strings. :exc:`KeyError` " "is raised if the entry asked for cannot be found." msgstr "" +"Елементи uid і gid є цілими числами, всі інші є рядками. :exc:`KeyError` " +"виникає, якщо запитуваний запис не знайдено." msgid "" "In traditional Unix the field ``pw_passwd`` usually contains a password " @@ -128,22 +133,33 @@ msgid "" "world readable. Whether the *pw_passwd* field contains anything useful is " "system-dependent." msgstr "" +"В традиционном Unix поле pw_passwd обычно содержит пароль, зашифрованный с " +"помощью алгоритма, производного от DES. Однако большинство современных " +"устройств используют так называемую систему *теневых паролей*. В этих " +"устройствах поле *pw_passwd* содержит только звездочку (``'*'``) или букву " +"``'x'``, где зашифрованный пароль хранится в файле :file:`/etc/shadow`, " +"который не читается во всем мире. Содержит ли поле *pw_passwd* что-нибудь " +"полезное, зависит от системы." msgid "It defines the following items:" -msgstr "" +msgstr "Він визначає такі пункти:" msgid "Return the password database entry for the given numeric user ID." msgstr "" +"Повернути запис бази даних паролів для вказаного числового ідентифікатора " +"користувача." msgid "Return the password database entry for the given user name." -msgstr "" +msgstr "Повернути запис бази даних паролів для вказаного імені користувача." msgid "" "Return a list of all available password database entries, in arbitrary order." msgstr "" +"Повертає список усіх доступних записів бази даних паролів у довільному " +"порядку." msgid "Module :mod:`grp`" -msgstr "" +msgstr "Modul :mod:`grp`" msgid "An interface to the group database, similar to this." -msgstr "" +msgstr "Подібний до цього інтерфейс до бази даних групи." diff --git a/library/py_compile.po b/library/py_compile.po index 1591092652..0e4c8c319d 100644 --- a/library/py_compile.po +++ b/library/py_compile.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\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: haaritsubaki, 2023\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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,26 +24,34 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!py_compile` --- Compile Python source files" -msgstr "" +msgstr ":mod:`!py_compile` --- Компилировать исходные файлы Python" 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 " "file from a source file, and another function used when the module source " "file is invoked as a script." msgstr "" +"Модуль :mod:`py_compile` надає функцію для створення файлу байт-коду з " +"вихідного файлу та іншу функцію, яка використовується, коли вихідний файл " +"модуля викликається як сценарій." msgid "" "Though not often needed, this function can be useful when installing modules " "for shared use, especially if some of the users may not have permission to " "write the byte-code cache files in the directory containing the source code." msgstr "" +"Хоча ця функція не часто потрібна, вона може бути корисною під час " +"встановлення модулів для спільного використання, особливо якщо деякі " +"користувачі можуть не мати дозволу на запис файлів кешу байт-коду в " +"каталозі, що містить вихідний код." msgid "" "Exception raised when an error occurs while attempting to compile the file." msgstr "" +"Виняток виникає, коли виникає помилка під час спроби скомпілювати файл." msgid "" "Compile a source file to byte-code and write out the byte-code cache file. " @@ -59,6 +67,19 @@ msgid "" "raised. This function returns the path to byte-compiled file, i.e. whatever " "*cfile* value was used." msgstr "" +"Скомпилируйте исходный файл в байт-код и запишите файл кэша байт-кода. " +"Исходный код загружается из файла с именем *file*. Байт-код записывается в " +"*cfile*, который по умолчанию соответствует пути :pep:`3147`/:pep:`488`, " +"оканчивающемуся на ``.pyc``. Например, если *file* равен ``/foo/bar/baz." +"py``, *cfile* по умолчанию будет иметь значение ``/foo/bar/__pycache__/baz." +"cpython-32.pyc`` для Python 3.2. Если указано *dfile*, оно используется " +"вместо *file* в качестве имени исходного файла, из которого извлекаются " +"исходные строки для отображения в обратных трассировках исключений. Если " +"*doraise* истинно, при компиляции *file* возникает ошибка :exc:" +"`PyCompileError`. Если *doraise* имеет значение false (по умолчанию), строка " +"ошибки записывается в ``sys.stderr``, но исключение не создается. Эта " +"функция возвращает путь к скомпилированному побайтно файлу, т.е. любое " +"использованное значение *cfile*." msgid "" "The *doraise* and *quiet* arguments determine how errors are handled while " @@ -68,6 +89,13 @@ msgid "" "`PyCompileError` is raised instead. However if *quiet* is 2, no message is " "written, and *doraise* has no effect." msgstr "" +"Аргументи *doraise* і *quiet* визначають спосіб обробки помилок під час " +"компіляції файлу. Якщо *quiet* дорівнює 0 або 1, а *doraise* — false, " +"увімкнено поведінку за замовчуванням: рядок помилки записується в ``sys." +"stderr``, а функція повертає ``None`` замість шляху. Якщо *doraise* має " +"значення true, натомість виникає помилка :exc:`PyCompileError`. Однак, якщо " +"*quiet* дорівнює 2, повідомлення не буде написано, і *doraise* не матиме " +"ефекту." msgid "" "If the path that *cfile* becomes (either explicitly specified or computed) " @@ -77,12 +105,22 @@ msgid "" "a side-effect of import using file renaming to place the final byte-compiled " "file into place to prevent concurrent file writing issues." msgstr "" +"Якщо шлях, яким стає *cfile* (явно вказаний або обчислений), є символічним " +"посиланням або незвичайним файлом, буде викликано :exc:`FileExistsError`. Це " +"попереджає про те, що імпорт перетворить ці шляхи на звичайні файли, якщо " +"дозволено записувати скомпільовані файли в ці шляхи. Це побічний ефект " +"імпорту за допомогою перейменування файлу для розміщення остаточного " +"скомпільованого файлу на місце, щоб запобігти проблемам одночасного запису " +"файлу." msgid "" "*optimize* controls the optimization level and is passed to the built-in :" "func:`compile` function. The default of ``-1`` selects the optimization " "level of the current interpreter." msgstr "" +"*optimize* контролює рівень оптимізації та передається до вбудованої " +"функції :func:`compile`. Значення за замовчуванням ``-1`` вибирає рівень " +"оптимізації поточного інтерпретатора." msgid "" "*invalidation_mode* should be a member of the :class:`PycInvalidationMode` " @@ -91,12 +129,20 @@ msgid "" "envvar:`SOURCE_DATE_EPOCH` environment variable is set, otherwise the " "default is :attr:`PycInvalidationMode.TIMESTAMP`." msgstr "" +"*invalidation_mode* має бути членом переліку :class:`PycInvalidationMode` і " +"керувати тим, як згенерований кеш байт-коду стає недійсним під час " +"виконання. Типовим значенням є :attr:`PycInvalidationMode.CHECKED_HASH`, " +"якщо встановлено змінну середовища :envvar:`SOURCE_DATE_EPOCH`, інакше " +"значенням за замовчуванням є :attr:`PycInvalidationMode.TIMESTAMP`." msgid "" "Changed default value of *cfile* to be :PEP:`3147`-compliant. Previous " "default was *file* + ``'c'`` (``'o'`` if optimization was enabled). Also " "added the *optimize* parameter." msgstr "" +"Значення за замовчуванням *cfile* змінено на :PEP:`3147`-сумісне. Попереднє " +"значення за умовчанням було *file* + ``'c'`` (``'o'``, якщо оптимізацію було " +"ввімкнено). Також додано параметр *optimize*." msgid "" "Changed code to use :mod:`importlib` for the byte-code cache file writing. " @@ -105,6 +151,11 @@ msgid "" "that :exc:`FileExistsError` is raised if *cfile* is a symlink or non-regular " "file." msgstr "" +"Змінено код для використання :mod:`importlib` для запису файлу кешу байт-" +"коду. Це означає, що семантика створення/запису файлів тепер відповідає " +"тому, що робить :mod:`importlib`, напр. дозволи, семантика запису та " +"переміщення тощо. Також додано застереження, що :exc:`FileExistsError` " +"виникає, якщо *cfile* є символічним посиланням або незвичайним файлом." msgid "" "The *invalidation_mode* parameter was added as specified in :pep:`552`. If " @@ -112,15 +163,21 @@ msgid "" "*invalidation_mode* will be forced to :attr:`PycInvalidationMode." "CHECKED_HASH`." msgstr "" +"Параметр *invalidation_mode* додано, як зазначено в :pep:`552`. Якщо " +"встановлено змінну середовища :envvar:`SOURCE_DATE_EPOCH`, " +"*invalidation_mode* буде змушений :attr:`PycInvalidationMode.CHECKED_HASH`." msgid "" "The :envvar:`SOURCE_DATE_EPOCH` environment variable no longer overrides the " "value of the *invalidation_mode* argument, and determines its default value " "instead." msgstr "" +"Змінна середовища :envvar:`SOURCE_DATE_EPOCH` більше не перевизначає " +"значення аргументу *invalidation_mode* і визначає його значення за " +"умовчанням." msgid "The *quiet* parameter was added." -msgstr "" +msgstr "Додано параметр *quiet*." msgid "" "An enumeration of possible methods the interpreter can use to determine " @@ -129,32 +186,48 @@ msgid "" "invalidation` for more information on how Python invalidates ``.pyc`` files " "at runtime." msgstr "" +"Перечисление возможных методов, которые интерпретатор может использовать, " +"чтобы определить, соответствует ли файл байт-кода исходному файлу. Файл ``." +"pyc`` указывает желаемый режим недействительности в своем заголовке. См. :" +"ref:`pyc-invalidation` для получения дополнительной информации о том, как " +"Python делает недействительными файлы ``.pyc`` во время выполнения." msgid "" "The ``.pyc`` file includes the timestamp and size of the source file, which " "Python will compare against the metadata of the source file at runtime to " "determine if the ``.pyc`` file needs to be regenerated." msgstr "" +"Файл ``.pyc`` містить мітку часу та розмір вихідного файлу, який Python " +"порівнює з метаданими вихідного файлу під час виконання, щоб визначити, чи " +"потрібно генерувати файл ``.pyc`` повторно." msgid "" "The ``.pyc`` file includes a hash of the source file content, which Python " "will compare against the source at runtime to determine if the ``.pyc`` file " "needs to be regenerated." msgstr "" +"Файл ``.pyc`` містить хеш вмісту вихідного файлу, який Python порівнює з " +"джерелом під час виконання, щоб визначити, чи потрібно файл ``.pyc`` " +"повторно генерувати." msgid "" "Like :attr:`CHECKED_HASH`, the ``.pyc`` file includes a hash of the source " "file content. However, Python will at runtime assume the ``.pyc`` file is up " "to date and not validate the ``.pyc`` against the source file at all." msgstr "" +"Як і :attr:`CHECKED_HASH`, файл ``.pyc`` містить хеш вмісту вихідного файлу. " +"Однак під час виконання Python вважатиме, що файл ``.pyc`` оновлений, і " +"взагалі не перевірятиме ``.pyc`` на вихідний файл." msgid "" "This option is useful when the ``.pycs`` are kept up to date by some system " "external to Python like a build system." msgstr "" +"Цей параметр корисний, коли ``.pycs`` підтримується в актуальному стані " +"деякою системою, зовнішньою для Python, наприклад системою збірки." msgid "Command-Line Interface" -msgstr "" +msgstr "Інтерфейс командного рядка" msgid "" "This module can be invoked as a script to compile several source files. The " @@ -163,29 +236,36 @@ msgid "" "locate source files; it only compiles files named explicitly. The exit " "status is nonzero if one of the files could not be compiled." msgstr "" +"Цей модуль можна викликати як сценарій для компіляції кількох вихідних " +"файлів. Файли, названі в *імена файлів*, компілюються, а отриманий байт-код " +"кешується звичайним способом. Ця програма не шукає структуру каталогів для " +"пошуку вихідних файлів; він компілює лише файли з явним іменем. Статус " +"виходу відмінний від нуля, якщо один із файлів не вдалося скомпілювати." msgid "" "Positional arguments are files to compile. If ``-`` is the only parameter, " "the list of files is taken from standard input." msgstr "" +"Позиційні аргументи — це файли для компіляції. Якщо ``-`` є єдиним " +"параметром, список файлів береться зі стандартного введення." msgid "Suppress errors output." -msgstr "" +msgstr "Придушення виведення помилок." msgid "Added support for ``-``." -msgstr "" +msgstr "Додано підтримку ``-``." msgid "Added support for :option:`-q`." -msgstr "" +msgstr "Додано підтримку :option:`-q`." msgid "Module :mod:`compileall`" -msgstr "" +msgstr "Модуль :mod:`compileall`" msgid "Utilities to compile all Python source files in a directory tree." -msgstr "" +msgstr "Утиліти для компіляції всіх вихідних файлів Python у дереві каталогів." msgid "file" msgstr "plik" msgid "byte-code" -msgstr "" +msgstr "байт-код" diff --git a/library/pyclbr.po b/library/pyclbr.po index 6a142a526d..b764dc0b1f 100644 --- a/library/pyclbr.po +++ b/library/pyclbr.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Waldemar Stoczkowski, 2023 -# Maciej Olko , 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\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: Maciej Olko , 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/library/pydoc.po b/library/pydoc.po index 7dbd0e7997..4a8fb7dd6c 100644 --- a/library/pydoc.po +++ b/library/pydoc.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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,16 +24,19 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!pydoc` --- Documentation generator and online help system" -msgstr "" +msgstr ":mod:`!pydoc` --- Генератор документации и онлайн-справочная система." 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 " "modules. The documentation can be presented as pages of text on the " "console, served to a web browser, or saved to HTML files." msgstr "" +"Модуль :mod:`!pydoc` автоматически генерирует документацию из модулей " +"Python. Документация может быть представлена ​​в виде страниц текста на " +"консоли, отображена в веб-браузере или сохранена в файлах HTML." msgid "" "For modules, classes, functions and methods, the displayed documentation is " @@ -44,6 +47,12 @@ msgid "" "the source file, or at the top of the module (see :func:`inspect." "getcomments`)." msgstr "" +"Для модулей, классов, функций и методов отображаемая документация получается " +"из строки документации (т.е. атрибута :attr:`~definition.__doc__`) объекта и " +"рекурсивно из его документируемых членов. Если строка документации " +"отсутствует, :mod:`!pydoc` пытается получить описание из блока строк " +"комментариев чуть выше определения класса, функции или метода в исходном " +"файле или в верхней части модуля (см.: func:`inspect.getcomments`)." msgid "" "The built-in function :func:`help` invokes the online help system in the " @@ -52,9 +61,14 @@ msgid "" "be viewed from outside the Python interpreter by running :program:`pydoc` as " "a script at the operating system's command prompt. For example, running ::" msgstr "" +"Встроенная функция :func:`help` вызывает интерактивную справочную систему в " +"интерактивном интерпретаторе, который использует :mod:`!pydoc` для генерации " +"документации в виде текста на консоли. Эту же текстовую документацию можно " +"просмотреть и вне интерпретатора Python, запустив :program:`pydoc` как " +"скрипт в командной строке операционной системы. Например, запуск ::" msgid "python -m pydoc sys" -msgstr "" +msgstr "python -m pydoc sys" msgid "" "at a shell prompt will display documentation on the :mod:`sys` module, in a " @@ -66,6 +80,14 @@ msgid "" "system, such as a slash in Unix), and refers to an existing Python source " "file, then documentation is produced for that file." msgstr "" +"у підказці оболонки відобразить документацію щодо модуля :mod:`sys` у стилі, " +"подібному до сторінок посібника, показаних командою Unix :program:`man`. " +"Аргументом :program:`pydoc` може бути назва функції, модуля чи пакета, або " +"посилання з крапками на клас, метод або функцію в межах модуля чи модуля в " +"пакеті. Якщо аргумент :program:`pydoc` виглядає як шлях (тобто він містить " +"роздільник шляхів для вашої операційної системи, наприклад косу риску в " +"Unix), і посилається на існуючий вихідний файл Python, тоді створюється " +"документація для цей файл." msgid "" "In order to find objects and their documentation, :mod:`!pydoc` imports the " @@ -73,6 +95,11 @@ msgid "" "executed on that occasion. Use an ``if __name__ == '__main__':`` guard to " "only execute code when a file is invoked as a script and not just imported." msgstr "" +"Чтобы найти объекты и их документацию, :mod:`!pydoc` импортирует модули, " +"подлежащие документированию. Следовательно, в этом случае будет выполнен " +"любой код на уровне модуля. Используйте защиту ``if __name__ == '__main__':" +"``, чтобы выполнять код только тогда, когда файл вызывается как скрипт, а не " +"просто импортируется." msgid "" "When printing output to the console, :program:`pydoc` attempts to paginate " @@ -80,12 +107,19 @@ msgid "" "envvar:`PAGER` environment variable is set, :program:`pydoc` will use its " "value as a pagination program. When both are set, :envvar:`MANPAGER` is used." msgstr "" +"При выводе вывода на консоль :program:`pydoc` пытается разбить вывод на " +"страницы для облегчения чтения. Если установлена ​​переменная среды :envvar:" +"`MANPAGER` или :envvar:`PAGER`, :program:`pydoc` будет использовать ее " +"значение в качестве программы нумерации страниц. Если установлены оба " +"параметра, используется :envvar:`MANPAGER`." msgid "" "Specifying a ``-w`` flag before the argument will cause HTML documentation " "to be written out to a file in the current directory, instead of displaying " "text on the console." msgstr "" +"Якщо вказати прапорець ``-w`` перед аргументом, документація HTML буде " +"записана у файл у поточному каталозі замість відображення тексту на консолі." msgid "" "Specifying a ``-k`` flag before the argument will search the synopsis lines " @@ -93,6 +127,10 @@ msgid "" "manner similar to the Unix :program:`man` command. The synopsis line of a " "module is the first line of its documentation string." msgstr "" +"Якщо вказати прапорець ``-k`` перед аргументом, буде здійснюватися пошук " +"ключових слів, указаних як аргумент, у рядках короткого опису всіх доступних " +"модулів, знову ж таки, як у команді Unix :program:`man`. Рядок короткого " +"опису модуля є першим рядком рядка документації." msgid "" "You can also use :program:`pydoc` to start an HTTP server on the local " @@ -102,6 +140,12 @@ msgid "" "preferred web browser. Specifying ``0`` as the port number will select an " "arbitrary unused port." msgstr "" +"Вы также можете использовать :program:`pydoc` для запуска HTTP-сервера на " +"локальном компьютере, который будет предоставлять документацию посещающим " +"веб-браузерам. :program:`python -m pydoc -p 1234` запустит HTTP-сервер на " +"порту 1234, что позволит вам просматривать документацию по адресу ``http://" +"localhost:1234/`` в предпочитаемом вами веб-браузере. Если указать ``0`` в " +"качестве номера порта, будет выбран произвольный неиспользуемый порт." msgid "" ":program:`python -m pydoc -n ` will start the server listening at " @@ -110,6 +154,11 @@ msgid "" "host name that the server responds to. During development this is " "especially useful if you want to run pydoc from within a container." msgstr "" +":program:`python -m pydoc -n <имя_хоста>` запустит сервер, прослушивающий " +"указанное имя хоста. По умолчанию имя хоста — «localhost», но если вы " +"хотите, чтобы сервер был доступен с других компьютеров, вы можете изменить " +"имя хоста, на которое отвечает сервер. Во время разработки это особенно " +"полезно, если вы хотите запустить pydoc из контейнера." msgid "" ":program:`python -m pydoc -b` will start the server and additionally open a " @@ -118,6 +167,11 @@ msgid "" "modules with a keyword in their synopsis line, and go to the *Module index*, " "*Topics* and *Keywords* pages." msgstr "" +":program:`python -m pydoc -b` запустит сервер и дополнительно откроет в веб-" +"браузере индексную страницу модуля. Каждая обслуживаемая страница имеет " +"панель навигации вверху, где вы можете *Получить* справку по отдельному " +"элементу, *Искать* все модули по ключевому слову в строке синопсиса и " +"перейти к *Индексу модулей*, *Темам* и *Ключевым словам. * страницы." msgid "" "When :program:`pydoc` generates documentation, it uses the current " @@ -125,6 +179,10 @@ msgid "" "spam` documents precisely the version of the module you would get if you " "started the Python interpreter and typed ``import spam``." msgstr "" +"Коли :program:`pydoc` створює документацію, вона використовує поточне " +"середовище та шлях для пошуку модулів. Таким чином, виклик :program:`pydoc " +"spam` документує саме ту версію модуля, яку ви отримаєте, якщо запустите " +"інтерпретатор Python і введете ``import spam``." msgid "" "Module docs for core modules are assumed to reside in ``https://docs.python." @@ -133,29 +191,38 @@ msgid "" "envvar:`!PYTHONDOCS` environment variable to a different URL or to a local " "directory containing the Library Reference Manual pages." msgstr "" +"Предполагается, что документация по основным модулям находится в ``https://" +"docs.python.org/XY/library/``, где ``X`` и ``Y`` — это основной и " +"дополнительный номера версий Python. устный переводчик. Это можно " +"переопределить, установив для переменной среды :envvar:`!PYTHONDOCS` другой " +"URL-адрес или локальный каталог, содержащий страницы справочного руководства " +"по библиотеке." msgid "Added the ``-b`` option." -msgstr "" +msgstr "Додано опцію ``-b``." msgid "The ``-g`` command line option was removed." -msgstr "" +msgstr "Параметр командного рядка ``-g`` видалено." msgid "" ":mod:`!pydoc` now uses :func:`inspect.signature` rather than :func:`inspect." "getfullargspec` to extract signature information from callables." msgstr "" +":mod:`!pydoc` теперь использует :func:`inspect.signature` вместо :func:" +"`inspect.getfullargspec` для извлечения информации о подписи из вызываемых " +"объектов." msgid "Added the ``-n`` option." -msgstr "" +msgstr "Додано опцію ``-n``." msgid "documentation" -msgstr "" +msgstr "документация" msgid "generation" -msgstr "" +msgstr "генерация" msgid "online" -msgstr "" +msgstr "онлайн" msgid "help" msgstr "pomoc" diff --git a/library/pyexpat.po b/library/pyexpat.po index 252b3aba21..952e9de04d 100644 --- a/library/pyexpat.po +++ b/library/pyexpat.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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,9 +27,8 @@ 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 "" diff --git a/library/queue.po b/library/queue.po index 483edd9b56..53f65d83ce 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-2025, 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.13\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-07-25 15:00+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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:`queue` --- A synchronized queue class" +msgid ":mod:`!queue` --- A synchronized queue class" msgstr "" msgid "**Source code:** :source:`Lib/queue.py`" @@ -96,6 +96,16 @@ 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 "" + msgid "" "Constructor for an unbounded :abbr:`FIFO (first-in, first-out)` queue. " "Simple queues lack advanced functionality such as task tracking." @@ -111,6 +121,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 +164,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,9 +188,14 @@ msgid "" "`KeyboardInterrupt`." msgstr "" -msgid "Equivalent to ``get(False)``." +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 "Еквівалент ``get(False)``." + msgid "" "Two methods are offered to support tracking whether enqueued tasks have been " "fully processed by daemon consumer threads." @@ -194,6 +217,8 @@ msgid "" "Raises a :exc:`ValueError` if called more times than there were items placed " "in the queue." msgstr "" +"Викликає :exc:`ValueError`, якщо викликається стільки разів, скільки було " +"елементів у черзі." msgid "Blocks until all items in the queue have been gotten and processed." msgstr "" @@ -206,9 +231,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..05f868fb4b 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-2025, 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.13\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-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-05-08 05:10+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,10 +80,10 @@ msgid "quoted-printable" msgstr "" msgid "encoding" -msgstr "" +msgstr "кодування" msgid "MIME" -msgstr "" +msgstr "MIME" msgid "quoted-printable encoding" msgstr "" diff --git a/library/random.po b/library/random.po index b85dedf616..c3587e6fd4 100644 --- a/library/random.po +++ b/library/random.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -25,15 +24,16 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!random` --- Generate pseudo-random numbers" -msgstr "" +msgstr ":mod:`!random` --- Генерация псевдослучайных чисел" 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 " "distributions." msgstr "" +"Цей модуль реалізує генератори псевдовипадкових чисел для різних розподілів." msgid "" "For integers, there is uniform selection from a range. For sequences, there " @@ -41,12 +41,20 @@ msgid "" "permutation of a list in-place, and a function for random sampling without " "replacement." msgstr "" +"Для цілих чисел існує рівномірний вибір із діапазону. Для послідовностей " +"існує рівномірний вибір випадкового елемента, функція для створення " +"випадкової перестановки списку на місці та функція для випадкової вибірки " +"без заміни." msgid "" "On the real line, there are functions to compute uniform, normal (Gaussian), " "lognormal, negative exponential, gamma, and beta distributions. For " "generating distributions of angles, the von Mises distribution is available." msgstr "" +"На реальній лінії існують функції для обчислення рівномірного, нормального " +"(гауссового), логарифмічного нормального, від’ємного експоненціального, " +"гамма- та бета-розподілу. Для генерації розподілу кутів доступний розподіл " +"фон Мізеса." msgid "" "Almost all module functions depend on the basic function :func:`.random`, " @@ -58,35 +66,60 @@ msgid "" "However, being completely deterministic, it is not suitable for all " "purposes, and is completely unsuitable for cryptographic purposes." msgstr "" +"Почти все функции модуля зависят от базовой функции :func:`.random`, которая " +"равномерно генерирует случайное число с плавающей запятой в полуоткрытом " +"диапазоне ``0.0 <= X < 1.0``. Python использует Mersenne Twister в качестве " +"основного генератора. Он производит 53-битные числа с плавающей запятой и " +"имеет период 2\\*\\*19937-1. Базовая реализация на C является одновременно " +"быстрой и потокобезопасной. Mersenne Twister — один из наиболее тщательно " +"протестированных существующих генераторов случайных чисел. Однако, будучи " +"полностью детерминированным, он подходит не для всех целей и совершенно " +"непригоден для криптографических целей." msgid "" "The functions supplied by this module are actually bound methods of a hidden " "instance of the :class:`random.Random` class. You can instantiate your own " "instances of :class:`Random` to get generators that don't share state." msgstr "" +"Функції, які надає цей модуль, насправді є зв’язаними методами прихованого " +"екземпляра класу :class:`random.Random`. Ви можете створити власні " +"екземпляри :class:`Random`, щоб отримати генератори, які не мають спільного " +"стану." msgid "" "Class :class:`Random` can also be subclassed if you want to use a different " "basic generator of your own devising: see the documentation on that class " "for more details." msgstr "" +"Класс :class:`Random` также может быть подклассом, если вы хотите " +"использовать другой базовый генератор собственной разработки: более " +"подробную информацию см. в документации по этому классу." 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." msgstr "" +"Модуль :mod:`random` також надає клас :class:`SystemRandom`, який " +"використовує системну функцію :func:`os.urandom` для генерування випадкових " +"чисел із джерел, наданих операційною системою." msgid "" "The pseudo-random generators of this module should not be used for security " "purposes. For security or cryptographic uses, see the :mod:`secrets` module." msgstr "" +"Псевдовипадкові генератори цього модуля не слід використовувати з метою " +"безпеки. Щоб отримати відомості про безпеку чи криптографію, перегляньте " +"модуль :mod:`secrets`." msgid "" "M. Matsumoto and T. Nishimura, \"Mersenne Twister: A 623-dimensionally " "equidistributed uniform pseudorandom number generator\", ACM Transactions on " "Modeling and Computer Simulation Vol. 8, No. 1, January pp.3--30 1998." msgstr "" +"M. Matsumoto and T. Nishimura, \"Mersenne Twister: 623-dimensionally " +"equidistributed uniform pseudorandom number generator\", ACM Transactions on " +"Modeling and Computer Simulation Vol. 8, № 1, січень 3-30 1998." msgid "" "`Complementary-Multiply-with-Carry recipe `_ для совместимого " +"альтернативного генератора случайных чисел с длительным периодом и " +"сравнительно простые операции обновления." msgid "" "The global random number generator and instances of :class:`Random` are " @@ -102,12 +139,18 @@ msgid "" "contention and poor performance. Consider using separate instances of :class:" "`Random` per thread instead." msgstr "" +"Глобальный генератор случайных чисел и экземпляры :class:`Random` являются " +"потокобезопасными. Однако в сборке со свободным потоком одновременные вызовы " +"глобального генератора или одного и того же экземпляра :class:`Random` могут " +"столкнуться с конфликтами и низкой производительностью. Вместо этого " +"рассмотрите возможность использования отдельных экземпляров :class:`Random` " +"для каждого потока." msgid "Bookkeeping functions" -msgstr "" +msgstr "Бухгалтерські функції" msgid "Initialize the random number generator." -msgstr "" +msgstr "Ініціалізуйте генератор випадкових чисел." msgid "" "If *a* is omitted or ``None``, the current system time is used. If " @@ -115,89 +158,123 @@ msgid "" "instead of the system time (see the :func:`os.urandom` function for details " "on availability)." msgstr "" +"Якщо *a* пропущено або ``None``, використовується поточний системний час. " +"Якщо джерела випадковості надаються операційною системою, вони " +"використовуються замість системного часу (дивіться функцію :func:`os." +"urandom`, щоб дізнатися більше про доступність)." msgid "If *a* is an int, it is used directly." -msgstr "" +msgstr "Якщо *a* є int, воно використовується безпосередньо." msgid "" "With version 2 (the default), a :class:`str`, :class:`bytes`, or :class:" "`bytearray` object gets converted to an :class:`int` and all of its bits are " "used." msgstr "" +"У версії 2 (за замовчуванням) об’єкт :class:`str`, :class:`bytes` або :class:" +"`bytearray` перетворюється на :class:`int` і використовуються всі його біти." msgid "" "With version 1 (provided for reproducing random sequences from older " "versions of Python), the algorithm for :class:`str` and :class:`bytes` " "generates a narrower range of seeds." msgstr "" +"У версії 1 (надається для відтворення випадкових послідовностей зі старих " +"версій Python) алгоритм для :class:`str` і :class:`bytes` генерує вужчий " +"діапазон початкових значень." msgid "" "Moved to the version 2 scheme which uses all of the bits in a string seed." msgstr "" +"Перенесено на схему версії 2, яка використовує всі біти початкового рядка." msgid "" "The *seed* must be one of the following types: ``None``, :class:`int`, :" "class:`float`, :class:`str`, :class:`bytes`, or :class:`bytearray`." msgstr "" +"*Seed* должно быть одного из следующих типов: ``None``, :class:`int`, :class:" +"`float`, :class:`str`, :class:`bytes` или :class: `bytearray`." msgid "" "Return an object capturing the current internal state of the generator. " "This object can be passed to :func:`setstate` to restore the state." msgstr "" +"Повертає об’єкт, що фіксує поточний внутрішній стан генератора. Цей об’єкт " +"можна передати :func:`setstate` для відновлення стану." msgid "" "*state* should have been obtained from a previous call to :func:`getstate`, " "and :func:`setstate` restores the internal state of the generator to what it " "was at the time :func:`getstate` was called." msgstr "" +"*state* мав бути отриманий з попереднього виклику :func:`getstate`, а :func:" +"`setstate` відновлює внутрішній стан генератора до того, яким він був на " +"момент виклику :func:`getstate`." msgid "Functions for bytes" -msgstr "" +msgstr "Функції для байтів" msgid "Generate *n* random bytes." -msgstr "" +msgstr "Згенерувати *n* випадкових байтів." msgid "" "This method should not be used for generating security tokens. Use :func:" "`secrets.token_bytes` instead." msgstr "" +"Цей метод не слід використовувати для генерації маркерів безпеки. Натомість " +"використовуйте :func:`secrets.token_bytes`." msgid "Functions for integers" -msgstr "" +msgstr "Функції для цілих чисел" msgid "Return a randomly selected element from ``range(start, stop, step)``." msgstr "" +"Возвращает случайно выбранный элемент из диапазона (начало, остановка, шаг)." msgid "" "This is roughly equivalent to ``choice(range(start, stop, step))`` but " "supports arbitrarily large ranges and is optimized for common cases." msgstr "" +"Это примерно эквивалентно ``choice(range(start, stop, Step))``, но " +"поддерживает сколь угодно большие диапазоны и оптимизировано для " +"распространенных случаев." msgid "The positional argument pattern matches the :func:`range` function." -msgstr "" +msgstr "Шаблон позиционного аргумента соответствует функции :func:`range`." msgid "" "Keyword arguments should not be used because they can be interpreted in " "unexpected ways. For example ``randrange(start=100)`` is interpreted as " "``randrange(0, 100, 1)``." msgstr "" +"Аргументы ключевых слов не следует использовать, поскольку они могут быть " +"интерпретированы неожиданным образом. Например, ``randrange(start=100)`` " +"интерпретируется как ``randrange(0, 100, 1)``." msgid "" ":meth:`randrange` is more sophisticated about producing equally distributed " "values. Formerly it used a style like ``int(random()*n)`` which could " "produce slightly uneven distributions." msgstr "" +":meth:`randrange` більш складний у створенні рівномірно розподілених " +"значень. Раніше він використовував такий стиль, як ``int(random()*n)``, який " +"міг створити дещо нерівномірний розподіл." msgid "" "Automatic conversion of non-integer types is no longer supported. Calls such " "as ``randrange(10.0)`` and ``randrange(Fraction(10, 1))`` now raise a :exc:" "`TypeError`." msgstr "" +"Автоматическое преобразование нецелочисленных типов больше не " +"поддерживается. Такие вызовы, как randrange(10.0) и randrange(Fraction(10, " +"1)) теперь вызывают ошибку :exc:`TypeError`." msgid "" "Return a random integer *N* such that ``a <= N <= b``. Alias for " "``randrange(a, b+1)``." msgstr "" +"Повертає випадкове ціле число *N* таке, що ``a <= N <= b``. Псевдонім для " +"``randrange(a, b+1)``." msgid "" "Returns a non-negative Python integer with *k* random bits. This method is " @@ -205,22 +282,31 @@ msgid "" "also provide it as an optional part of the API. When available, :meth:" "`getrandbits` enables :meth:`randrange` to handle arbitrarily large ranges." msgstr "" +"Возвращает неотрицательное целое число Python со случайными битами *k*. Этот " +"метод поставляется с генератором Mersenne Twister, а некоторые другие " +"генераторы также могут предоставлять его как дополнительную часть API. Если " +"доступно, :meth:`getrandbits` позволяет :meth:`randrange` обрабатывать " +"произвольно большие диапазоны." msgid "This method now accepts zero for *k*." -msgstr "" +msgstr "Цей метод тепер приймає нуль для *k*." msgid "Functions for sequences" -msgstr "" +msgstr "Функції для послідовностей" msgid "" "Return a random element from the non-empty sequence *seq*. If *seq* is " "empty, raises :exc:`IndexError`." msgstr "" +"Повертає випадковий елемент із непорожньої послідовності *seq*. Якщо *seq* " +"порожній, викликає :exc:`IndexError`." msgid "" "Return a *k* sized list of elements chosen from the *population* with " "replacement. If the *population* is empty, raises :exc:`IndexError`." msgstr "" +"Повертає список елементів розміром *k*, вибраних із *популяції* із заміною. " +"Якщо *популяція* порожня, викликає :exc:`IndexError`." msgid "" "If a *weights* sequence is specified, selections are made according to the " @@ -231,6 +317,13 @@ msgid "" "50]``. Internally, the relative weights are converted to cumulative weights " "before making selections, so supplying the cumulative weights saves work." msgstr "" +"Якщо вказано послідовність *ваг*, вибір робиться відповідно до відносних " +"ваг. Крім того, якщо вказано послідовність *cum_weights*, вибір робиться " +"відповідно до кумулятивних ваг (можливо, обчислених за допомогою :func:" +"`itertools.accumulate`). Наприклад, відносні ваги ``[10, 5, 30, 5]`` " +"еквівалентні кумулятивним вагам ``[10, 15, 45, 50]``. Внутрішньо відносні " +"ваги перетворюються на кумулятивні ваги перед вибором, тому надання " +"кумулятивних ваг економить роботу." msgid "" "If neither *weights* nor *cum_weights* are specified, selections are made " @@ -238,6 +331,10 @@ msgid "" "same length as the *population* sequence. It is a :exc:`TypeError` to " "specify both *weights* and *cum_weights*." msgstr "" +"Якщо ані *weights*, ані *cum_weights* не вказано, вибір робиться з рівною " +"ймовірністю. Якщо надається послідовність ваг, вона має бути такої ж " +"довжини, що й послідовність *населеності*. Це :exc:`TypeError`, якщо вказати " +"*weights* і *cum_weights*." msgid "" "The *weights* or *cum_weights* can use any numeric type that interoperates " @@ -246,6 +343,11 @@ msgid "" "to be non-negative and finite. A :exc:`ValueError` is raised if all weights " "are zero." msgstr "" +"*Weights* або *cum_weights* можуть використовувати будь-який числовий тип, " +"який взаємодіє зі значеннями :class:`float`, які повертає :func:`random` (це " +"включає цілі числа, числа з плаваючою точкою та дроби, але виключає " +"десяткові). Ваги вважаються невід’ємними та кінцевими. Помилка :exc:" +"`ValueError` виникає, якщо всі ваги дорівнюють нулю." msgid "" "For a given seed, the :func:`choices` function with equal weighting " @@ -255,17 +357,26 @@ msgid "" "`choice` defaults to integer arithmetic with repeated selections to avoid " "small biases from round-off error." msgstr "" +"Для данного начального значения функция :func:`choices` с равным весом " +"обычно создает последовательность, отличную от повторных вызовов :func:" +"`choice`. Алгоритм, используемый :func:`choices`, использует арифметику с " +"плавающей запятой для обеспечения внутренней согласованности и скорости. " +"Алгоритм, используемый :func:`choice`, по умолчанию использует целочисленную " +"арифметику с повторяющимся выбором, чтобы избежать небольших ошибок из-за " +"ошибки округления." msgid "Raises a :exc:`ValueError` if all weights are zero." -msgstr "" +msgstr "Викликає :exc:`ValueError`, якщо всі ваги дорівнюють нулю." msgid "Shuffle the sequence *x* in place." -msgstr "" +msgstr "Перемішайте послідовність *x* на місці." msgid "" "To shuffle an immutable sequence and return a new shuffled list, use " "``sample(x, k=len(x))`` instead." msgstr "" +"Щоб перетасувати незмінну послідовність і повернути новий перетасований " +"список, замість цього використовуйте ``sample(x, k=len(x))``." msgid "" "Note that even for small ``len(x)``, the total number of permutations of *x* " @@ -274,14 +385,23 @@ msgid "" "generated. For example, a sequence of length 2080 is the largest that can " "fit within the period of the Mersenne Twister random number generator." msgstr "" +"Зауважте, що навіть для невеликого ``len(x)`` загальна кількість " +"перестановок *x* може швидко зрости більше, ніж період більшості генераторів " +"випадкових чисел. Це означає, що більшість перестановок довгої послідовності " +"ніколи не можуть бути згенеровані. Наприклад, послідовність довжиною 2080 є " +"найбільшою, яка може поміститися в період генератора випадкових чисел " +"Мерсенна Твістера." msgid "Removed the optional parameter *random*." -msgstr "" +msgstr "Удален необязательный параметр *random*." msgid "" "Return a *k* length list of unique elements chosen from the population " "sequence. Used for random sampling without replacement." msgstr "" +"Возвращает список длиной *k* уникальных элементов, выбранных из " +"последовательности совокупности. Используется для случайной выборки без " +"замены." msgid "" "Returns a new list containing elements from the population while leaving the " @@ -290,12 +410,19 @@ msgid "" "winners (the sample) to be partitioned into grand prize and second place " "winners (the subslices)." msgstr "" +"Повертає новий список, що містить елементи з сукупності, залишаючи вихідну " +"сукупність без змін. Отриманий список складається в порядку відбору, тому " +"всі підзрізи також будуть дійсними випадковими вибірками. Це дозволяє " +"розділити переможців розіграшу (зразок) на головний приз і переможців, які " +"посідають друге місце (підрозділи)." msgid "" "Members of the population need not be :term:`hashable` or unique. If the " "population contains repeats, then each occurrence is a possible selection in " "the sample." msgstr "" +"Члени сукупності не повинні бути :term:`hashable` або унікальними. Якщо " +"популяція містить повтори, то кожен випадок є можливим вибором у вибірці." msgid "" "Repeated elements can be specified one at a time or with the optional " @@ -303,52 +430,69 @@ msgid "" "counts=[4, 2], k=5)`` is equivalent to ``sample(['red', 'red', 'red', 'red', " "'blue', 'blue'], k=5)``." msgstr "" +"Повторювані елементи можна вказувати по одному або за допомогою " +"необов’язкового параметра *counts*, що містить лише ключове слово. " +"Наприклад, ``sample(['red', 'blue'], counts=[4, 2], k=5)`` еквівалентно " +"``sample(['red', 'red', 'red' , 'червоний', 'синій', 'синій'], k=5)``." msgid "" "To choose a sample from a range of integers, use a :func:`range` object as " "an argument. This is especially fast and space efficient for sampling from " "a large population: ``sample(range(10000000), k=60)``." msgstr "" +"Щоб вибрати вибірку з діапазону цілих чисел, використовуйте об’єкт :func:" +"`range` як аргумент. Це особливо швидко та ефективно для вибірки з великої " +"сукупності: ``sample(range(10000000), k=60)``." msgid "" "If the sample size is larger than the population size, a :exc:`ValueError` " "is raised." msgstr "" +"Якщо розмір вибірки більший за розмір сукупності, виникає помилка :exc:" +"`ValueError`." msgid "Added the *counts* parameter." -msgstr "" +msgstr "Додано параметр *counts*." msgid "" "The *population* must be a sequence. Automatic conversion of sets to lists " "is no longer supported." msgstr "" +"*Популяция* должна быть последовательностью. Автоматическое преобразование " +"наборов в списки больше не поддерживается." msgid "Discrete distributions" -msgstr "" +msgstr "Дискретные распределения" msgid "The following function generates a discrete distribution." -msgstr "" +msgstr "Следующая функция генерирует дискретное распределение." msgid "" "`Binomial distribution `_. Return the number of successes for *n* independent trials with the " "probability of success in each trial being *p*:" msgstr "" +"`Биномиальное распределение `_. Возвращает количество успехов для *n* " +"независимых испытаний с вероятностью успеха в каждом испытании, равной *p*:" msgid "Mathematically equivalent to::" -msgstr "" +msgstr "Математически эквивалентно::" msgid "sum(random() < p for i in range(n))" -msgstr "" +msgstr "sum(random() < p for i in range(n))" msgid "" "The number of trials *n* should be a non-negative integer. The probability " "of success *p* should be between ``0.0 <= p <= 1.0``. The result is an " "integer in the range ``0 <= X <= n``." msgstr "" +"Количество попыток *n* должно быть неотрицательным целым числом. Вероятность " +"успеха *p* должна находиться в диапазоне ``0,0 <= p <= 1,0``. Результатом " +"является целое число в диапазоне ``0 <= X <= n``." msgid "Real-valued distributions" -msgstr "" +msgstr "Дійсні розподіли" msgid "" "The following functions generate specific real-valued distributions. " @@ -356,20 +500,31 @@ msgid "" "distribution's equation, as used in common mathematical practice; most of " "these equations can be found in any statistics text." msgstr "" +"Наступні функції генерують конкретні дійсні розподіли. Параметри функції " +"називаються за відповідними змінними в рівнянні розподілу, як це " +"використовується в звичайній математичній практиці; більшість із цих рівнянь " +"можна знайти в будь-якому статистичному тексті." msgid "" "Return the next random floating-point number in the range ``0.0 <= X < 1.0``" msgstr "" +"Вернуть следующее случайное число с плавающей запятой в диапазоне ``0.0 <= X " +"< 1.0``" msgid "" "Return a random floating-point number *N* such that ``a <= N <= b`` for ``a " "<= b`` and ``b <= N <= a`` for ``b < a``." msgstr "" +"Возвращает случайное число с плавающей запятой *N* такое, что ``a <= N <= " +"b`` для ``a <= b`` и ``b <= N <= a`` для ``b < a ``." msgid "" "The end-point value ``b`` may or may not be included in the range depending " "on floating-point rounding in the expression ``a + (b-a) * random()``." msgstr "" +"Значение конечной точки ``b`` может быть включено или не включено в диапазон " +"в зависимости от округления с плавающей запятой в выражении ``a + (ba) * " +"random()``." msgid "" "Return a random floating-point number *N* such that ``low <= N <= high`` and " @@ -377,11 +532,18 @@ msgid "" "default to zero and one. The *mode* argument defaults to the midpoint " "between the bounds, giving a symmetric distribution." msgstr "" +"Возвращает случайное число с плавающей запятой *N* такое, что ``low <= N <= " +"high`` и с указанным *mode* между этими границами. *Низкие* и *высокие* " +"границы по умолчанию равны нулю и единице. Аргумент *mode* по умолчанию " +"устанавливает среднюю точку между границами, обеспечивая симметричное " +"распределение." msgid "" "Beta distribution. Conditions on the parameters are ``alpha > 0`` and " "``beta > 0``. Returned values range between 0 and 1." msgstr "" +"Бета-розповсюдження. Умови параметрів: ``альфа > 0`` і ``бета > 0``. " +"Діапазон повернених значень від 0 до 1." msgid "" "Exponential distribution. *lambd* is 1.0 divided by the desired mean. It " @@ -390,30 +552,44 @@ msgid "" "if *lambd* is positive, and from negative infinity to 0 if *lambd* is " "negative." msgstr "" +"Експоненціальний розподіл. *lambd* дорівнює 1,0, поділеному на бажане " +"середнє. Воно повинно бути відмінним від нуля. (Параметр мав би назву " +"\"лямбда\", але це зарезервоване слово в Python.) Повернені значення " +"варіюються від 0 до нескінченності, якщо *lambd* додатне, і від " +"нескінченності до 0, якщо *lambd* є від’ємним." msgid "Added the default value for ``lambd``." -msgstr "" +msgstr "Добавлено значение по умолчанию для ``lambd``." msgid "" "Gamma distribution. (*Not* the gamma function!) The shape and scale " "parameters, *alpha* and *beta*, must have positive values. (Calling " "conventions vary and some sources define 'beta' as the inverse of the scale)." msgstr "" +"Гамма-распределение. (*Не* гамма-функция!) Параметры формы и масштаба, " +"*alpha* и *beta*, должны иметь положительные значения. (Соглашения о вызовах " +"различаются, и некоторые источники определяют «бету» как обратную шкалу)." msgid "The probability distribution function is::" -msgstr "" +msgstr "Функція розподілу ймовірностей:" msgid "" " x ** (alpha - 1) * math.exp(-x / beta)\n" "pdf(x) = --------------------------------------\n" " math.gamma(alpha) * beta ** alpha" msgstr "" +" x ** (alpha - 1) * math.exp(-x / beta)\n" +"pdf(x) = --------------------------------------\n" +" math.gamma(alpha) * beta ** alpha" msgid "" "Normal distribution, also called the Gaussian distribution. *mu* is the " "mean, and *sigma* is the standard deviation. This is slightly faster than " "the :func:`normalvariate` function defined below." msgstr "" +"Нормальное распределение, также называемое распределением Гаусса. *mu* — " +"среднее значение, а *сигма* — стандартное отклонение. Это немного быстрее, " +"чем функция :func:`normalvariate`, определенная ниже." msgid "" "Multithreading note: When two threads call this function simultaneously, it " @@ -422,9 +598,15 @@ msgid "" "random number generator. 2) Put locks around all calls. 3) Use the slower, " "but thread-safe :func:`normalvariate` function instead." msgstr "" +"Примітка щодо багатопоточності: коли два потоки викликають цю функцію " +"одночасно, можливо, вони отримають однакове повернуте значення. Цього можна " +"уникнути трьома способами. 1) Нехай кожен потік використовує окремий " +"екземпляр генератора випадкових чисел. 2) Заблокуйте всі дзвінки. 3) " +"Натомість використовуйте повільнішу, але потокобезпечну функцію :func:" +"`normalvariate`." msgid "*mu* and *sigma* now have default arguments." -msgstr "" +msgstr "*mu* и *sigma* теперь имеют аргументы по умолчанию." msgid "" "Log normal distribution. If you take the natural logarithm of this " @@ -432,11 +614,15 @@ msgid "" "deviation *sigma*. *mu* can have any value, and *sigma* must be greater " "than zero." msgstr "" +"Лог нормального розподілу. Якщо взяти натуральний логарифм цього розподілу, " +"ви отримаєте нормальний розподіл із середнім *mu* і стандартним відхиленням " +"*sigma*. *mu* може мати будь-яке значення, а *sigma* має бути більше нуля." msgid "" "Normal distribution. *mu* is the mean, and *sigma* is the standard " "deviation." msgstr "" +"Нормальний розподіл. *mu* — середнє, а *sigma* — стандартне відхилення." msgid "" "*mu* is the mean angle, expressed in radians between 0 and 2\\*\\ *pi*, and " @@ -444,62 +630,91 @@ msgid "" "to zero. If *kappa* is equal to zero, this distribution reduces to a " "uniform random angle over the range 0 to 2\\*\\ *pi*." msgstr "" +"*mu* — середній кут, виражений у радіанах між 0 і 2\\*\\ *pi*, а *kappa* — " +"параметр концентрації, який має бути більшим або дорівнювати нулю. Якщо " +"*kappa* дорівнює нулю, цей розподіл зменшується до рівномірного випадкового " +"кута в діапазоні від 0 до 2\\*\\ *pi*." msgid "Pareto distribution. *alpha* is the shape parameter." -msgstr "" +msgstr "Розподіл Парето. *альфа* — це параметр форми." msgid "" "Weibull distribution. *alpha* is the scale parameter and *beta* is the " "shape parameter." msgstr "" +"Розподіл Вейбулла. *альфа* — параметр масштабу, а *бета* — параметр форми." msgid "Alternative Generator" -msgstr "" +msgstr "Альтернативний генератор" msgid "" "Class that implements the default pseudo-random number generator used by " "the :mod:`random` module." msgstr "" +"Клас, який реалізує генератор псевдовипадкових чисел за замовчуванням, який " +"використовується модулем :mod:`random`." msgid "" "Formerly the *seed* could be any hashable object. Now it is limited to: " "``None``, :class:`int`, :class:`float`, :class:`str`, :class:`bytes`, or :" "class:`bytearray`." msgstr "" +"Раньше *сид* мог быть любым хешируемым объектом. Теперь оно ограничено: " +"``None``, :class:`int`, :class:`float`, :class:`str`, :class:`bytes` или :" +"class:`bytearray`." msgid "" "Subclasses of :class:`!Random` should override the following methods if they " "wish to make use of a different basic generator:" msgstr "" +"Подклассы :class:`!Random` должны переопределять следующие методы, если они " +"хотят использовать другой базовый генератор:" msgid "" "Override this method in subclasses to customise the :meth:`~random.seed` " "behaviour of :class:`!Random` instances." msgstr "" +"Переопределите этот метод в подклассах, чтобы настроить поведение :meth:" +"`~random.seed` экземпляров :class:`!Random`." msgid "" "Override this method in subclasses to customise the :meth:`~random.getstate` " "behaviour of :class:`!Random` instances." msgstr "" +"Переопределите этот метод в подклассах, чтобы настроить поведение :meth:" +"`~random.getstate` экземпляров :class:`!Random`." msgid "" "Override this method in subclasses to customise the :meth:`~random.setstate` " "behaviour of :class:`!Random` instances." msgstr "" +"Переопределите этот метод в подклассах, чтобы настроить поведение :meth:" +"`~random.setstate` экземпляров :class:`!Random`." msgid "" "Override this method in subclasses to customise the :meth:`~random.random` " "behaviour of :class:`!Random` instances." msgstr "" +"Переопределите этот метод в подклассах, чтобы настроить поведение :meth:" +"`~random.random` экземпляров :class:`!Random`." msgid "" "Optionally, a custom generator subclass can also supply the following method:" msgstr "" +"При желании подкласс пользовательского генератора также может предоставить " +"следующий метод:" msgid "" "Override this method in subclasses to customise the :meth:`~random." "getrandbits` behaviour of :class:`!Random` instances." msgstr "" +"Переопределите этот метод в подклассах, чтобы настроить поведение :meth:" +"`~random.getrandbits` экземпляров :class:`!Random`." + +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 " @@ -509,9 +724,15 @@ msgid "" "ignored. The :meth:`getstate` and :meth:`setstate` methods raise :exc:" "`NotImplementedError` if called." msgstr "" +"Клас, який використовує функцію :func:`os.urandom` для генерації випадкових " +"чисел із джерел, наданих операційною системою. Доступно не на всіх системах. " +"Не залежить від стану програмного забезпечення, і послідовності не " +"відтворюються. Відповідно, метод :meth:`seed` не має ефекту та ігнорується. " +"Методи :meth:`getstate` і :meth:`setstate` під час виклику викликають :exc:" +"`NotImplementedError`." msgid "Notes on Reproducibility" -msgstr "" +msgstr "Примітки щодо відтворюваності" msgid "" "Sometimes it is useful to be able to reproduce the sequences given by a " @@ -519,27 +740,38 @@ msgid "" "should be reproducible from run to run as long as multiple threads are not " "running." msgstr "" +"Иногда полезно иметь возможность воспроизводить последовательности, заданные " +"генератором псевдослучайных чисел. При повторном использовании начального " +"значения одна и та же последовательность должна воспроизводиться от запуска " +"к запуску, пока не выполняются несколько потоков." msgid "" "Most of the random module's algorithms and seeding functions are subject to " "change across Python versions, but two aspects are guaranteed not to change:" msgstr "" +"Більшість алгоритмів і функцій заповнення випадкового модуля можуть " +"змінюватися в різних версіях Python, але два аспекти гарантовано не " +"зміняться:" msgid "" "If a new seeding method is added, then a backward compatible seeder will be " "offered." msgstr "" +"Якщо додано новий метод посіву, буде запропоновано зворотно сумісний сівалка." msgid "" "The generator's :meth:`~Random.random` method will continue to produce the " "same sequence when the compatible seeder is given the same seed." msgstr "" +"Метод генератора :meth:`~Random.random` продовжуватиме створювати ту саму " +"послідовність, коли сумісному розсівачу буде надано те саме початкове " +"значення." msgid "Examples" msgstr "Przykłady" msgid "Basic examples::" -msgstr "" +msgstr "Основні приклади::" msgid "" ">>> random() # Random float: 0.0 <= x < 1.0\n" @@ -571,6 +803,34 @@ msgid "" ">>> sample([10, 20, 30, 40, 50], k=4) # Four samples without replacement\n" "[40, 10, 50, 30]" msgstr "" +">>> random() # Random float: 0.0 <= x < 1.0\n" +"0.37444887175646646\n" +"\n" +">>> uniform(2.5, 10.0) # Random float: 2.5 <= x <= 10.0\n" +"3.1800146073117523\n" +"\n" +">>> expovariate(1 / 5) # Interval between arrivals averaging " +"5 seconds\n" +"5.148957571865031\n" +"\n" +">>> randrange(10) # Integer from 0 to 9 inclusive\n" +"7\n" +"\n" +">>> randrange(0, 101, 2) # Even integer from 0 to 100 " +"inclusive\n" +"26\n" +"\n" +">>> choice(['win', 'lose', 'draw']) # Single random element from a " +"sequence\n" +"'draw'\n" +"\n" +">>> deck = 'ace two three four'.split()\n" +">>> shuffle(deck) # Shuffle a list\n" +">>> deck\n" +"['four', 'two', 'ace', 'three']\n" +"\n" +">>> sample([10, 20, 30, 40, 50], k=4) # Four samples without replacement\n" +"[40, 10, 50, 30]" msgid "Simulations::" msgstr "Symulacje::" @@ -599,12 +859,37 @@ msgid "" ">>> sum(trial() for i in range(10_000)) / 10_000\n" "0.7958" msgstr "" +">>> # Six roulette wheel spins (weighted sampling with replacement)\n" +">>> choices(['red', 'black', 'green'], [18, 18, 2], k=6)\n" +"['red', 'green', 'black', 'black', 'red', 'black']\n" +"\n" +">>> # Deal 20 cards without replacement from a deck\n" +">>> # of 52 playing cards, and determine the proportion of cards\n" +">>> # with a ten-value: ten, jack, queen, or king.\n" +">>> deal = sample(['tens', 'low cards'], counts=[16, 36], k=20)\n" +">>> deal.count('tens') / 20\n" +"0.15\n" +"\n" +">>> # Estimate the probability of getting 5 or more heads from 7 spins\n" +">>> # of a biased coin that settles on heads 60% of the time.\n" +">>> sum(binomialvariate(n=7, p=0.6) >= 5 for i in range(10_000)) / 10_000\n" +"0.4169\n" +"\n" +">>> # Probability of the median of 5 samples being in middle two quartiles\n" +">>> def trial():\n" +"... return 2_500 <= sorted(choices(range(10_000), k=5))[2] < 7_500\n" +"...\n" +">>> sum(trial() for i in range(10_000)) / 10_000\n" +"0.7958" msgid "" "Example of `statistical bootstrapping `_ using resampling with replacement to estimate " "a confidence interval for the mean of a sample::" msgstr "" +"Приклад `статистичного завантаження `_ з використанням повторної вибірки із заміною " +"для оцінки довірчого інтервалу для середнього значення вибірки:" msgid "" "# https://www.thoughtco.com/example-of-bootstrapping-3126155\n" @@ -616,6 +901,14 @@ msgid "" "print(f'The sample mean of {mean(data):.1f} has a 90% confidence '\n" " f'interval from {means[5]:.1f} to {means[94]:.1f}')" msgstr "" +"# https://www.thoughtco.com/example-of-bootstrapping-3126155\n" +"from statistics import fmean as mean\n" +"from random import choices\n" +"\n" +"data = [41, 50, 29, 37, 81, 30, 73, 63, 20, 35, 68, 22, 60, 31, 95]\n" +"means = sorted(mean(choices(data, k=len(data))) for i in range(100))\n" +"print(f'The sample mean of {mean(data):.1f} has a 90% confidence '\n" +" f'interval from {means[5]:.1f} to {means[94]:.1f}')" msgid "" "Example of a `resampling permutation test `_ of an " "observed difference between the effects of a drug versus a placebo::" msgstr "" +"Приклад `перестановочного тесту повторної вибірки `_ для визначення " +"статистичної значущості або `p-значення `_ спостережуваної різниці між ефектами препарату та плацебо::" msgid "" "# Example from \"Statistics is Easy\" by Dennis Shasha and Manda Wilson\n" @@ -650,10 +947,34 @@ msgid "" "print(f'hypothesis that there is no difference between the drug and the " "placebo.')" msgstr "" +"# Example from \"Statistics is Easy\" by Dennis Shasha and Manda Wilson\n" +"from statistics import fmean as mean\n" +"from random import shuffle\n" +"\n" +"drug = [54, 73, 53, 70, 73, 68, 52, 65, 65]\n" +"placebo = [54, 51, 58, 44, 55, 52, 42, 47, 58, 46]\n" +"observed_diff = mean(drug) - mean(placebo)\n" +"\n" +"n = 10_000\n" +"count = 0\n" +"combined = drug + placebo\n" +"for i in range(n):\n" +" shuffle(combined)\n" +" new_diff = mean(combined[:len(drug)]) - mean(combined[len(drug):])\n" +" count += (new_diff >= observed_diff)\n" +"\n" +"print(f'{n} label reshufflings produced only {count} instances with a " +"difference')\n" +"print(f'at least as extreme as the observed difference of " +"{observed_diff:.1f}.')\n" +"print(f'The one-sided p-value of {count / n:.4f} leads us to reject the " +"null')\n" +"print(f'hypothesis that there is no difference between the drug and the " +"placebo.')" msgid "" "Simulation of arrival times and service deliveries for a multiserver queue::" -msgstr "" +msgstr "Симуляція часу прибуття та надання послуг для багатосерверної черги::" msgid "" "from heapq import heapify, heapreplace\n" @@ -682,6 +1003,31 @@ msgid "" "print(f'Mean wait: {mean(waits):.1f} Max wait: {max(waits):.1f}')\n" "print('Quartiles:', [round(q, 1) for q in quantiles(waits)])" msgstr "" +"from heapq import heapify, heapreplace\n" +"from random import expovariate, gauss\n" +"from statistics import mean, quantiles\n" +"\n" +"average_arrival_interval = 5.6\n" +"average_service_time = 15.0\n" +"stdev_service_time = 3.5\n" +"num_servers = 3\n" +"\n" +"waits = []\n" +"arrival_time = 0.0\n" +"servers = [0.0] * num_servers # time when each server becomes available\n" +"heapify(servers)\n" +"for i in range(1_000_000):\n" +" arrival_time += expovariate(1.0 / average_arrival_interval)\n" +" next_server_available = servers[0]\n" +" wait = max(0.0, next_server_available - arrival_time)\n" +" waits.append(wait)\n" +" service_duration = max(0.0, gauss(average_service_time, " +"stdev_service_time))\n" +" service_completed = arrival_time + wait + service_duration\n" +" heapreplace(servers, service_completed)\n" +"\n" +"print(f'Mean wait: {mean(waits):.1f} Max wait: {max(waits):.1f}')\n" +"print('Quartiles:', [round(q, 1) for q in quantiles(waits)])" msgid "" "`Statistics for Hackers `_ a " @@ -689,6 +1035,11 @@ msgid "" "profile/295/>`_ on statistical analysis using just a few fundamental " "concepts including simulation, sampling, shuffling, and cross-validation." msgstr "" +"`Statistics for Hackers `_ " +"відеоурок від `Jake Vanderplas `_ зі статистичного аналізу з використанням лише кількох " +"фундаментальних концепцій, включаючи моделювання, вибірку, перетасування та " +"перехресну перевірку." msgid "" "`Economics Simulation `_ моделирование рынка `Питера Норвига `_ это показывает эффективное использование многих инструментов и " +"распределений, предоставляемых этим модулем (гауссовое, равномерное, " +"выборочное, бета-вариация, выбор, треугольное и рандомизированное)." msgid "" "`A Concrete Introduction to Probability (using Python) `_ covering the basics of probability theory, " "how to write simulations, and how to perform data analysis using Python." msgstr "" +"`Конкретное введение в вероятность (с использованием Python) `_ учебник `Питера " +"Норвига `_, посвященный основам теории " +"вероятностей, написанию моделирования и выполнению анализа данных с помощью " +"Python." msgid "Recipes" -msgstr "" +msgstr "рецепти" msgid "" "These recipes show how to efficiently make random selections from the " "combinatoric iterators in the :mod:`itertools` module:" msgstr "" +"Эти рецепты показывают, как эффективно делать случайный выбор из " +"комбинаторных итераторов в модуле :mod:`itertools`:" msgid "" "def random_product(*args, repeat=1):\n" @@ -742,6 +1105,33 @@ msgid "" " indices = sorted(random.choices(range(n), k=r))\n" " return tuple(pool[i] for i in indices)" msgstr "" +"def random_product(*args, repeat=1):\n" +" \"Random selection from itertools.product(*args, **kwds)\"\n" +" pools = [tuple(pool) for pool in args] * repeat\n" +" return tuple(map(random.choice, pools))\n" +"\n" +"def random_permutation(iterable, r=None):\n" +" \"Random selection from itertools.permutations(iterable, r)\"\n" +" pool = tuple(iterable)\n" +" r = len(pool) if r is None else r\n" +" return tuple(random.sample(pool, r))\n" +"\n" +"def random_combination(iterable, r):\n" +" \"Random selection from itertools.combinations(iterable, r)\"\n" +" pool = tuple(iterable)\n" +" n = len(pool)\n" +" indices = sorted(random.sample(range(n), r))\n" +" return tuple(pool[i] for i in indices)\n" +"\n" +"def random_combination_with_replacement(iterable, r):\n" +" \"Choose r elements with replacement. Order the result to match the " +"iterable.\"\n" +" # Result will be in set(itertools." +"combinations_with_replacement(iterable, r)).\n" +" 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)" msgid "" "The default :func:`.random` returns multiples of 2⁻⁵³ in the range *0.0 ≤ x " @@ -750,6 +1140,11 @@ msgid "" "are not possible selections. For example, ``0.05954861408025609`` isn't an " "integer multiple of 2⁻⁵³." msgstr "" +"За умовчанням :func:`.random` повертає кратні 2⁻⁵³ у діапазоні *0,0 ≤ x < " +"1,0*. Усі такі числа розташовані на рівних інтервалах і точно представлені " +"як плаваючі числа Python. Однак багато інших репрезентованих плаваючих " +"значень у цьому інтервалі не є можливим вибором. Наприклад, " +"``0,05954861408025609`` не є цілим числом, кратним 2⁻⁵³." msgid "" "The following recipe takes a different approach. All floats in the interval " @@ -758,6 +1153,11 @@ msgid "" "geometric distribution where exponents smaller than *-53* occur half as " "often as the next larger exponent." msgstr "" +"Наступний рецепт передбачає інший підхід. Усі плаваючі значення в інтервалі " +"є можливими виборами. Мантиса походить від рівномірного розподілу цілих " +"чисел у діапазоні *2⁵² ≤ мантиса < 2⁵³*. Показник степеня походить із " +"геометричного розподілу, де показники степеня, менші за *-53*, зустрічаються " +"вдвічі рідше, ніж наступний більший показник степеня." msgid "" "from random import Random\n" @@ -774,11 +1174,26 @@ msgid "" " exponent += x.bit_length() - 32\n" " return ldexp(mantissa, exponent)" msgstr "" +"from random import Random\n" +"from math import ldexp\n" +"\n" +"class FullRandom(Random):\n" +"\n" +" def random(self):\n" +" mantissa = 0x10_0000_0000_0000 | self.getrandbits(52)\n" +" exponent = -53\n" +" x = 0\n" +" while not x:\n" +" x = self.getrandbits(32)\n" +" exponent += x.bit_length() - 32\n" +" return ldexp(mantissa, exponent)" msgid "" "All :ref:`real valued distributions ` in the " "class will use the new method::" msgstr "" +"Усі :ref:`дійсні розподіли ` у класі " +"використовуватимуть новий метод::" msgid "" ">>> fr = FullRandom()\n" @@ -800,6 +1215,12 @@ msgid "" "Python float. (The value 2⁻¹⁰⁷⁴ is the smallest positive unnormalized float " "and is equal to ``math.ulp(0.0)``.)" msgstr "" +"Рецепт концептуально еквівалентний алгоритму, який вибирає з усіх кратних " +"2⁻¹⁰⁷⁴ у діапазоні *0,0 ≤ x < 1,0*. Усі такі числа розташовані рівномірно, " +"але більшість із них має бути округлено до найближчого числа з плаваючою " +"точкою, яке можна представити Python. (Значення 2⁻¹⁰⁷⁴ є найменшим " +"позитивним ненормалізованим числом із плаваючою точкою та дорівнює ``math." +"ulp(0.0)``.)" msgid "" "`Generating Pseudo-random Floating-Point Values `_ стаття Аллена Б. Дауні, яка описує " +"способи генерації більш дрібнозернистих значень з плаваючою комою, ніж " +"зазвичай генерує :func:`.random`." msgid "Command-line usage" -msgstr "" +msgstr "Использование командной строки" msgid "The :mod:`!random` module can be executed from the command line." -msgstr "" +msgstr "Модуль :mod:`!random` можно запустить из командной строки." msgid "" "python -m random [-h] [-c CHOICE [CHOICE ...] | -i N | -f N] [input ...]" msgstr "" +"python -m random [-h] [-c CHOICE [CHOICE ...] | -i N | -f N] [input ...]" msgid "The following options are accepted:" -msgstr "" +msgstr "Приймаються такі варіанти:" msgid "Show the help message and exit." -msgstr "" +msgstr "Показати довідкове повідомлення та вийти." msgid "Print a random choice, using :meth:`choice`." -msgstr "" +msgstr "Выведите случайный выбор, используя :meth:`choice`." msgid "" "Print a random integer between 1 and N inclusive, using :meth:`randint`." msgstr "" +"Выведите случайное целое число от 1 до N включительно, используя :meth:" +"`randint`." msgid "" "Print a random floating-point number between 0 and N inclusive, using :meth:" "`uniform`." msgstr "" +"Выведите случайное число с плавающей запятой от 0 до N включительно, " +"используя :meth:`uniform`." msgid "If no options are given, the output depends on the input:" -msgstr "" +msgstr "Если параметры не указаны, вывод зависит от ввода:" msgid "String or multiple: same as :option:`--choice`." -msgstr "" +msgstr "Строка или несколько: то же, что и :option:`--choice`." msgid "Integer: same as :option:`--integer`." -msgstr "" +msgstr "Целое число: то же, что и :option:`--integer`." msgid "Float: same as :option:`--float`." -msgstr "" +msgstr "Float: то же, что и :option:`--float`." msgid "Command-line example" -msgstr "" +msgstr "Пример командной строки" msgid "Here are some examples of the :mod:`!random` command-line interface:" -msgstr "" +msgstr "Вот несколько примеров интерфейса командной строки :mod:`!random`:" msgid "" "$ # Choose one at random\n" @@ -885,3 +1315,32 @@ msgid "" "$ python -m random --float 6\n" "3.1942323316565915" msgstr "" +"$ # Choose one at random\n" +"$ python -m random egg bacon sausage spam \"Lobster Thermidor aux crevettes " +"with a Mornay sauce\"\n" +"Lobster Thermidor aux crevettes with a Mornay sauce\n" +"\n" +"$ # Random integer\n" +"$ python -m random 6\n" +"6\n" +"\n" +"$ # Random floating-point number\n" +"$ python -m random 1.8\n" +"1.7080016272295635\n" +"\n" +"$ # With explicit arguments\n" +"$ python -m random --choice egg bacon sausage spam \"Lobster Thermidor aux " +"crevettes with a Mornay sauce\"\n" +"egg\n" +"\n" +"$ python -m random --integer 6\n" +"3\n" +"\n" +"$ python -m random --float 1.8\n" +"1.5666339105010318\n" +"\n" +"$ python -m random --integer 6\n" +"5\n" +"\n" +"$ python -m random --float 6\n" +"3.1942323316565915" diff --git a/library/re.po b/library/re.po index ac7e44fb99..8266690443 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-23 14:55+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -27,15 +24,17 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!re` --- Regular expression operations" -msgstr "" +msgstr ":mod:`!re` --- Операции с регулярными выражениями" 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 " "found in Perl." msgstr "" +"Цей модуль забезпечує операції зіставлення регулярних виразів, подібні до " +"тих, які є в Perl." msgid "" "Both patterns and strings to be searched can be Unicode strings (:class:" @@ -45,6 +44,11 @@ msgid "" "substitution, the replacement string must be of the same type as both the " "pattern and the search string." msgstr "" +"Как шаблоны, так и строки для поиска могут быть строками Юникода (:class:" +"`str`), а также 8-битными строками (:class:`bytes`). Однако строки Юникода и " +"8-битные строки нельзя смешивать: то есть нельзя сопоставить строку Юникода " +"с шаблоном байтов или наоборот; аналогично, при запросе замены строка замены " +"должна быть того же типа, что и шаблон, и строка поиска." msgid "" "Regular expressions use the backslash character (``'\\'``) to indicate " @@ -59,6 +63,20 @@ msgid "" "future this will become a :exc:`SyntaxError`. This behaviour will happen " "even if it is a valid escape sequence for a regular expression." msgstr "" +"Регулярные выражения используют символ обратной косой черты (``'\\'``) для " +"обозначения специальных форм или для разрешения использования специальных " +"символов без обращения к их особому значению. Это противоречит использованию " +"Python того же символа для той же цели в строковых литералах; например, " +"чтобы сопоставить буквальную обратную косую черту, возможно, придется " +"написать ``'\\\\\\\\'`` в качестве строки шаблона, поскольку регулярное " +"выражение должно быть ``\\\\``, а каждая обратная косая черта должна быть " +"выражена как ``\\\\\\``, а каждая обратная косая черта должна быть выражена " +"как ``'\\\\\\\\'`` в качестве строки шаблона `\\\\`` внутри обычного " +"строкового литерала Python. Также обратите внимание, что любые недопустимые " +"escape-последовательности при использовании Python обратной косой черты в " +"строковых литералах теперь генерируют :exc:`SyntaxWarning`, а в будущем это " +"станет :exc:`SyntaxError`. Такое поведение произойдет, даже если это " +"допустимая escape-последовательность для регулярного выражения." msgid "" "The solution is to use Python's raw string notation for regular expression " @@ -68,6 +86,12 @@ msgid "" "a newline. Usually patterns will be expressed in Python code using this raw " "string notation." msgstr "" +"Рішення полягає у використанні необробленої рядкової нотації Python для " +"шаблонів регулярних виразів; зворотні косі риски не обробляються жодним " +"особливим чином у рядковому літералі з префіксом ``'r'``. Отже, ``r\"\\n\"`` " +"— це двосимвольний рядок, що містить ``'\\'`` і ``'n'``, тоді як ``\"\\n\"`` " +"є односимвольним рядком, що містить новий рядок. Зазвичай шаблони " +"виражаються в коді Python за допомогою цієї необробленої рядкової нотації." msgid "" "It is important to note that most regular expression operations are " @@ -75,15 +99,22 @@ msgid "" "expressions `. The functions are shortcuts that don't require " "you to compile a regex object first, but miss some fine-tuning parameters." msgstr "" +"Важливо відзначити, що більшість операцій з регулярними виразами доступні як " +"функції та методи на рівні модуля для :ref:`компільованих регулярних виразів " +"`. Функції — це ярлики, які не потребують компіляції об’єкта " +"регулярного виразу, але пропускають деякі параметри тонкого налаштування." 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." msgstr "" +"Сторонний модуль :pypi:`regex`, имеющий API, совместимый со стандартным " +"модулем библиотеки :mod:`re`, но предлагающий дополнительную " +"функциональность и более полную поддержку Unicode." msgid "Regular Expression Syntax" -msgstr "" +msgstr "Синтаксис регулярного виразу" msgid "" "A regular expression (or RE) specifies a set of strings that matches it; the " @@ -91,6 +122,10 @@ msgid "" "given regular expression (or if a given regular expression matches a " "particular string, which comes down to the same thing)." msgstr "" +"Регулярний вираз (або RE) визначає набір рядків, який йому відповідає; " +"функції в цьому модулі дозволяють вам перевірити, чи збігається певний рядок " +"з даним регулярним виразом (або чи збігається даний регулярний вираз з " +"певним рядком, що зводиться до того самого)." msgid "" "Regular expressions can be concatenated to form new regular expressions; if " @@ -104,12 +139,25 @@ msgid "" "consult the Friedl book [Frie09]_, or almost any textbook about compiler " "construction." msgstr "" +"Регулярні вирази можна об’єднувати для створення нових регулярних виразів; " +"якщо *A* і *B* є регулярними виразами, то *AB* також є регулярним виразом. " +"Загалом, якщо рядок *p* відповідає *A*, а інший рядок *q* відповідає *B*, " +"рядок *pq* відповідатиме AB. Це справедливо, якщо *A* або *B* не містять " +"операції з низьким пріоритетом; граничні умови між *A* і *B*; або мають " +"пронумеровані посилання на групи. Таким чином, складні вирази можна легко " +"побудувати з простіших примітивних виразів, таких як описані тут. Щоб " +"отримати детальну інформацію про теорію та реалізацію регулярних виразів, " +"зверніться до книги Фрідла [Frie09]_ або майже до будь-якого підручника про " +"побудову компілятора." msgid "" "A brief explanation of the format of regular expressions follows. For " "further information and a gentler presentation, consult the :ref:`regex-" "howto`." msgstr "" +"Нижче наведено коротке пояснення формату регулярних виразів. Для отримання " +"додаткової інформації та більш щадної презентації зверніться до :ref:`regex-" +"howto`." msgid "" "Regular expressions can contain both special and ordinary characters. Most " @@ -119,12 +167,21 @@ msgid "" "rest of this section, we'll write RE's in ``this special style``, usually " "without quotes, and strings to be matched ``'in single quotes'``.)" msgstr "" +"Регулярні вирази можуть містити як спеціальні, так і звичайні символи. " +"Більшість звичайних символів, таких як ``'A'``, ``'a'`` або ``'0'``, є " +"найпростішими регулярними виразами; вони просто збігаються. Ви можете " +"об’єднувати звичайні символи, тому ``last`` збігається з рядком ``'last'``. " +"(У решті цього розділу ми будемо писати RE в ``цим особливим стилі``, як " +"правило, без лапок, а рядки для відповідності ``'в одинарних лапках``.)" msgid "" "Some characters, like ``'|'`` or ``'('``, are special. Special characters " "either stand for classes of ordinary characters, or affect how the regular " "expressions around them are interpreted." msgstr "" +"Деякі символи, наприклад ``'|'`` або ``'(''``, є спеціальними. Спеціальні " +"символи або позначають класи звичайних символів, або впливають на " +"інтерпретацію регулярних виразів навколо них." msgid "" "Repetition operators or quantifiers (``*``, ``+``, ``?``, ``{m,n}``, etc) " @@ -134,9 +191,16 @@ msgid "" "For example, the expression ``(?:a{6})*`` matches any multiple of six " "``'a'`` characters." msgstr "" +"Операторы повторения или квантификаторы (``*``, ``+``, ``?``, ``{m,n}`` и " +"т. д.) не могут быть вложены напрямую. Это позволяет избежать " +"двусмысленности с нежадным суффиксом модификатора ``?`` и с другими " +"модификаторами в других реализациях. Чтобы применить второе повторение к " +"внутреннему повторению, можно использовать круглые скобки. Например, " +"выражение ``(?:a{6})*`` соответствует любому числу символов, кратному шести " +"``'a'``." msgid "The special characters are:" -msgstr "" +msgstr "Спеціальними символами є:" msgid "``.``" msgstr "``.``" @@ -146,6 +210,10 @@ msgid "" "If the :const:`DOTALL` flag has been specified, this matches any character " "including a newline. ``(?s:.)`` matches any character regardless of flags." msgstr "" +"(Точка.) В режиме по умолчанию соответствует любому символу, кроме символа " +"новой строки. Если указан флаг :const:`DOTALL`, он соответствует любому " +"символу, включая символ новой строки. ``(?s:.)`` соответствует любому " +"символу независимо от флагов." msgid "``^``" msgstr "``^``" @@ -154,6 +222,8 @@ msgid "" "(Caret.) Matches the start of the string, and in :const:`MULTILINE` mode " "also matches immediately after each newline." msgstr "" +"(Caret.) Збігається з початком рядка, а в режимі :const:`MULTILINE` також " +"збігається одразу після кожного нового рядка." msgid "``$``" msgstr "``$``" @@ -168,6 +238,13 @@ msgid "" "(empty) matches: one just before the newline, and one at the end of the " "string." msgstr "" +"Збігається з кінцем рядка або безпосередньо перед символом нового рядка в " +"кінці рядка, а в режимі :const:`MULTILINE` також збігається перед символом " +"нового рядка. ``foo`` відповідає як 'foo', так і 'foobar', тоді як " +"регулярний вираз ``foo$`` відповідає лише 'foo'. Що ще цікавіше, пошук ``foo." +"$`` у ``'foo1\\nfoo2\\n''`` зазвичай відповідає 'foo2', але 'foo1' у режимі :" +"const:`MULTILINE`; пошук одного ``$`` у ``'foo\\n'`` знайде два (порожні) " +"збіги: один безпосередньо перед символом нового рядка та один у кінці рядка." msgid "``*``" msgstr "``*``" @@ -177,6 +254,9 @@ msgid "" "as many repetitions as are possible. ``ab*`` will match 'a', 'ab', or 'a' " "followed by any number of 'b's." msgstr "" +"Примушує кінцевий RE відповідати 0 або більше повторень попереднього RE, " +"якомога більше повторень. ``ab*`` відповідатиме 'a', 'ab' або 'a', за якими " +"йде будь-яка кількість 'b'." msgid "``+``" msgstr "``+``" @@ -186,6 +266,9 @@ msgid "" "``ab+`` will match 'a' followed by any non-zero number of 'b's; it will not " "match just 'a'." msgstr "" +"Примушує кінцевий RE відповідати 1 або більше повторень попереднього RE. " +"``ab+`` відповідатиме 'a', за яким слідує будь-яке ненульове число 'b'; воно " +"не збігатиметься лише з \"а\"." msgid "``?``" msgstr "``?``" @@ -194,6 +277,8 @@ msgid "" "Causes the resulting RE to match 0 or 1 repetitions of the preceding RE. " "``ab?`` will match either 'a' or 'ab'." msgstr "" +"Примушує результуюче RE відповідати 0 або 1 повторенням попереднього RE. " +"``ab?`` відповідатиме або 'a', або 'ab'." msgid "``*?``, ``+?``, ``??``" msgstr "``*?``, ``+?``, ``??``" @@ -207,6 +292,13 @@ msgid "" "characters as possible will be matched. Using the RE ``<.*?>`` will match " "only ``''``." msgstr "" +"Кванторы ``'*'``, ``'+'`` и ``'?'`` являются :dfn:`greedy`; они " +"соответствуют как можно большему количеству текста. Иногда такое поведение " +"нежелательно; если RE ``<.*>`` сопоставляется с ``' b '``, он будет " +"соответствовать всей строке, а не только ``''``. Добавление ``?`` после " +"квантора заставляет его выполнять сопоставление в :dfn:`нежадном` или :dfn:" +"`минимальном` режиме; будет совпадать как можно *немногие* символы. " +"Использование RE ``<.*?>`` будет соответствовать только ``''``." msgid "``*+``, ``++``, ``?+``" msgstr "``*+``, ``++``, ``?+``" @@ -226,6 +318,20 @@ msgid "" "``x*+``, ``x++`` and ``x?+`` are equivalent to ``(?>x*)``, ``(?>x+)`` and " "``(?>x?)`` correspondingly." msgstr "" +"Подобно квантификаторам ``'*'``, ``'+'`` и ``'?'``, те, к которым добавлен " +"``'+'``, также совпадают столько раз, сколько возможно. Однако, в отличие от " +"настоящих жадных квантификаторов, они не позволяют выполнять обратный поиск, " +"если следующее за ним выражение не соответствует. Они известны как кванторы :" +"dfn:`притяжательные`. Например, ``a*a`` будет соответствовать ``'aaaa'``, " +"потому что ``a*`` будет соответствовать всем 4 ``'a'``\\ s, но когда " +"последний ``'a встречается '``, выражение возвращается так, что в конце " +"концов ``a*`` соответствует 3 ``'a'``\\ s, а четвертому ``'a'`` " +"соответствует последнее ``'а'``. Однако, когда ``a*+a`` используется для " +"соответствия ``'aaaa'``, ``a*+`` будет соответствовать всем 4 ``'a'``, но " +"когда последний ``' a'`` не может найти больше символов для соответствия, " +"выражение не может быть возвращено и, следовательно, не будет " +"соответствовать. ``x*+``, ``x++`` и ``x?+`` эквивалентны ``(?>x*)``, ``(?" +">x+)`` и ``(?> x?)`` соответственно." msgid "``{m}``" msgstr "``{m}``" @@ -235,6 +341,9 @@ msgid "" "fewer matches cause the entire RE not to match. For example, ``a{6}`` will " "match exactly six ``'a'`` characters, but not five." msgstr "" +"Вказує, що точно *m* копій попереднього RE мають відповідати; менша " +"кількість збігів призводить до того, що весь RE не збігається. Наприклад, " +"``a{6}`` відповідатиме рівно шести символам ``'a'``, але не п’яти." msgid "``{m,n}``" msgstr "``{m,n}``" @@ -249,6 +358,13 @@ msgid "" "not be omitted or the modifier would be confused with the previously " "described form." msgstr "" +"Примушує результуючий RE відповідати від *m* до *n* повторень попереднього " +"RE, намагаючись зіставити якомога більше повторень. Наприклад, ``a{3,5}`` " +"відповідатиме від 3 до 5 символів ``'a'``. Пропуск *m* визначає нижню межу " +"нуля, а пропуск *n* визначає нескінченну верхню межу. Наприклад, ``a{4,}b`` " +"відповідатиме ``'aaaab'`` або тисячі символів ``'a'``, після яких ``'b'``, " +"але не ``' аааб''``. Кому не можна опускати, інакше модифікатор можна " +"сплутати з попередньо описаною формою." msgid "``{m,n}?``" msgstr "``{m,n}?``" @@ -260,6 +376,11 @@ msgid "" "character string ``'aaaaaa'``, ``a{3,5}`` will match 5 ``'a'`` characters, " "while ``a{3,5}?`` will only match 3 characters." msgstr "" +"Заставляет результирующий RE соответствовать от *m* до *n* повторений " +"предыдущего RE, пытаясь сопоставить как можно *несколько* повторений. Это " +"нежадная версия предыдущего квантора. Например, в строке из 6 символов " +"``'aaaaaa'`` ``a{3,5}`` будет соответствовать 5 символам ``'a'``, а ``a{3,5}?" +"` ` будет соответствовать только 3 символам." msgid "``{m,n}+``" msgstr "``{m,n}+``" @@ -275,6 +396,16 @@ msgid "" "backtracking and then the final 2 ``'a'``\\ s are matched by the final " "``aa`` in the pattern. ``x{m,n}+`` is equivalent to ``(?>x{m,n})``." msgstr "" +"Заставляет результирующий RE соответствовать от *m* до *n* повторений " +"предыдущего RE, пытаясь сопоставить как можно больше повторений *без* " +"установления каких-либо точек возврата. Это притяжательная версия " +"приведенного выше квантора. Например, в строке из 6 символов ``'aaaaaa'`` " +"``a{3,5}+aa`` попытается сопоставить 5 символов ``'a'``, затем потребуется " +"еще 2 ``' a'``\\ s, потребуется больше символов, чем доступно, и, " +"следовательно, произойдет сбой, в то время как ``a{3,5}aa`` будет " +"соответствовать ``a{3,5}``, захватывая 5, а затем 4 ``' a'``\\ s путем " +"возврата, а затем последние 2 ``'a'``\\ s сопоставляются с последним ``aa`` " +"в шаблоне. ``x{m,n}+`` эквивалентно ``(?>x{m,n})``." msgid "``\\``" msgstr "``\\``" @@ -284,6 +415,9 @@ msgid "" "``'*'``, ``'?'``, and so forth), or signals a special sequence; special " "sequences are discussed below." msgstr "" +"Або екранує спеціальні символи (дозволяючи вам зіставляти такі символи, як " +"``'*'``, ``'?''`` і так далі), або сигналізує про спеціальну послідовність; " +"спеціальні послідовності обговорюються нижче." msgid "" "If you're not using a raw string to express the pattern, remember that " @@ -294,17 +428,27 @@ msgid "" "repeated twice. This is complicated and hard to understand, so it's highly " "recommended that you use raw strings for all but the simplest expressions." msgstr "" +"Якщо ви не використовуєте необроблений рядок для вираження шаблону, " +"пам’ятайте, що Python також використовує зворотну косу риску як керуючу " +"послідовність у рядкових літералах; якщо escape-послідовність не " +"розпізнається синтаксичним аналізатором Python, зворотна коса риска та " +"наступний символ включаються в результуючий рядок. Однак, якщо Python " +"розпізнає отриману послідовність, зворотну косу риску слід повторити двічі. " +"Це складно і важко зрозуміти, тому настійно рекомендується використовувати " +"необроблені рядки для всіх виразів, крім найпростіших." msgid "``[]``" msgstr "``[]``" msgid "Used to indicate a set of characters. In a set:" -msgstr "" +msgstr "Використовується для позначення набору символів. В комплекті:" msgid "" "Characters can be listed individually, e.g. ``[amk]`` will match ``'a'``, " "``'m'``, or ``'k'``." msgstr "" +"Символи можуть бути перераховані окремо, напр. \"[amk]\" відповідатиме " +"\"a\", \"m\" або \"k\"." msgid "" "Ranges of characters can be indicated by giving two characters and " @@ -314,12 +458,22 @@ msgid "" "``-`` is escaped (e.g. ``[a\\-z]``) or if it's placed as the first or last " "character (e.g. ``[-a]`` or ``[a-]``), it will match a literal ``'-'``." msgstr "" +"Діапазони символів можна вказати, вказавши два символи та розділивши їх " +"символом ``'-'``, наприклад, ``[a-z]`` відповідатиме будь-якій літері ASCII " +"у нижньому регістрі, ``[0-5][0-9]. ]`` відповідатиме всім двозначним числам " +"від ``00`` до ``59``, а ``[0-9A-Fa-f]`` відповідатиме будь-якій " +"шістнадцятковій цифрі. Якщо ``-`` є екранованим (наприклад, ``[a\\-z]``) або " +"якщо він розміщений як перший чи останній символ (наприклад ``[-a]`` або " +"``[a-]`` ), він відповідатиме літералу ``'-'``." msgid "" "Special characters except backslash lose their special meaning inside sets. " "For example, ``[(+*)]`` will match any of the literal characters ``'('``, " "``'+'``, ``'*'``, or ``')'``." msgstr "" +"Os caracteres especiais, exceto contrabarra, perdem seu significado especial " +"dentro dos conjuntos. Por exemplo, ``[(+*)]`` vai corresponder a qualquer um " +"dos caracteres literais ``'('``, ``'+'``, ``'*'`` ou ``')'``." msgid "" "Backslash either escapes characters which have special meaning in a set such " @@ -340,6 +494,12 @@ msgid "" "any character except ``'^'``. ``^`` has no special meaning if it's not the " "first character in the set." msgstr "" +"Символи, які не входять до діапазону, можуть бути зіставлені шляхом :dfn:" +"`complementing` набору. Якщо першим символом набору є ``'^'``, усі символи, " +"яких *не* в наборі, будуть зіставлені. Наприклад, ``[^5]`` відповідатиме " +"будь-якому символу, крім ``'5''``, а ``[^^]`` відповідатиме будь-якому " +"символу, крім ``'^'``. ``^`` не має особливого значення, якщо це не перший " +"символ у наборі." msgid "" "To match a literal ``']'`` inside a set, precede it with a backslash, or " @@ -347,6 +507,10 @@ msgid "" "``[]()[{}]`` will match a right bracket, as well as left bracket, braces, " "and parentheses." msgstr "" +"Чтобы сопоставить литерал ``']'`` внутри набора, поставьте перед ним " +"обратную косую черту или поместите его в начало набора. Например, ``[()[\\]" +"{}]`` и ``[]()[{}]`` будут соответствовать правой скобке, а также левой " +"скобке, фигурным и круглым скобкам." msgid "" "Support of nested sets and set operations as in `Unicode Technical Standard " @@ -356,11 +520,20 @@ msgid "" "or containing literal character sequences ``'--'``, ``'&&'``, ``'~~'``, and " "``'||'``. To avoid a warning escape them with a backslash." msgstr "" +"У майбутньому може бути додано підтримку вкладених наборів і операцій із " +"наборами, як у `технічному стандарті Unicode #18`_. Це призведе до зміни " +"синтаксису, тож для полегшення цієї зміни :exc:`FutureWarning` наразі буде " +"викликано у неоднозначних випадках. Це включає в себе набори, що починаються " +"з літерала ``'['`` або містять літеральні послідовності символів ``'--'``, " +"``'&&'``, ``'~~'`` і ``'| |'``. Щоб уникнути попередження, екрануйте їх " +"зворотною скісною рискою." msgid "" ":exc:`FutureWarning` is raised if a character set contains constructs that " "will change semantically in the future." msgstr "" +":exc:`FutureWarning` викликається, якщо набір символів містить конструкції, " +"які семантично зміняться в майбутньому." msgid "``|``" msgstr "``|``" @@ -376,6 +549,16 @@ msgid "" "words, the ``'|'`` operator is never greedy. To match a literal ``'|'``, " "use ``\\|``, or enclose it inside a character class, as in ``[|]``." msgstr "" +"``A|B``, де *A* і *B* можуть бути довільними RE, створює регулярний вираз, " +"який відповідатиме *A* або *B*. Таким чином довільна кількість RE може бути " +"розділена символом ``'|'``. Це також можна використовувати всередині груп " +"(див. нижче). Під час сканування цільового рядка RE, розділені ``'|'``, " +"пробуються зліва направо. Якщо один шаблон повністю збігається, ця гілка " +"приймається. Це означає, що як тільки *A* збігається, *B* більше не " +"перевірятиметься, навіть якщо це призведе до довшого загального збігу. " +"Іншими словами, оператор ``'|''`` ніколи не є жадібним. Щоб відповідати " +"літералу ``'|'``, використовуйте ``\\|`` або вкладіть його в клас символів, " +"як у ``[|]``." msgid "``(...)``" msgstr "``(...)``" @@ -388,6 +571,12 @@ msgid "" "``'('`` or ``')'``, use ``\\(`` or ``\\)``, or enclose them inside a " "character class: ``[(]``, ``[)]``." msgstr "" +"Збігається з будь-яким регулярним виразом у дужках і вказує на початок і " +"кінець групи; вміст групи може бути отриманий після того, як було виконано " +"збіг, і може бути зіставлений пізніше в рядку за допомогою спеціальної " +"послідовності ``\\number``, описаної нижче. Щоб зіставити літерали ``'('`` " +"або ``')'``, використовуйте ``\\(`` або ``\\)`` або вкладіть їх у клас " +"символів: ``[(]`` , ``[)]``." msgid "``(?...)``" msgstr "``(?...)``" @@ -399,6 +588,10 @@ msgid "" "do not create a new group; ``(?P...)`` is the only exception to this " "rule. Following are the currently supported extensions." msgstr "" +"Це нотація розширення (``'?''`` після ``' (''`` не має значення інакше). " +"Перший символ після ``'?''`` визначає значення та подальший синтаксис " +"Розширення зазвичай не створюють нову групу; ``(?P ...)`` є єдиним " +"винятком із цього правила. Нижче наведено наразі підтримувані розширення." msgid "``(?aiLmsux)``" msgstr "``(?aiLmsux)``" @@ -408,27 +601,30 @@ msgid "" "``'s'``, ``'u'``, ``'x'``.) The group matches the empty string; the letters " "set the corresponding flags for the entire regular expression:" msgstr "" +"(Одна или несколько букв из набора ``'a'``, ``'i'``, ``'L'``, ``'m'``, " +"``s'``, `` 'u'``, ``'x'``.) Группа соответствует пустой строке; буквы " +"устанавливают соответствующие флаги для всего регулярного выражения:" msgid ":const:`re.A` (ASCII-only matching)" -msgstr "" +msgstr ":const:`re.A` (соответствие только ASCII)" msgid ":const:`re.I` (ignore case)" -msgstr "" +msgstr ":const:`re.I` (игнорировать регистр)" msgid ":const:`re.L` (locale dependent)" -msgstr "" +msgstr ":const:`re.L` (зависит от локали)" msgid ":const:`re.M` (multi-line)" -msgstr "" +msgstr ":const:`re.M` (многострочный)" msgid ":const:`re.S` (dot matches all)" -msgstr "" +msgstr ":const:`re.S` (точка соответствует всем)" msgid ":const:`re.U` (Unicode matching)" -msgstr "" +msgstr ":const:`re.U` (соответствие Юникода)" msgid ":const:`re.X` (verbose)" -msgstr "" +msgstr ":const:`re.X` (многословный)" msgid "" "(The flags are described in :ref:`contents-of-module-re`.) This is useful if " @@ -436,9 +632,13 @@ msgid "" "passing a *flag* argument to the :func:`re.compile` function. Flags should " "be used first in the expression string." msgstr "" +"(Флаги описаны в :ref:`contents-of-module-re`.) Это полезно, если вы хотите " +"включить флаги как часть регулярного выражения вместо передачи аргумента " +"*flag* в :func: функция `re.compile`. Флаги следует использовать первыми в " +"строке выражения." msgid "This construction can only be used at the start of the expression." -msgstr "" +msgstr "Эту конструкцию можно использовать только в начале выражения." msgid "``(?:...)``" msgstr "``(?:...)``" @@ -449,6 +649,10 @@ msgid "" "*cannot* be retrieved after performing a match or referenced later in the " "pattern." msgstr "" +"Версія звичайних круглих дужок без захоплення. Збігається з будь-яким " +"регулярним виразом у дужках, але підрядок, який відповідає групі, " +"*неможливо* отримати після виконання збігу або посилатися на нього пізніше в " +"шаблоні." msgid "``(?aiLmsux-imsx:...)``" msgstr "``(?aiLmsux-imsx:...)``" @@ -459,9 +663,13 @@ msgid "" "more letters from the ``'i'``, ``'m'``, ``'s'``, ``'x'``.) The letters set " "or remove the corresponding flags for the part of the expression:" msgstr "" +"(Ноль или более букв из набора ``'a'``, ``'i'``, ``'L'``, ``'m'``, ``s'``, " +"`` 'u'``, ``'x'``, за которым необязательно следует ``'-'``, за которым " +"следует одна или несколько букв из ``'i'``, ``'m'``, `` 's'``, ``'x'``.) " +"Буквы устанавливают или снимают соответствующие флаги для части выражения:" msgid "(The flags are described in :ref:`contents-of-module-re`.)" -msgstr "" +msgstr "(Флаги описаны в :ref:`contents-of-module-re`.)" msgid "" "The letters ``'a'``, ``'L'`` and ``'u'`` are mutually exclusive when used as " @@ -474,9 +682,19 @@ msgid "" "effect for the narrow inline group, and the original matching mode is " "restored outside of the group." msgstr "" +"Буквы ``'a'``, ``'L'`` и ``'u'`` являются взаимоисключающими при " +"использовании в качестве встроенных флагов, поэтому их нельзя комбинировать " +"или следовать за ``'-'`` . Вместо этого, когда один из них появляется во " +"встроенной группе, он переопределяет режим сопоставления во включающей " +"группе. В шаблонах Юникода ``(?a:...)`` переключается на соответствие только " +"ASCII, а ``(?u:...)`` переключается на соответствие Юникода (по умолчанию). " +"В байтовых шаблонах ``(?L:...)`` переключается на соответствие, зависящее от " +"локали, а ``(?a:...)`` переключается на соответствие только ASCII (по " +"умолчанию). Это переопределение действует только для узкой встроенной " +"группы, а исходный режим сопоставления восстанавливается за пределами группы." msgid "The letters ``'a'``, ``'L'`` and ``'u'`` also can be used in a group." -msgstr "" +msgstr "Літери ``'a'``, ``'L'`` і ``'u'`` також можна використовувати в групі." msgid "``(?>...)``" msgstr "``(?>...)``" @@ -493,6 +711,17 @@ msgid "" "Group, and there is no stack point before it, the entire expression would " "thus fail to match." msgstr "" +"Пытается сопоставить ``...``, как если бы это было отдельное регулярное " +"выражение, и в случае успеха продолжает сопоставлять остальную часть " +"следующего за ним шаблона. Если последующий шаблон не соответствует, стек " +"можно развернуть только до точки *перед* ``(?>...)``, потому что после " +"выхода выражение, известное как :dfn:`атомарная группа`, выбросил все очки " +"стека внутри себя. Таким образом, ``(?>.*).`` никогда не будет " +"соответствовать ничему, потому что сначала ``.*`` будет соответствовать всем " +"возможным символам, а затем, когда не останется ничего для сопоставления, " +"последний ``.`` не сможет соответствовать. соответствовать. Поскольку в " +"атомарной группе нет сохраненных точек стека, и перед ней нет точки стека, " +"все выражение не будет соответствовать." msgid "``(?P...)``" msgstr "``(?P...)``" @@ -505,39 +734,48 @@ msgid "" "a regular expression. A symbolic group is also a numbered group, just as if " "the group were not named." msgstr "" +"Аналогично обычным круглым скобкам, но подстрока, соответствующая группе, " +"доступна через символическое имя группы *name*. Имена групп должны быть " +"допустимыми идентификаторами Python, а в шаблонах :class:`bytes` они могут " +"содержать только байты в диапазоне ASCII. Каждое имя группы должно быть " +"определено только один раз в регулярном выражении. Символическая группа " +"также является пронумерованной группой, как если бы группа не имела имени." msgid "" "Named groups can be referenced in three contexts. If the pattern is ``(?" "P['\"]).*?(?P=quote)`` (i.e. matching a string quoted with either " "single or double quotes):" msgstr "" +"На іменовані групи можна посилатися в трьох контекстах. Якщо шаблон ``(?P " +" ['\"]).*?(?P=quote)`` (тобто відповідає рядку в одинарних або " +"подвійних лапках):" msgid "Context of reference to group \"quote\"" -msgstr "" +msgstr "Контекст посилання на групу \"цитата\"" msgid "Ways to reference it" -msgstr "" +msgstr "Способи посилання на нього" msgid "in the same pattern itself" -msgstr "" +msgstr "за таким самим шаблоном" msgid "``(?P=quote)`` (as shown)" -msgstr "" +msgstr "``(?P=quote)`` (як показано)" msgid "``\\1``" msgstr "``\\1``" msgid "when processing match object *m*" -msgstr "" +msgstr "під час обробки відповідного об'єкта *m*" msgid "``m.group('quote')``" -msgstr "" +msgstr "``m.group('quote')``" msgid "``m.end('quote')`` (etc.)" msgstr "``m.end('quote')`` (etc.)" msgid "in a string passed to the *repl* argument of ``re.sub()``" -msgstr "" +msgstr "у рядку, переданому в аргумент *repl* ``re.sub()``" msgid "``\\g``" msgstr "``\\g``" @@ -549,20 +787,24 @@ msgid "" "In :class:`bytes` patterns, group *name* can only contain bytes in the ASCII " "range (``b'\\x00'``-``b'\\x7f'``)." msgstr "" +"В шаблонах :class:`bytes` группа *name* может содержать только байты в " +"диапазоне ASCII (``b'\\x00'``-``b'\\x7f'``." msgid "``(?P=name)``" -msgstr "" +msgstr "``(?P=name)``" msgid "" "A backreference to a named group; it matches whatever text was matched by " "the earlier group named *name*." msgstr "" +"Зворотне посилання на іменовану групу; він відповідає будь-якому тексту, " +"який відповідав попередній групі під назвою *name*." msgid "``(?#...)``" msgstr "``(?#...)``" msgid "A comment; the contents of the parentheses are simply ignored." -msgstr "" +msgstr "коментар; вміст круглих дужок просто ігнорується." msgid "``(?=...)``" msgstr "``(?=...)``" @@ -572,6 +814,9 @@ msgid "" "This is called a :dfn:`lookahead assertion`. For example, ``Isaac (?" "=Asimov)`` will match ``'Isaac '`` only if it's followed by ``'Asimov'``." msgstr "" +"Збігається, якщо ``...`` збігається наступним, але не споживає жоден рядок. " +"Це називається :dfn:`lookahead assertion`. Наприклад, ``Isaac (?=Azimov)`` " +"відповідатиме ``'Isaac ''``, лише якщо за ним йде ``'Azimov'``." msgid "``(?!...)``" msgstr "``(?!...)``" @@ -581,6 +826,9 @@ msgid "" "assertion`. For example, ``Isaac (?!Asimov)`` will match ``'Isaac '`` only " "if it's *not* followed by ``'Asimov'``." msgstr "" +"Збігається, якщо ``...`` не збігається наступним. Це :dfn:`негативне " +"випереджальне твердження`. Наприклад, ``Isaac (?!Azimov)`` відповідатиме " +"``'Isaac ''``, лише якщо за ним *не* йде ``'Azimov'``." msgid "``(?<=...)``" msgstr "``(?<=...)``" @@ -597,12 +845,22 @@ msgid "" "will most likely want to use the :func:`search` function rather than the :" "func:`match` function:" msgstr "" +"Збігається, якщо поточній позиції в рядку передує відповідність для ``...``, " +"яка закінчується на поточній позиції. Це називається :dfn:`позитивним " +"ретроспективним твердженням`. ``(?<=abc)def`` знайде збіг у ``'abcdef'``, " +"оскільки огляд назад створить резервну копію 3 символів і перевірить, чи " +"збігається шаблон, що міститься. Вміщений шаблон має збігатися лише з " +"рядками певної фіксованої довжини, тобто допустимі ``abc`` або ``a|b``, але " +"``a*`` і ``a{3,4}`` заборонені . Зауважте, що шаблони, які починаються з " +"позитивних ретроспективних тверджень, не збігатимуться на початку рядка, що " +"шукається; швидше за все, ви захочете використовувати функцію :func:" +"`search`, а не функцію :func:`match`:" msgid "This example looks for a word following a hyphen:" -msgstr "" +msgstr "У цьому прикладі шукається слово після дефіса:" msgid "Added support for group references of fixed length." -msgstr "" +msgstr "Додано підтримку групових посилань фіксованої довжини." msgid "``(?'`` as well as ``'user@host.com'``, but not with " "``''``." msgstr "" +"Спробує знайти відповідність за допомогою ``yes-pattern``, якщо група з " +"заданим *id* або *name* існує, і за допомогою ``no-pattern``, якщо вона не " +"існує. ``no-pattern`` є необов'язковим і його можна опустити. Наприклад, " +"``( <)?(\\w+@\\w+(?:\\.\\w+)+)(?(1)> |$)`` є поганим шаблоном відповідності " +"електронної пошти, який збігатиметься з ``''``, а також " +"``'user@host.com'``, але не з ``' '``." msgid "" "Group *id* can only contain ASCII digits. In :class:`bytes` patterns, group " "*name* can only contain bytes in the ASCII range (``b'\\x00'``-``b'\\x7f'``)." msgstr "" +"Группа *id* может содержать только цифры ASCII. В шаблонах :class:`bytes` " +"группа *name* может содержать только байты в диапазоне ASCII (``b'\\x00'``-" +"``b'\\x7f'``." msgid "" "The special sequences consist of ``'\\'`` and a character from the list " @@ -638,9 +910,13 @@ msgid "" "then the resulting RE will match the second character. For example, ``\\$`` " "matches the character ``'$'``." msgstr "" +"Спеціальні послідовності складаються з ``'\\'`` і символу зі списку нижче. " +"Якщо звичайний символ не є цифрою ASCII або літерою ASCII, тоді результуючий " +"RE відповідатиме другому символу. Наприклад, ``\\$`` відповідає символу " +"``''$'``." msgid "``\\number``" -msgstr "" +msgstr "``\\number``" msgid "" "Matches the contents of the group of the same number. Groups are numbered " @@ -652,12 +928,20 @@ msgid "" "*number*. Inside the ``'['`` and ``']'`` of a character class, all numeric " "escapes are treated as characters." msgstr "" +"Відповідає вмісту групи з тим самим номером. Групи нумеруються, починаючи з " +"1. Наприклад, ``(.+) \\1`` відповідає ``'the'`` або ``'55 55'``, але не " +"``'thethe'`` (примітка пробіл після групи). Цю спеціальну послідовність " +"можна використовувати лише для відповідності одній із перших 99 груп. Якщо " +"перша цифра *числа* дорівнює 0 або *число* складається з 3 вісімкових цифр, " +"це не буде інтерпретовано як збіг групи, а як символ із вісімковим значенням " +"*число*. Усередині ``'['`` і ``']'`` класу символів усі цифрові екрановані " +"символи розглядаються як символи." msgid "``\\A``" msgstr "``\\A``" msgid "Matches only at the start of the string." -msgstr "" +msgstr "Збігається лише на початку рядка." msgid "``\\b``" msgstr "``\\b``" @@ -670,6 +954,12 @@ msgid "" "means that ``r'\\bat\\b'`` matches ``'at'``, ``'at.'``, ``'(at)'``, and " "``'as at ay'`` but not ``'attempt'`` or ``'atlas'``." msgstr "" +"Соответствует пустой строке, но только в начале или конце слова. Слово " +"определяется как последовательность словных символов. Обратите внимание, что " +"формально ``\\b`` определяется как граница между символами ``\\w`` и ``\\W`` " +"(или наоборот) или между ``\\w`` и началом или конец строки. Это означает, " +"что ``r'\\bat\\b'`` соответствует ``'at'``, ``'at.'``, ``'(at)'`` и ``'as at " +"ay' `` но не ``'попытка'`` или ``атлас'``." msgid "" "The default word characters in Unicode (str) patterns are Unicode " @@ -677,11 +967,17 @@ msgid "" "const:`~re.ASCII` flag. Word boundaries are determined by the current locale " "if the :py:const:`~re.LOCALE` flag is used." msgstr "" +"Символами слов по умолчанию в шаблонах Юникода (str) являются буквенно-" +"цифровые символы Юникода и знак подчеркивания, но это можно изменить с " +"помощью флага :py:const:`~re.ASCII`. Границы слов определяются текущей " +"локалью, если используется флаг :py:const:`~re.LOCALE`." msgid "" "Inside a character range, ``\\b`` represents the backspace character, for " "compatibility with Python's string literals." msgstr "" +"Внутри диапазона символов ``\\b`` представляет собой символ возврата на " +"задний план для совместимости со строковыми литералами Python." msgid "``\\B``" msgstr "``\\B``" @@ -695,6 +991,14 @@ msgid "" "using the :py:const:`~re.ASCII` flag. Word boundaries are determined by the " "current locale if the :py:const:`~re.LOCALE` flag is used." msgstr "" +"Соответствует пустой строке, но только если она *не* находится в начале или " +"конце слова. Это означает, что ``r'at\\B'`` соответствует ``'athens'``, " +"``'atom'``, ``'attorney'``, но не ``'at'``, `` 'at.'`` или ``'at!'``. " +"``\\B`` является противоположностью ``\\b``, поэтому символы слов в шаблонах " +"Юникода (str) представляют собой буквенно-цифровые символы Юникода или знак " +"подчеркивания, хотя это можно изменить с помощью :py:const:`~re. Флаг ASCII. " +"Границы слов определяются текущей локалью, если используется флаг :py:const:" +"`~re.LOCALE`." msgid "" "Note that ``\\B`` does not match an empty string, which differs from RE " @@ -706,24 +1010,29 @@ msgid "``\\d``" msgstr "``\\d``" msgid "For Unicode (str) patterns:" -msgstr "" +msgstr "Для шаблонів Unicode (str):" msgid "" "Matches any Unicode decimal digit (that is, any character in Unicode " "character category `[Nd]`__). This includes ``[0-9]``, and also many other " "digit characters." msgstr "" +"Соответствует любой десятичной цифре Юникода (то есть любому символу из " +"категории символов Юникода `[Nd]`__). Сюда входят ``[0-9]``, а также многие " +"другие цифровые символы." msgid "Matches ``[0-9]`` if the :py:const:`~re.ASCII` flag is used." -msgstr "" +msgstr "Соответствует ``[0-9]``, если используется флаг :py:const:`~re.ASCII`." msgid "For 8-bit (bytes) patterns:" -msgstr "" +msgstr "Для 8-бітових (байтових) шаблонів:" msgid "" "Matches any decimal digit in the ASCII character set; this is equivalent to " "``[0-9]``." msgstr "" +"Соответствует любой десятичной цифре в наборе символов ASCII; это " +"эквивалентно ``[0-9]``." msgid "``\\D``" msgstr "``\\D``" @@ -732,9 +1041,12 @@ msgid "" "Matches any character which is not a decimal digit. This is the opposite of " "``\\d``." msgstr "" +"Соответствует любому символу, кроме десятичной цифры. Это противоположность " +"``\\d``." msgid "Matches ``[^0-9]`` if the :py:const:`~re.ASCII` flag is used." msgstr "" +"Соответствует ``[^0-9]``, если используется флаг :py:const:`~re.ASCII`." msgid "``\\s``" msgstr "``\\s``" @@ -745,15 +1057,23 @@ msgid "" "characters, for example the non-breaking spaces mandated by typography rules " "in many languages." msgstr "" +"Соответствует пробельным символам Юникода (как определено в :py:meth:`str." +"isspace`). Сюда входят ``[ \\t\\n\\r\\f\\v]``, а также многие другие " +"символы, например неразрывные пробелы, предусмотренные правилами типографики " +"во многих языках." msgid "" "Matches ``[ \\t\\n\\r\\f\\v]`` if the :py:const:`~re.ASCII` flag is used." msgstr "" +"Соответствует ``[ \\t\\n\\r\\f\\v]``, если используется флаг :py:const:`~re." +"ASCII`." msgid "" "Matches characters considered whitespace in the ASCII character set; this is " "equivalent to ``[ \\t\\n\\r\\f\\v]``." msgstr "" +"Відповідає символам, які вважаються пробілами в наборі символів ASCII; це " +"еквівалентно ``[ \\t\\n\\r\\f\\v]``." msgid "``\\S``" msgstr "``\\S``" @@ -762,10 +1082,14 @@ msgid "" "Matches any character which is not a whitespace character. This is the " "opposite of ``\\s``." msgstr "" +"Соответствует любому символу, не являющемуся пробелом. Это противоположность " +"``\\s``." msgid "" "Matches ``[^ \\t\\n\\r\\f\\v]`` if the :py:const:`~re.ASCII` flag is used." msgstr "" +"Соответствует ``[^ \\t\\n\\r\\f\\v]``, если используется флаг :py:const:`~re." +"ASCII`." msgid "``\\w``" msgstr "``\\w``" @@ -775,9 +1099,13 @@ msgid "" "characters (as defined by :py:meth:`str.isalnum`), as well as the underscore " "(``_``)." msgstr "" +"Соответствует символам слов Юникода; сюда входят все буквенно-цифровые " +"символы Юникода (как определено в :py:meth:`str.isalnum`), а также " +"подчеркивание (``_``)." msgid "Matches ``[a-zA-Z0-9_]`` if the :py:const:`~re.ASCII` flag is used." msgstr "" +"Соответствует ``[a-zA-Z0-9_]``, если используется флаг :py:const:`~re.ASCII`." msgid "" "Matches characters considered alphanumeric in the ASCII character set; this " @@ -785,6 +1113,10 @@ msgid "" "used, matches characters considered alphanumeric in the current locale and " "the underscore." msgstr "" +"Соответствует символам, которые считаются буквенно-цифровыми в наборе " +"символов ASCII; это эквивалентно ``[a-zA-Z0-9_]``. Если используется флаг :" +"py:const:`~re.LOCALE`, он соответствует символам, считающимся буквенно-" +"цифровыми в текущей локали, и знаку подчеркивания." msgid "``\\W``" msgstr "``\\W``" @@ -794,42 +1126,63 @@ msgid "" "``\\w``. By default, matches non-underscore (``_``) characters for which :py:" "meth:`str.isalnum` returns ``False``." msgstr "" +"Соответствует любому символу, который не является символом слова. Это " +"противоположность ``\\w``. По умолчанию соответствует символам без " +"подчеркивания (``_``), для которых :py:meth:`str.isalnum` возвращает " +"``False``." msgid "Matches ``[^a-zA-Z0-9_]`` if the :py:const:`~re.ASCII` flag is used." msgstr "" +"Соответствует ``[^a-zA-Z0-9_]``, если используется флаг :py:const:`~re." +"ASCII`." msgid "" "If the :py:const:`~re.LOCALE` flag is used, matches characters which are " "neither alphanumeric in the current locale nor the underscore." msgstr "" +"Если используется флаг :py:const:`~re.LOCALE`, он соответствует символам, " +"которые не являются ни буквенно-цифровыми в текущей локали, ни " +"подчеркиванием." msgid "``\\Z``" msgstr "``\\Z``" msgid "Matches only at the end of the string." -msgstr "" +msgstr "Збігається лише в кінці рядка." msgid "" "Most of the :ref:`escape sequences ` supported by Python " "string literals are also accepted by the regular expression parser::" msgstr "" +"Большинство :ref:`escape-последовательностей `, " +"поддерживаемых строковыми литералами Python, также принимаются анализатором " +"регулярных выражений::" msgid "" "\\a \\b \\f \\n\n" "\\N \\r \\t \\u\n" "\\U \\v \\x \\\\" msgstr "" +"\\a \\b \\f \\n\n" +"\\N \\r \\t \\u\n" +"\\U \\v \\x \\\\" msgid "" "(Note that ``\\b`` is used to represent word boundaries, and means " "\"backspace\" only inside character classes.)" msgstr "" +"(Зауважте, що ``\\b`` використовується для представлення меж слів і означає " +"\"backspace\" лише всередині класів символів.)" msgid "" "``'\\u'``, ``'\\U'``, and ``'\\N'`` escape sequences are only recognized in " "Unicode (str) patterns. In bytes patterns they are errors. Unknown escapes " "of ASCII letters are reserved for future use and treated as errors." msgstr "" +"escape-последовательности ``'\\u'``, ``'\\U'`` и ``'\\N'`` распознаются " +"только в шаблонах Unicode (str). В шаблонах байтов это ошибки. Неизвестные " +"escape-символы ASCII-букв зарезервированы для использования в будущем и " +"рассматриваются как ошибки." msgid "" "Octal escapes are included in a limited form. If the first digit is a 0, or " @@ -837,22 +1190,31 @@ msgid "" "Otherwise, it is a group reference. As for string literals, octal escapes " "are always at most three digits in length." msgstr "" +"Вісімкові втечі включені в обмеженій формі. Якщо першою цифрою є 0 або є три " +"вісімкові цифри, це вважається вісімковим екрануванням. В іншому випадку це " +"посилання на групу. Що стосується рядкових літералів, вісімкові символи " +"екранування завжди мають не більше трьох цифр." msgid "The ``'\\u'`` and ``'\\U'`` escape sequences have been added." -msgstr "" +msgstr "Було додано керуючі послідовності ``'\\u'`` і ``'\\U'``." msgid "" "Unknown escapes consisting of ``'\\'`` and an ASCII letter now are errors." msgstr "" +"Невідомі вихідні символи, що складаються з ``'\\'`` і літери ASCII, тепер є " +"помилками." msgid "" "The :samp:`'\\\\N\\\\{{name}\\\\}'` escape sequence has been added. As in " "string literals, it expands to the named Unicode character (e.g. ``'\\N{EM " "DASH}'``)." msgstr "" +"Добавлена ​​escape-последовательность :samp:`'\\N\\\\{{name}\\\\}'`. Как и в " +"случае строковых литералов, он расширяется до именованного символа Юникода " +"(например, ``'\\N{EM DASH}'``)." msgid "Module Contents" -msgstr "" +msgstr "Modul-Modul" msgid "" "The module defines several functions, constants, and an exception. Some of " @@ -860,21 +1222,29 @@ msgid "" "compiled regular expressions. Most non-trivial applications always use the " "compiled form." msgstr "" +"Модуль визначає кілька функцій, констант і виключення. Деякі функції є " +"спрощеними версіями повнофункціональних методів для скомпільованих " +"регулярних виразів. Більшість нетривіальних програм завжди використовують " +"скомпільовану форму." msgid "Flags" -msgstr "" +msgstr "Прапори" msgid "" "Flag constants are now instances of :class:`RegexFlag`, which is a subclass " "of :class:`enum.IntFlag`." msgstr "" +"Константи прапорів тепер є екземплярами :class:`RegexFlag`, який є " +"підкласом :class:`enum.IntFlag`." msgid "" "An :class:`enum.IntFlag` class containing the regex options listed below." msgstr "" +"Класс :class:`enum.IntFlag`, содержащий параметры регулярного выражения, " +"перечисленные ниже." msgid "- added to ``__all__``" -msgstr "" +msgstr "- добавлено в ``__all__``" msgid "" "Make ``\\w``, ``\\W``, ``\\b``, ``\\B``, ``\\d``, ``\\D``, ``\\s`` and " @@ -882,9 +1252,13 @@ msgid "" "is only meaningful for Unicode (str) patterns, and is ignored for bytes " "patterns." msgstr "" +"Создайте ``\\w``, ``\\W``, ``\\b``, ``\\B``, ``\\d``, ``\\D``, ``\\s`` и " +"``\\S`` выполняет сопоставление только ASCII вместо полного сопоставления " +"Unicode. Это имеет смысл только для шаблонов Unicode (str) и игнорируется " +"для шаблонов байтов." msgid "Corresponds to the inline flag ``(?a)``." -msgstr "" +msgstr "Соответствует встроенному флагу ``(?a)``." msgid "" "The :py:const:`~re.U` flag still exists for backward compatibility, but is " @@ -892,12 +1266,17 @@ msgid "" "patterns, and Unicode matching isn't allowed for bytes patterns. :py:const:" "`~re.UNICODE` and the inline flag ``(?u)`` are similarly redundant." msgstr "" +"Флаг :py:const:`~re.U` по-прежнему существует для обратной совместимости, но " +"он является избыточным в Python 3, поскольку по умолчанию для шаблонов " +"``str`` соответствует Unicode, а для шаблонов байтов соответствие Unicode не " +"разрешено. :py:const:`~re.UNICODE` и встроенный флаг ``(?u)`` также " +"избыточны." msgid "Display debug information about compiled expression." -msgstr "" +msgstr "Отображение отладочной информации о скомпилированном выражении." msgid "No corresponding inline flag." -msgstr "" +msgstr "Нет соответствующего встроенного флага." msgid "" "Perform case-insensitive matching; expressions like ``[A-Z]`` will also " @@ -906,9 +1285,15 @@ msgid "" "non-ASCII matches. The current locale does not change the effect of this " "flag unless the :py:const:`~re.LOCALE` flag is also used." msgstr "" +"Выполнить сопоставление без учета регистра; выражения типа ``[AZ]`` также " +"будут соответствовать строчным буквам. Полное соответствие Юникода " +"(например, сопоставление ``Ü`` ``ü``) также работает, если только не " +"используется флаг :py:const:`~re.ASCII` для отключения совпадений, отличных " +"от ASCII. Текущая локаль не меняет эффект этого флага, если также не " +"используется флаг :py:const:`~re.LOCALE`." msgid "Corresponds to the inline flag ``(?i)``." -msgstr "" +msgstr "Соответствует встроенному флагу ``(?i)``." msgid "" "Note that when the Unicode patterns ``[a-z]`` or ``[A-Z]`` are used in " @@ -919,15 +1304,26 @@ msgid "" "the :py:const:`~re.ASCII` flag is used, only letters 'a' to 'z' and 'A' to " "'Z' are matched." msgstr "" +"Обратите внимание, что когда шаблоны Unicode ``[az]`` или ``[AZ]`` " +"используются в сочетании с флагом :const:`IGNORECASE`, они будут " +"соответствовать 52 буквам ASCII и 4 дополнительным буквам, отличным от " +"ASCII: 'İ' (U+0130, латинская заглавная буква I с точкой вверху), " +"'ı' (U+0131, латинская строчная буква без точки i), 'ſ' (U+017F, длинная " +"латинская строчная буква s) и 'K' (U+212A, знак Кельвина). Если используется " +"флаг :py:const:`~re.ASCII`, сопоставляются только буквы от «a» до «z» и от " +"«A» до «Z»." msgid "" "Make ``\\w``, ``\\W``, ``\\b``, ``\\B`` and case-insensitive matching " "dependent on the current locale. This flag can be used only with bytes " "patterns." msgstr "" +"Сделать ``\\w``, ``\\W``, ``\\b``, ``\\B`` и соответствие без учета регистра " +"в зависимости от текущей локали. Этот флаг можно использовать только с " +"шаблонами байтов." msgid "Corresponds to the inline flag ``(?L)``." -msgstr "" +msgstr "Corresponds to the inline flag ``(?L)``." msgid "" "This flag is discouraged; consider Unicode matching instead. The locale " @@ -936,17 +1332,27 @@ msgid "" "for Unicode (str) patterns and it is able to handle different locales and " "languages." msgstr "" +"Этот флаг не рекомендуется; вместо этого рассмотрите сопоставление Unicode. " +"Механизм локалей очень ненадежен, поскольку он обрабатывает только одну " +"«культуру» за раз и работает только с 8-битными локалями. Сопоставление " +"Юникода включено по умолчанию для шаблонов Юникода (str) и может " +"обрабатывать различные локали и языки." msgid "" ":py:const:`~re.LOCALE` can be used only with bytes patterns and is not " "compatible with :py:const:`~re.ASCII`." msgstr "" +":py:const:`~re.LOCALE` может использоваться только с байтовыми шаблонами и " +"несовместим с :py:const:`~re.ASCII`." msgid "" "Compiled regular expression objects with the :py:const:`~re.LOCALE` flag no " "longer depend on the locale at compile time. Only the locale at matching " "time affects the result of matching." msgstr "" +"Скомпилированные объекты регулярных выражений с флагом :py:const:`~re." +"LOCALE` больше не зависят от локали во время компиляции. На результат " +"сопоставления влияет только локаль во время сопоставления." msgid "" "When specified, the pattern character ``'^'`` matches at the beginning of " @@ -957,9 +1363,15 @@ msgid "" "only at the end of the string and immediately before the newline (if any) at " "the end of the string." msgstr "" +"Если он указан, символ шаблона ``'^'`` совпадает в начале строки и в начале " +"каждой строки (сразу после каждой новой строки); и символ шаблона ``'$'`` " +"совпадает в конце строки и в конце каждой строки (непосредственно перед " +"каждой новой строкой). По умолчанию ``'^'`` соответствует только началу " +"строки, а ``'$'`` только в конце строки и непосредственно перед символом " +"новой строки (если таковой имеется) в конце строки." msgid "Corresponds to the inline flag ``(?m)``." -msgstr "" +msgstr "Соответствует встроенному флагу ``(?m)``." msgid "" "Indicates no flag being applied, the value is ``0``. This flag may be used " @@ -967,29 +1379,44 @@ msgid "" "will be conditionally ORed with other flags. Example of use as a default " "value::" msgstr "" +"Указывает, что флаг не применяется, значение равно «0». Этот флаг можно " +"использовать в качестве значения по умолчанию для аргумента ключевого слова " +"функции или в качестве базового значения, которое будет объединяться по " +"условному оператору ИЛИ с другими флагами. Пример использования в качестве " +"значения по умолчанию::" msgid "" "def myfunc(text, flag=re.NOFLAG):\n" " return re.match(text, flag)" msgstr "" +"def myfunc(text, flag=re.NOFLAG):\n" +" return re.match(text, flag)" msgid "" "Make the ``'.'`` special character match any character at all, including a " "newline; without this flag, ``'.'`` will match anything *except* a newline." msgstr "" +"Сделайте так, чтобы специальный символ ``'.'`` соответствовал любому " +"символу, включая новую строку; без этого флага ``'.'`` будет соответствовать " +"всему, *кроме* новой строки." msgid "Corresponds to the inline flag ``(?s)``." -msgstr "" +msgstr "Соответствует встроенному флагу ``(?s)``." msgid "" "In Python 3, Unicode characters are matched by default for ``str`` patterns. " "This flag is therefore redundant with **no effect** and is only kept for " "backward compatibility." msgstr "" +"В Python 3 символы Юникода по умолчанию сопоставляются с шаблонами ``str``. " +"Поэтому этот флаг является избыточным и **не влияет** и сохраняется только " +"для обратной совместимости." msgid "" "See :py:const:`~re.ASCII` to restrict matching to ASCII characters instead." msgstr "" +"См. :py:const:`~re.ASCII`, чтобы вместо этого ограничить соответствие " +"символами ASCII." msgid "" "This flag allows you to write regular expressions that look nicer and are " @@ -1002,11 +1429,23 @@ msgid "" "characters from the leftmost such ``#`` through the end of the line are " "ignored." msgstr "" +"Этот флаг позволяет вам писать регулярные выражения, которые выглядят лучше " +"и более читабельны, позволяя визуально разделять логические разделы шаблона " +"и добавлять комментарии. Пробелы внутри шаблона игнорируются, за исключением " +"случаев, когда они находятся в классе символов, или когда им предшествует " +"неэкранированная обратная косая черта, или внутри токенов, таких как ``*?``, " +"``(?:`` или ``(?P<... >`` Например, ``(? :`` и ``* ?`` не допускаются. Если " +"строка содержит символ ``#``, который не принадлежит классу символов и " +"которому не предшествует неэкранированная обратная косая черта. , все " +"символы начиная с самого левого, например ``#``, до конца строки " +"игнорируются." msgid "" "This means that the two following regular expression objects that match a " "decimal number are functionally equal::" msgstr "" +"Це означає, що два наступних об’єкти регулярного виразу, які відповідають " +"десятковому числу, функціонально однакові:" msgid "" "a = re.compile(r\"\"\"\\d + # the integral part\n" @@ -1014,9 +1453,13 @@ msgid "" " \\d * # some fractional digits\"\"\", re.X)\n" "b = re.compile(r\"\\d+\\.\\d*\")" msgstr "" +"a = re.compile(r\"\"\"\\d + # the integral part\n" +" \\. # the decimal point\n" +" \\d * # some fractional digits\"\"\", re.X)\n" +"b = re.compile(r\"\\d+\\.\\d*\")" msgid "Corresponds to the inline flag ``(?x)``." -msgstr "" +msgstr "Відповідає вбудованому прапору ``(?x)``." msgid "Functions" msgstr "Zadania" @@ -1026,32 +1469,44 @@ msgid "" "`, which can be used for matching using its :func:`~Pattern." "match`, :func:`~Pattern.search` and other methods, described below." msgstr "" +"Скомпілюйте шаблон регулярного виразу в :ref:`об’єкт регулярного виразу `, який можна використовувати для зіставлення за допомогою його :" +"func:`~Pattern.match`, :func:`~Pattern.search` та інших методів, описаних " +"нижче ." msgid "" "The expression's behaviour can be modified by specifying a *flags* value. " "Values can be any of the `flags`_ variables, combined using bitwise OR (the " "``|`` operator)." msgstr "" +"Поведение выражения можно изменить, указав значение *flags*. Значениями " +"могут быть любые переменные `flags`_, объединенные с помощью побитового ИЛИ " +"(оператор ``|``)." msgid "The sequence ::" -msgstr "" +msgstr "Послідовність ::" msgid "" "prog = re.compile(pattern)\n" "result = prog.match(string)" msgstr "" +"prog = re.compile(pattern)\n" +"result = prog.match(string)" msgid "is equivalent to ::" -msgstr "" +msgstr "setara dengan::" msgid "result = re.match(pattern, string)" -msgstr "" +msgstr "result = re.match(pattern, string)" msgid "" "but using :func:`re.compile` and saving the resulting regular expression " "object for reuse is more efficient when the expression will be used several " "times in a single program." msgstr "" +"але використання :func:`re.compile` і збереження отриманого об’єкта " +"регулярного виразу для повторного використання ефективніше, якщо вираз " +"використовуватиметься кілька разів в одній програмі." msgid "" "The compiled versions of the most recent patterns passed to :func:`re." @@ -1059,6 +1514,10 @@ msgid "" "that use only a few regular expressions at a time needn't worry about " "compiling regular expressions." msgstr "" +"Зібрані версії найновіших шаблонів, переданих до :func:`re.compile`, і " +"функції відповідності на рівні модуля кешуються, тому програмам, які " +"використовують лише кілька регулярних виразів одночасно, не потрібно " +"турбуватися про компіляцію регулярних виразів." msgid "" "Scan through *string* looking for the first location where the regular " @@ -1067,6 +1526,11 @@ msgid "" "pattern; note that this is different from finding a zero-length match at " "some point in the string." msgstr "" +"Просканируйте *строку* в поисках первого места, где регулярное выражение " +"*шаблон* создает совпадение, и верните соответствующий :class:`~re.Match`. " +"Верните None, если ни одна позиция в строке не соответствует шаблону; " +"обратите внимание, что это отличается от поиска совпадения нулевой длины в " +"какой-то точке строки." msgid "" "If zero or more characters at the beginning of *string* match the regular " @@ -1074,22 +1538,34 @@ msgid "" "``None`` if the string does not match the pattern; note that this is " "different from a zero-length match." msgstr "" +"Если ноль или более символов в начале *строки* соответствуют регулярному " +"выражению *шаблон*, верните соответствующий :class:`~re.Match`. Верните " +"None, если строка не соответствует шаблону; обратите внимание, что это " +"отличается от совпадения нулевой длины." msgid "" "Note that even in :const:`MULTILINE` mode, :func:`re.match` will only match " "at the beginning of the string and not at the beginning of each line." msgstr "" +"Зауважте, що навіть у режимі :const:`MULTILINE` :func:`re.match` " +"збігатиметься лише на початку рядка, а не на початку кожного рядка." msgid "" "If you want to locate a match anywhere in *string*, use :func:`search` " "instead (see also :ref:`search-vs-match`)." msgstr "" +"Якщо ви хочете знайти збіг будь-де в *string*, використовуйте натомість :" +"func:`search` (див. також :ref:`search-vs-match`)." msgid "" "If the whole *string* matches the regular expression *pattern*, return a " "corresponding :class:`~re.Match`. Return ``None`` if the string does not " "match the pattern; note that this is different from a zero-length match." msgstr "" +"Если вся *строка* соответствует *шаблону* регулярного выражения, верните " +"соответствующий :class:`~re.Match`. Верните None, если строка не " +"соответствует шаблону; обратите внимание, что это отличается от совпадения " +"нулевой длины." msgid "" "Split *string* by the occurrences of *pattern*. If capturing parentheses " @@ -1098,6 +1574,11 @@ msgid "" "*maxsplit* splits occur, and the remainder of the string is returned as the " "final element of the list. ::" msgstr "" +"Розділіть *рядок* на входження *шаблону*. Якщо в *шаблоні* використовуються " +"дужки для захоплення, тоді текст усіх груп у шаблоні також повертається як " +"частина результуючого списку. Якщо *maxsplit* відмінний від нуля, " +"відбувається не більше ніж *maxsplit*, а залишок рядка повертається як " +"останній елемент списку. ::" msgid "" ">>> re.split(r'\\W+', 'Words, words, words.')\n" @@ -1109,12 +1590,22 @@ msgid "" ">>> re.split('[a-f]+', '0a3B9', flags=re.IGNORECASE)\n" "['0', '3', '9']" msgstr "" +">>> re.split(r'\\W+', 'Words, words, words.')\n" +"['Words', 'words', 'words', '']\n" +">>> re.split(r'(\\W+)', 'Words, words, words.')\n" +"['Words', ', ', 'words', ', ', 'words', '.', '']\n" +">>> re.split(r'\\W+', 'Words, words, words.', maxsplit=1)\n" +"['Words', 'words, words.']\n" +">>> re.split('[a-f]+', '0a3B9', flags=re.IGNORECASE)\n" +"['0', '3', '9']" msgid "" "If there are capturing groups in the separator and it matches at the start " "of the string, the result will start with an empty string. The same holds " "for the end of the string::" msgstr "" +"Якщо в розділювачі є групи захоплення, і він збігається на початку рядка, " +"результат розпочнеться з порожнього рядка. Те саме стосується кінця рядка::" msgid "" ">>> re.split(r'(\\W+)', '...words, words...')\n" @@ -1127,11 +1618,16 @@ msgid "" "That way, separator components are always found at the same relative indices " "within the result list." 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 "" +"Correspondências vazias adjacentes não são possíveis, mas uma " +"correspondência vazia pode ocorrer imediatamente após uma correspondência " +"não-vazia." msgid "" ">>> re.split(r'\\b', 'Words, words, words.')\n" @@ -1142,25 +1638,39 @@ msgid "" "['', '...', '', '', 'w', '', 'o', '', 'r', '', 'd', '', 's', '...', '', '', " "'']" msgstr "" +">>> re.split(r'\\b', 'Words, words, words.')\n" +"['', 'Words', ', ', 'words', ', ', 'words', '.']\n" +">>> re.split(r'\\W*', '...words...')\n" +"['', '', 'w', 'o', 'r', 'd', 's', '', '']\n" +">>> re.split(r'(\\W*)', '...words...')\n" +"['', '...', '', '', 'w', '', 'o', '', 'r', '', 'd', '', 's', '...', '', '', " +"'']" msgid "Added the optional flags argument." -msgstr "" +msgstr "Додано необов’язковий аргумент flags." msgid "" "Added support of splitting on a pattern that could match an empty string." msgstr "" +"Додано підтримку розбиття на шаблон, який може відповідати порожньому рядку." msgid "" "Passing *maxsplit* and *flags* as positional arguments is deprecated. In " "future Python versions they will be :ref:`keyword-only parameters `." msgstr "" +"Передача *maxsplit* и *flags* в качестве позиционных аргументов устарела. В " +"будущих версиях Python это будут :ref:`параметры только для ключевых слов " +"`." msgid "" "Return all non-overlapping matches of *pattern* in *string*, as a list of " "strings or tuples. The *string* is scanned left-to-right, and matches are " "returned in the order found. Empty matches are included in the result." msgstr "" +"Повертає всі неперекриваючі збіги *шаблону* в *рядку* у вигляді списку " +"рядків або кортежів. *Рядок* сканується зліва направо, і збіги повертаються " +"в порядку знайдення. Порожні збіги включаються в результат." msgid "" "The result depends on the number of capturing groups in the pattern. If " @@ -1170,9 +1680,16 @@ msgid "" "matching the groups. Non-capturing groups do not affect the form of the " "result." msgstr "" +"Результат залежить від кількості груп захоплення в шаблоні. Якщо груп немає, " +"поверніть список рядків, які відповідають повному шаблону. Якщо існує рівно " +"одна група, поверніть список рядків, які відповідають цій групі. Якщо " +"присутні кілька груп, поверніть список кортежів рядків, які відповідають " +"групам. Незахоплюючі групи не впливають на форму результату." msgid "Non-empty matches can now start just after a previous empty match." msgstr "" +"Непорожні збіги тепер можуть починатися одразу після попереднього порожнього " +"збігу." msgid "" "Return an :term:`iterator` yielding :class:`~re.Match` objects over all non-" @@ -1180,6 +1697,10 @@ msgid "" "scanned left-to-right, and matches are returned in the order found. Empty " "matches are included in the result." msgstr "" +"Возвращает :term:`iterator`, возвращающий :class:`~re.Match` объекты по всем " +"непересекающимся совпадениям для *pattern* RE в *string*. *Строка* " +"сканируется слева направо, и совпадения возвращаются в найденном порядке. " +"Пустые совпадения включаются в результат." msgid "" "Return the string obtained by replacing the leftmost non-overlapping " @@ -1193,6 +1714,16 @@ msgid "" "``\\6``, are replaced with the substring matched by group 6 in the pattern. " "For example::" msgstr "" +"Повертає рядок, отриманий шляхом заміни крайніх лівих неперекриваючих " +"входжень *pattern* у *string* на заміну *repl*. Якщо шаблон не знайдено, " +"*рядок* повертається без змін. *repl* може бути рядком або функцією; якщо це " +"рядок, будь-які вихідні символи зворотної косої риски в ньому обробляються. " +"Тобто ``\\n`` перетворюється на один символ нового рядка, ``\\r`` " +"перетворюється на повернення каретки і так далі. Невідомі вихідні коди літер " +"ASCII зарезервовано для майбутнього використання та розглядаються як " +"помилки. Інші невідомі вихідні сигнали, такі як ``\\&`` залишаються в " +"спокої. Зворотні посилання, такі як ``\\6``, замінюються підрядком, який " +"відповідає групі 6 у шаблоні. Наприклад::" msgid "" ">>> re.sub(r'def\\s+([a-zA-Z_][a-zA-Z_0-9]*)\\s*\\(\\s*\\):',\n" @@ -1210,6 +1741,9 @@ msgid "" "of *pattern*. The function takes a single :class:`~re.Match` argument, and " "returns the replacement string. For example::" msgstr "" +"Если *repl* — функция, она вызывается для каждого непересекающегося " +"вхождения *pattern*. Функция принимает один аргумент :class:`~re.Match` и " +"возвращает строку замены. Например::" msgid "" ">>> def dashrepl(matchobj):\n" @@ -1222,17 +1756,37 @@ msgid "" "IGNORECASE)\n" "'Baked Beans & Spam'" msgstr "" +">>> def dashrepl(matchobj):\n" +"... if matchobj.group(0) == '-': return ' '\n" +"... else: return '-'\n" +"...\n" +">>> re.sub('-{1,2}', dashrepl, 'pro----gram-files')\n" +"'pro--gram files'\n" +">>> re.sub(r'\\sAND\\s', ' & ', 'Baked Beans And Spam', flags=re." +"IGNORECASE)\n" +"'Baked Beans & Spam'" msgid "The pattern may be a string or a :class:`~re.Pattern`." -msgstr "" +msgstr "Шаблон может быть строкой или :class:`~re.Pattern`." 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 "" +"O argumento opcional ``count`` é o número máximo de ocorrências do padrão a " +"ser substituído; ``count`` deve ser um número inteiro não negativo. Se " +"omitido ou igual a zero, todas as ocorrências serão substituídas." + +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 "" +"Correspondências vazias adjacentes não são possíveis, mas uma " +"correspondência vazia pode ocorrer imediatamente após uma correspondência " +"não-vazia. Como resultado, ``sub('x*', '-', 'abxd')`` retorna ``'-a-b--d-'`` " +"invés de ``'-a-b-d-'``." msgid "" "In string-type *repl* arguments, in addition to the character escapes and " @@ -1245,43 +1799,67 @@ msgid "" "backreference ``\\g<0>`` substitutes in the entire substring matched by the " "RE." msgstr "" +"В аргументах рядкового типу *repl*, на додаток до екранованих символів і " +"зворотних посилань, описаних вище, ``\\g `` використовуватиме " +"підрядок, який відповідає групі з назвою ``name``, як визначено ``(? P " +" ...)`` синтаксис. ``\\g `` використовує відповідний номер " +"групи; ``\\g <2>``, отже, еквівалентний ``\\2``, але не є неоднозначним у " +"заміні, такій як ``\\g <2> 0``. ``\\20`` інтерпретуватиметься як посилання " +"на групу 20, а не як посилання на групу 2, за якою йде літеральний символ " +"``'0'``. Зворотне посилання ``\\g <0>`` замінює весь підрядок, який " +"відповідає RE." msgid "Unmatched groups are replaced with an empty string." -msgstr "" +msgstr "Невідповідні групи замінюються порожнім рядком." msgid "" "Unknown escapes in *pattern* consisting of ``'\\'`` and an ASCII letter now " "are errors." msgstr "" +"Невідомі вихідні коди в *шаблоні*, що складаються з ``'\\'`` і літери ASCII, " +"тепер є помилками." 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 "" +"Escapes desconhecidos em *repl* consistindo em ``'\\'`` e uma letra ASCII " +"agora são erros. Uma correspondência vazia pode ocorrer imediatamente após " +"uma correspondência não-vazia." msgid "" "Group *id* can only contain ASCII digits. In :class:`bytes` replacement " "strings, group *name* can only contain bytes in the ASCII range " "(``b'\\x00'``-``b'\\x7f'``)." msgstr "" +"Группа *id* может содержать только цифры ASCII. В строках замены :class:" +"`bytes` группа *name* может содержать только байты в диапазоне ASCII " +"(``b'\\x00'``-``b'\\x7f'``." msgid "" "Passing *count* and *flags* as positional arguments is deprecated. In future " "Python versions they will be :ref:`keyword-only parameters `." msgstr "" +"Передача *count* и *flags* в качестве позиционных аргументов устарела. В " +"будущих версиях Python это будут :ref:`параметры только для ключевых слов " +"`." msgid "" "Perform the same operation as :func:`sub`, but return a tuple ``(new_string, " "number_of_subs_made)``." msgstr "" +"Виконайте ту саму операцію, що й :func:`sub`, але поверніть кортеж " +"``(new_string, number_of_subs_made)``." msgid "" "Escape special characters in *pattern*. This is useful if you want to match " "an arbitrary literal string that may have regular expression metacharacters " "in it. For example::" msgstr "" +"Екранування спеціальних символів у *шаблоні*. Це корисно, якщо ви хочете " +"зіставити довільний рядок літералу, який може містити метасимволи " +"регулярного виразу. Наприклад::" msgid "" ">>> print(re.escape('https://www.python.org'))\n" @@ -1296,11 +1874,24 @@ msgid "" ">>> print('|'.join(map(re.escape, sorted(operators, reverse=True))))\n" "/|\\-|\\+|\\*\\*|\\*" msgstr "" +">>> print(re.escape('https://www.python.org'))\n" +"https://www\\.python\\.org\n" +"\n" +">>> legal_chars = string.ascii_lowercase + string.digits + \"!#$%&'*+-.^_`|~:" +"\"\n" +">>> print('[%s]+' % re.escape(legal_chars))\n" +"[abcdefghijklmnopqrstuvwxyz0123456789!\\#\\$%\\&'\\*\\+\\-\\.\\^_`\\|\\~:]+\n" +"\n" +">>> operators = ['+', '-', '*', '/', '**']\n" +">>> print('|'.join(map(re.escape, sorted(operators, reverse=True))))\n" +"/|\\-|\\+|\\*\\*|\\*" msgid "" "This function must not be used for the replacement string in :func:`sub` " "and :func:`subn`, only backslashes should be escaped. For example::" msgstr "" +"Цю функцію не можна використовувати для рядка заміни в :func:`sub` і :func:" +"`subn`, слід екранувати лише зворотні косі риски. Наприклад::" msgid "" ">>> digits_re = r'\\d+'\n" @@ -1308,9 +1899,13 @@ msgid "" ">>> print(re.sub(digits_re, digits_re.replace('\\\\', r'\\\\'), sample))\n" "/usr/sbin/sendmail - \\d+ errors, \\d+ warnings" msgstr "" +">>> digits_re = r'\\d+'\n" +">>> sample = '/usr/sbin/sendmail - 0 errors, 12 warnings'\n" +">>> print(re.sub(digits_re, digits_re.replace('\\\\', r'\\\\'), sample))\n" +"/usr/sbin/sendmail - \\d+ errors, \\d+ warnings" msgid "The ``'_'`` character is no longer escaped." -msgstr "" +msgstr "Символ \"_\" більше не екранується." msgid "" "Only characters that can have special meaning in a regular expression are " @@ -1318,9 +1913,13 @@ msgid "" "``'/'``, ``':'``, ``';'``, ``'<'``, ``'='``, ``'>'``, ``'@'``, and ``\"`\"`` " "are no longer escaped." msgstr "" +"Екрануються лише символи, які можуть мати спеціальне значення в регулярному " +"виразі. У результаті ``'!'``, ``'\"'``, ``'%'``, ``\"'\"``, ``','``, " +"``'/'``, ``':'``, ``';'``, ``'<'``, ``'='``, ``'>'``, ``'@'``, і ``\"`\"`` " +"більше не екрануються." msgid "Clear the regular expression cache." -msgstr "" +msgstr "Очистити кеш регулярних виразів." msgid "Exceptions" msgstr "Wyjątki" @@ -1333,40 +1932,52 @@ msgid "" "pattern. The ``PatternError`` instance has the following additional " "attributes:" msgstr "" +"Исключение возникает, когда строка, переданная одной из функций, не является " +"допустимым регулярным выражением (например, она может содержать " +"несовпадающие круглые скобки) или когда во время компиляции или " +"сопоставления возникает какая-либо другая ошибка. Если строка не содержит " +"совпадений с шаблоном, это никогда не является ошибкой. Экземпляр " +"PatternError имеет следующие дополнительные атрибуты:" msgid "The unformatted error message." -msgstr "" +msgstr "Неформатне повідомлення про помилку." msgid "The regular expression pattern." -msgstr "" +msgstr "Шаблон регулярного виразу." msgid "The index in *pattern* where compilation failed (may be ``None``)." -msgstr "" +msgstr "Індекс у *шаблоні*, де не вдалося компілювати (може бути ``None``)." msgid "The line corresponding to *pos* (may be ``None``)." -msgstr "" +msgstr "Рядок, що відповідає *pos* (може бути ``None``)." msgid "The column corresponding to *pos* (may be ``None``)." -msgstr "" +msgstr "Стовпець, що відповідає *pos* (може бути ``None``)." msgid "Added additional attributes." -msgstr "" +msgstr "Додані додаткові атрибути." msgid "" "``PatternError`` was originally named ``error``; the latter is kept as an " "alias for backward compatibility." msgstr "" +"«PatternError» изначально назывался «error»; последний сохраняется как " +"псевдоним для обратной совместимости." msgid "Regular Expression Objects" -msgstr "" +msgstr "Об’єкти регулярного виразу" msgid "Compiled regular expression object returned by :func:`re.compile`." msgstr "" +"Скомпилированный объект регулярного выражения, возвращаемый :func:`re." +"compile`." msgid "" ":py:class:`re.Pattern` supports ``[]`` to indicate a Unicode (str) or bytes " "pattern. See :ref:`types-genericalias`." msgstr "" +":py:class:`re.Pattern` поддерживает ``[]`` для указания шаблона Unicode " +"(str) или байтов. См. :ref:`types-genericalias`." msgid "" "Scan through *string* looking for the first location where this regular " @@ -1375,6 +1986,11 @@ msgid "" "this is different from finding a zero-length match at some point in the " "string." msgstr "" +"Просканируйте *строку* в поисках первого места, где это регулярное выражение " +"создает совпадение, и верните соответствующий :class:`~re.Match`. Верните " +"None, если ни одна позиция в строке не соответствует шаблону; обратите " +"внимание, что это отличается от поиска совпадения нулевой длины в какой-то " +"точке строки." msgid "" "The optional second parameter *pos* gives an index in the string where the " @@ -1383,6 +1999,11 @@ msgid "" "beginning of the string and at positions just after a newline, but not " "necessarily at the index where the search is to start." msgstr "" +"Необов’язковий другий параметр *pos* дає індекс у рядку, з якого має " +"початися пошук; за замовчуванням ``0``. Це не зовсім еквівалентно нарізанню " +"струни; символ шаблону ``'^'`` збігається на справжньому початку рядка та в " +"позиціях одразу після нового рядка, але не обов’язково в індексі, з якого " +"має початися пошук." msgid "" "The optional parameter *endpos* limits how far the string will be searched; " @@ -1392,6 +2013,12 @@ msgid "" "compiled regular expression object, ``rx.search(string, 0, 50)`` is " "equivalent to ``rx.search(string[:50], 0)``. ::" msgstr "" +"Необов'язковий параметр *endpos* обмежує, наскільки далеко буде " +"здійснюватися пошук рядка; це буде так, ніби рядок складається з *endpos* " +"символів, тому шукатимуть збіги лише за символами від *pos* до ``endpos - " +"1``. Якщо *endpos* менше ніж *pos*, збіг не знайдено; інакше, якщо *rx* є " +"скомпільованим об’єктом регулярного виразу, ``rx.search(string, 0, 50)`` " +"еквівалентно ``rx.search(string[:50], 0)``. ::" msgid "" ">>> pattern = re.compile(\"d\")\n" @@ -1399,6 +2026,10 @@ msgid "" "\n" ">>> pattern.search(\"dog\", 1) # No match; search doesn't include the \"d\"" msgstr "" +">>> pattern = re.compile(\"d\")\n" +">>> pattern.search(\"dog\") # Match at index 0\n" +"\n" +">>> pattern.search(\"dog\", 1) # No match; search doesn't include the \"d\"" msgid "" "If zero or more characters at the *beginning* of *string* match this regular " @@ -1406,11 +2037,17 @@ msgid "" "the string does not match the pattern; note that this is different from a " "zero-length match." msgstr "" +"Если ноль или более символов в *начале* *строки* соответствуют этому " +"регулярному выражению, верните соответствующий :class:`~re.Match`. Верните " +"None, если строка не соответствует шаблону; обратите внимание, что это " +"отличается от совпадения нулевой длины." msgid "" "The optional *pos* and *endpos* parameters have the same meaning as for the :" "meth:`~Pattern.search` method. ::" msgstr "" +"Необов’язкові параметри *pos* і *endpos* мають те саме значення, що й для " +"методу :meth:`~Pattern.search`. ::" msgid "" ">>> pattern = re.compile(\"o\")\n" @@ -1420,17 +2057,29 @@ msgid "" "\"dog\".\n" "" msgstr "" +">>> pattern = re.compile(\"o\")\n" +">>> pattern.match(\"dog\") # No match as \"o\" is not at the start of " +"\"dog\".\n" +">>> pattern.match(\"dog\", 1) # Match as \"o\" is the 2nd character of " +"\"dog\".\n" +"" msgid "" "If you want to locate a match anywhere in *string*, use :meth:`~Pattern." "search` instead (see also :ref:`search-vs-match`)." msgstr "" +"Якщо ви хочете знайти збіг будь-де в *string*, використовуйте натомість :" +"meth:`~Pattern.search` (див. також :ref:`search-vs-match`)." msgid "" "If the whole *string* matches this regular expression, return a " "corresponding :class:`~re.Match`. Return ``None`` if the string does not " "match the pattern; note that this is different from a zero-length match." msgstr "" +"Если вся *строка* соответствует этому регулярному выражению, верните " +"соответствующий :class:`~re.Match`. Верните None, если строка не " +"соответствует шаблону; обратите внимание, что это отличается от совпадения " +"нулевой длины." msgid "" ">>> pattern = re.compile(\"o[gh]\")\n" @@ -1441,73 +2090,106 @@ msgid "" ">>> pattern.fullmatch(\"doggie\", 1, 3) # Matches within given limits.\n" "" msgstr "" +">>> шаблон = re.compile(\"o[gh]\") \n" +">>> Pattern.fullmatch(\"dog\") # Нет совпадений, так как \"o\" не находится " +"в начале слова \"dog\". \n" +">>> шаблон.fullmatch(\"ogre\") # Нет совпадений, поскольку не совпадает вся " +"строка. \n" +">>> шаблон.fullmatch(\"собачка\", 1, 3) # Соответствует в заданных пределах. " +"" msgid "Identical to the :func:`split` function, using the compiled pattern." -msgstr "" +msgstr "Ідентична функції :func:`split`, використовуючи скомпільований шаблон." msgid "" "Similar to the :func:`findall` function, using the compiled pattern, but " "also accepts optional *pos* and *endpos* parameters that limit the search " "region like for :meth:`search`." msgstr "" +"Подібно до функції :func:`findall`, використовує скомпільований шаблон, але " +"також приймає додаткові параметри *pos* і *endpos*, які обмежують область " +"пошуку, як для :meth:`search`." msgid "" "Similar to the :func:`finditer` function, using the compiled pattern, but " "also accepts optional *pos* and *endpos* parameters that limit the search " "region like for :meth:`search`." msgstr "" +"Подібно до функції :func:`finditer`, яка використовує скомпільований шаблон, " +"але також приймає додаткові параметри *pos* і *endpos*, які обмежують " +"область пошуку, як для :meth:`search`." msgid "Identical to the :func:`sub` function, using the compiled pattern." -msgstr "" +msgstr "Ідентична функції :func:`sub`, використовуючи скомпільований шаблон." msgid "Identical to the :func:`subn` function, using the compiled pattern." -msgstr "" +msgstr "Ідентична функції :func:`subn`, використовуючи скомпільований шаблон." msgid "" "The regex matching flags. This is a combination of the flags given to :func:" "`.compile`, any ``(?...)`` inline flags in the pattern, and implicit flags " "such as :py:const:`~re.UNICODE` if the pattern is a Unicode string." msgstr "" +"Флаги соответствия регулярных выражений. Это комбинация флагов, заданных " +"для :func:`.compile`, любых встроенных флагов ``(?...)`` в шаблоне и неявных " +"флагов, таких как :py:const:`~re.UNICODE` если шаблон представляет собой " +"строку Юникода." msgid "The number of capturing groups in the pattern." -msgstr "" +msgstr "Кількість груп захоплення в шаблоні." msgid "" "A dictionary mapping any symbolic group names defined by ``(?P)`` to " "group numbers. The dictionary is empty if no symbolic groups were used in " "the pattern." msgstr "" +"Словник, що відображає будь-які символічні назви груп, визначені ``(?P " +" )``, на номери груп. Словник порожній, якщо в шаблоні не " +"використовувалися символічні групи." msgid "The pattern string from which the pattern object was compiled." -msgstr "" +msgstr "Рядок шаблону, з якого було скомпільовано об’єкт шаблону." msgid "" "Added support of :func:`copy.copy` and :func:`copy.deepcopy`. Compiled " "regular expression objects are considered atomic." msgstr "" +"Додано підтримку :func:`copy.copy` і :func:`copy.deepcopy`. Зкомпільовані " +"об’єкти регулярного виразу вважаються атомарними." msgid "Match Objects" -msgstr "" +msgstr "Зіставте об’єкти" msgid "" "Match objects always have a boolean value of ``True``. Since :meth:`~Pattern." "match` and :meth:`~Pattern.search` return ``None`` when there is no match, " "you can test whether there was a match with a simple ``if`` statement::" msgstr "" +"Об’єкти відповідності завжди мають логічне значення ``True``. Оскільки :meth:" +"`~Pattern.match` і :meth:`~Pattern.search` повертають ``None`` за " +"відсутності збігу, ви можете перевірити, чи був збіг за допомогою простого " +"оператора ``if``: :" msgid "" "match = re.search(pattern, string)\n" "if match:\n" " process(match)" msgstr "" +"match = re.search(pattern, string)\n" +"if match:\n" +" process(match)" msgid "Match object returned by successful ``match``\\ es and ``search``\\ es." msgstr "" +"Объект соответствия, возвращаемый успешными запросами ``match``\\ и " +"``search``\\ es." msgid "" ":py:class:`re.Match` supports ``[]`` to indicate a Unicode (str) or bytes " "match. See :ref:`types-genericalias`." msgstr "" +":py:class:`re.Match` поддерживает ``[]`` для указания соответствия Юникода " +"(str) или байтов. См. :ref:`types-genericalias`." msgid "" "Return the string obtained by doing backslash substitution on the template " @@ -1517,6 +2199,13 @@ msgid "" "``\\g``) are replaced by the contents of the corresponding group. The " "backreference ``\\g<0>`` will be replaced by the entire match." msgstr "" +"Верните строку, полученную путем замены обратной косой черты в строке " +"шаблона *template*, как это делается с помощью метода :meth:`~Pattern.sub`. " +"Экранирующие символы, такие как ``\\n``, преобразуются в соответствующие " +"символы, а также числовые обратные ссылки (``\\1``, ``\\2``) и именованные " +"обратные ссылки (``\\g<1>``, `` \\g``) заменяются содержимым " +"соответствующей группы. Обратная ссылка ``\\g<0>`` будет заменена полным " +"совпадением." msgid "" "Returns one or more subgroups of the match. If there is a single argument, " @@ -1531,6 +2220,17 @@ msgid "" "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 "" +"Повертає одну або кілька підгруп збігу. Якщо є один аргумент, результатом " +"буде один рядок; якщо є кілька аргументів, результатом є кортеж з одним " +"елементом на аргумент. Без аргументів *group1* за замовчуванням дорівнює " +"нулю (повертається весь збіг). Якщо аргумент *groupN* дорівнює нулю, " +"відповідним значенням, що повертається, є весь відповідний рядок; якщо він " +"знаходиться у включному діапазоні [1..99], це рядок, що відповідає " +"відповідній групі в дужках. Якщо номер групи є від’ємним або перевищує " +"кількість груп, визначених у шаблоні, виникає виняток :exc:`IndexError`. " +"Якщо група міститься в частині шаблону, яка не відповідає, відповідним " +"результатом є ``None``. Якщо група міститься в частині шаблону, яка " +"збігалася кілька разів, повертається останній збіг. ::" msgid "" ">>> m = re.match(r\"(\\w+) (\\w+)\", \"Isaac Newton, physicist\")\n" @@ -1543,6 +2243,15 @@ msgid "" ">>> m.group(1, 2) # Multiple arguments give us a tuple.\n" "('Isaac', 'Newton')" msgstr "" +">>> m = re.match(r\"(\\w+) (\\w+)\", \"Isaac Newton, physicist\")\n" +">>> m.group(0) # The entire match\n" +"'Isaac Newton'\n" +">>> m.group(1) # The first parenthesized subgroup.\n" +"'Isaac'\n" +">>> m.group(2) # The second parenthesized subgroup.\n" +"'Newton'\n" +">>> m.group(1, 2) # Multiple arguments give us a tuple.\n" +"('Isaac', 'Newton')" msgid "" "If the regular expression uses the ``(?P...)`` syntax, the *groupN* " @@ -1550,9 +2259,13 @@ msgid "" "string argument is not used as a group name in the pattern, an :exc:" "`IndexError` exception is raised." msgstr "" +"Якщо регулярний вираз використовує синтаксис ``(?P ...)``, аргументи " +"*groupN* також можуть бути рядками, що ідентифікують групи за назвою групи. " +"Якщо рядковий аргумент не використовується як ім’я групи в шаблоні, виникає " +"виняток :exc:`IndexError`." msgid "A moderately complicated example::" -msgstr "" +msgstr "Помірно складний приклад:" msgid "" ">>> m = re.match(r\"(?P\\w+) (?P\\w+)\", \"Malcolm " @@ -1570,7 +2283,7 @@ msgstr "" "'Reynolds'" msgid "Named groups can also be referred to by their index::" -msgstr "" +msgstr "Іменовані групи також можна посилатися за їх індексом::" msgid "" ">>> m.group(1)\n" @@ -1585,17 +2298,23 @@ msgstr "" msgid "If a group matches multiple times, only the last match is accessible::" msgstr "" +"Якщо група збігається кілька разів, доступним буде лише останній збіг::" msgid "" ">>> m = re.match(r\"(..)+\", \"a1b2c3\") # Matches 3 times.\n" ">>> m.group(1) # Returns only the last match.\n" "'c3'" msgstr "" +">>> m = re.match(r\"(..)+\", \"a1b2c3\") # Matches 3 times.\n" +">>> m.group(1) # Returns only the last match.\n" +"'c3'" msgid "" "This is identical to ``m.group(g)``. This allows easier access to an " "individual group from a match::" msgstr "" +"Це ідентично ``m.group(g)``. Це дозволяє легше отримати доступ до окремої " +"групи з матчу::" msgid "" ">>> m = re.match(r\"(\\w+) (\\w+)\", \"Isaac Newton, physicist\")\n" @@ -1606,9 +2325,16 @@ msgid "" ">>> m[2] # The second parenthesized subgroup.\n" "'Newton'" msgstr "" +">>> m = re.match(r\"(\\w+) (\\w+)\", \"Isaac Newton, physicist\")\n" +">>> m[0] # The entire match\n" +"'Isaac Newton'\n" +">>> m[1] # The first parenthesized subgroup.\n" +"'Isaac'\n" +">>> m[2] # The second parenthesized subgroup.\n" +"'Newton'" msgid "Named groups are supported as well::" -msgstr "" +msgstr "Также поддерживаются именованные группы:" msgid "" ">>> m = re.match(r\"(?P\\w+) (?P\\w+)\", \"Isaac " @@ -1630,6 +2356,9 @@ msgid "" "however many groups are in the pattern. The *default* argument is used for " "groups that did not participate in the match; it defaults to ``None``." msgstr "" +"Повертає кортеж, що містить усі підгрупи відповідності, від 1 до будь-якої " +"кількості груп у шаблоні. Аргумент *default* використовується для груп, які " +"не брали участі в матчі; за замовчуванням ``None``." msgid "For example::" msgstr "Dla przykładu::" @@ -1648,6 +2377,9 @@ msgid "" "groups might participate in the match. These groups will default to " "``None`` unless the *default* argument is given::" msgstr "" +"Якщо ми зробимо знак після коми необов’язковим, не всі групи можуть брати " +"участь у матчі. Для цих груп за замовчуванням буде ``None``, якщо не вказано " +"аргумент *default*::" msgid "" ">>> m = re.match(r\"(\\d+)\\.?(\\d+)?\", \"24\")\n" @@ -1656,12 +2388,20 @@ msgid "" ">>> m.groups('0') # Now, the second group defaults to '0'.\n" "('24', '0')" msgstr "" +">>> m = re.match(r\"(\\d+)\\.?(\\d+)?\", \"24\")\n" +">>> m.groups() # Second group defaults to None.\n" +"('24', None)\n" +">>> m.groups('0') # Now, the second group defaults to '0'.\n" +"('24', '0')" msgid "" "Return a dictionary containing all the *named* subgroups of the match, keyed " "by the subgroup name. The *default* argument is used for groups that did " "not participate in the match; it defaults to ``None``. For example::" msgstr "" +"Повертає словник, що містить усі *іменовані* підгрупи збігу, ключ яких " +"містить назву підгрупи. Аргумент *default* використовується для груп, які не " +"брали участі в матчі; за замовчуванням ``None``. Наприклад::" msgid "" ">>> m = re.match(r\"(?P\\w+) (?P\\w+)\", \"Malcolm " @@ -1681,6 +2421,11 @@ msgid "" "object *m*, and a group *g* that did contribute to the match, the substring " "matched by group *g* (equivalent to ``m.group(g)``) is ::" msgstr "" +"Повертає індекси початку та кінця підрядка, які відповідають *групі*; " +"*group* за замовчуванням дорівнює нулю (це означає весь відповідний " +"підрядок). Повертає ``-1``, якщо *група* існує, але не брала участі в матчі. " +"Для об’єкта збігу *m* і групи *g*, яка внесла свій внесок у збіг, підрядок, " +"який відповідає групі *g* (еквівалент ``m.group(g)``) є ::" msgid "m.string[m.start(g):m.end(g)]" msgstr "m.string[m.start(g):m.end(g)]" @@ -1691,9 +2436,14 @@ msgid "" "start(0)`` is 1, ``m.end(0)`` is 2, ``m.start(1)`` and ``m.end(1)`` are both " "2, and ``m.start(2)`` raises an :exc:`IndexError` exception." msgstr "" +"Зауважте, що ``m.start(group)`` дорівнюватиме ``m.end(group)``, якщо *group* " +"відповідає нульовому рядку. Наприклад, після ``m = re.search('b(c?)', " +"'cba')``, ``m.start(0)`` дорівнює 1, ``m.end(0)`` дорівнює 2, ``m.start(1)`` " +"і ``m.end(1)`` мають значення 2, а ``m.start(2)`` викликає виняток :exc:" +"`IndexError`." msgid "An example that will remove *remove_this* from email addresses::" -msgstr "" +msgstr "Приклад видалення *remove_this* з електронних адрес::" msgid "" ">>> email = \"tony@tiremove_thisger.net\"\n" @@ -1701,24 +2451,37 @@ msgid "" ">>> email[:m.start()] + email[m.end():]\n" "'tony@tiger.net'" msgstr "" +">>> email = \"tony@tiremove_thisger.net\"\n" +">>> m = re.search(\"remove_this\", email)\n" +">>> email[:m.start()] + email[m.end():]\n" +"'tony@tiger.net'" msgid "" "For a match *m*, return the 2-tuple ``(m.start(group), m.end(group))``. Note " "that if *group* did not contribute to the match, this is ``(-1, -1)``. " "*group* defaults to zero, the entire match." msgstr "" +"Для збігу *m* поверніть 2-кортеж ``(m.start(group), m.end(group))``. " +"Зауважте, що якщо *група* не брала участі в матчі, це ``(-1, -1)``. *група* " +"за замовчуванням дорівнює нулю, весь збіг." msgid "" "The value of *pos* which was passed to the :meth:`~Pattern.search` or :meth:" "`~Pattern.match` method of a :ref:`regex object `. This is the " "index into the string at which the RE engine started looking for a match." msgstr "" +"Значення *pos*, яке було передано в метод :meth:`~Pattern.search` або :meth:" +"`~Pattern.match` об’єкта :ref:`regex `. Це індекс у рядку, за " +"яким механізм RE почав шукати збіг." msgid "" "The value of *endpos* which was passed to the :meth:`~Pattern.search` or :" "meth:`~Pattern.match` method of a :ref:`regex object `. This is " "the index into the string beyond which the RE engine will not go." msgstr "" +"Значення *endpos*, яке було передано в метод :meth:`~Pattern.search` або :" +"meth:`~Pattern.match` об’єкта :ref:`regex `. Це індекс у рядку, " +"за який механізм RE не виходить." msgid "" "The integer index of the last matched capturing group, or ``None`` if no " @@ -1727,35 +2490,49 @@ msgid "" "``'ab'``, while the expression ``(a)(b)`` will have ``lastindex == 2``, if " "applied to the same string." msgstr "" +"Цілочисельний індекс останньої відповідної групи захоплення або ``None``, " +"якщо жодна група не була знайдена взагалі. Наприклад, вирази ``(a)b``, ``((a)" +"(b))`` і ``((ab))`` матимуть ``lastindex == 1``, якщо застосувати до рядок " +"``'ab''``, тоді як вираз ``(a)(b)`` матиме ``lastindex == 2``, якщо " +"застосувати до того самого рядка." msgid "" "The name of the last matched capturing group, or ``None`` if the group " "didn't have a name, or if no group was matched at all." msgstr "" +"Ім’я останньої відповідної групи захоплення або ``None``, якщо група не мала " +"назви, або якщо жодна група не була знайдена взагалі." msgid "" "The :ref:`regular expression object ` whose :meth:`~Pattern." "match` or :meth:`~Pattern.search` method produced this match instance." msgstr "" +"Об’єкт :ref:`регулярного виразу `, чий метод :meth:`~Pattern." +"match` або :meth:`~Pattern.search` створив цей екземпляр відповідності." msgid "The string passed to :meth:`~Pattern.match` or :meth:`~Pattern.search`." msgstr "" +"Рядок передається до :meth:`~Pattern.match` або :meth:`~Pattern.search`." msgid "" "Added support of :func:`copy.copy` and :func:`copy.deepcopy`. Match objects " "are considered atomic." msgstr "" +"Додано підтримку :func:`copy.copy` і :func:`copy.deepcopy`. Об'єкти " +"відповідності вважаються атомарними." msgid "Regular Expression Examples" -msgstr "" +msgstr "Приклади регулярних виразів" msgid "Checking for a Pair" -msgstr "" +msgstr "Перевірка на пару" msgid "" "In this example, we'll use the following helper function to display match " "objects a little more gracefully::" msgstr "" +"У цьому прикладі ми використаємо наступну допоміжну функцію, щоб відобразити " +"об’єкти відповідності трохи витонченіше:" msgid "" "def displaymatch(match):\n" @@ -1763,6 +2540,10 @@ msgid "" " return None\n" " return '' % (match.group(), match.groups())" msgstr "" +"def displaymatch(match):\n" +" if match is None:\n" +" return None\n" +" return '' % (match.group(), match.groups())" msgid "" "Suppose you are writing a poker program where a player's hand is represented " @@ -1770,9 +2551,14 @@ msgid "" "ace, \"k\" for king, \"q\" for queen, \"j\" for jack, \"t\" for 10, and " "\"2\" through \"9\" representing the card with that value." msgstr "" +"Припустімо, що ви пишете покерну програму, де рука гравця представлена у " +"вигляді рядка з 5 символів, де кожен символ представляє карту, \"a\" — туз, " +"\"k\" — король, \"q\" — дама, \"j\" — валет, \"t\" означає 10 і \"2\" - " +"\"9\", що представляють картку з таким значенням." msgid "To see if a given string is a valid hand, one could do the following::" msgstr "" +"Щоб перевірити, чи даний рядок є правильною рукою, можна зробити наступне:" msgid "" ">>> valid = re.compile(r\"^[a2-9tjqk]{5}$\")\n" @@ -1783,12 +2569,22 @@ msgid "" ">>> displaymatch(valid.match(\"727ak\")) # Valid.\n" "\"\"" msgstr "" +">>> valid = re.compile(r\"^[a2-9tjqk]{5}$\")\n" +">>> displaymatch(valid.match(\"akt5q\")) # Valid.\n" +"\"\"\n" +">>> displaymatch(valid.match(\"akt5e\")) # Invalid.\n" +">>> displaymatch(valid.match(\"akt\")) # Invalid.\n" +">>> displaymatch(valid.match(\"727ak\")) # Valid.\n" +"\"\"" msgid "" "That last hand, ``\"727ak\"``, contained a pair, or two of the same valued " "cards. To match this with a regular expression, one could use backreferences " "as such::" msgstr "" +"Ця остання роздача, ``\"727ak\"``, містила пару або дві карти однакового " +"значення. Щоб зіставити це з регулярним виразом, можна використовувати " +"зворотні посилання як такі:" msgid "" ">>> pair = re.compile(r\".*(.).*\\1\")\n" @@ -1798,11 +2594,19 @@ msgid "" ">>> displaymatch(pair.match(\"354aa\")) # Pair of aces.\n" "\"\"" msgstr "" +">>> pair = re.compile(r\".*(.).*\\1\")\n" +">>> displaymatch(pair.match(\"717ak\")) # Pair of 7s.\n" +"\"\"\n" +">>> displaymatch(pair.match(\"718ak\")) # No pairs.\n" +">>> displaymatch(pair.match(\"354aa\")) # Pair of aces.\n" +"\"\"" msgid "" "To find out what card the pair consists of, one could use the :meth:`~Match." "group` method of the match object in the following manner::" msgstr "" +"Щоб дізнатися, з якої карти складається пара, можна використати метод :meth:" +"`~Match.group` об’єкта відповідності таким чином:" msgid "" ">>> pair = re.compile(r\".*(.).*\\1\")\n" @@ -1820,9 +2624,23 @@ msgid "" ">>> pair.match(\"354aa\").group(1)\n" "'a'" msgstr "" +">>> pair = re.compile(r\".*(.).*\\1\")\n" +">>> pair.match(\"717ak\").group(1)\n" +"'7'\n" +"\n" +"# Error because re.match() returns None, which doesn't have a group() " +"method:\n" +">>> pair.match(\"718ak\").group(1)\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +" re.match(r\".*(.).*\\1\", \"718ak\").group(1)\n" +"AttributeError: 'NoneType' object has no attribute 'group'\n" +"\n" +">>> pair.match(\"354aa\").group(1)\n" +"'a'" msgid "Simulating scanf()" -msgstr "" +msgstr "Імітація scanf()" msgid "" "Python does not currently have an equivalent to :c:func:`!scanf`. Regular " @@ -1831,12 +2649,17 @@ msgid "" "equivalent mappings between :c:func:`!scanf` format tokens and regular " "expressions." msgstr "" +"Python в настоящее время не имеет эквивалента :c:func:`!scanf`. Регулярные " +"выражения, как правило, более мощны, но и более многословны, чем строки " +"формата :c:func:`!scanf`. В таблице ниже представлены некоторые более или " +"менее эквивалентные сопоставления между токенами формата :c:func:`!scanf` и " +"регулярными выражениями." msgid ":c:func:`!scanf` Token" -msgstr "" +msgstr ":c:func:`!scanf` Token" msgid "Regular Expression" -msgstr "" +msgstr "Ekspresi Reguler" msgid "``%c``" msgstr "``%c``" @@ -1890,40 +2713,44 @@ msgid "``[-+]?(0[xX])?[\\dA-Fa-f]+``" msgstr "``[-+]?(0[xX])?[\\dA-Fa-f]+``" msgid "To extract the filename and numbers from a string like ::" -msgstr "" +msgstr "Щоб витягти назву файлу та номери з рядка на зразок ::" msgid "/usr/sbin/sendmail - 0 errors, 4 warnings" -msgstr "" +msgstr "/usr/sbin/sendmail - 0 errors, 4 warnings" msgid "you would use a :c:func:`!scanf` format like ::" -msgstr "" +msgstr "вы бы использовали формат :c:func:`!scanf`, например:::" msgid "%s - %d errors, %d warnings" -msgstr "" +msgstr "%s - %d errors, %d warnings" msgid "The equivalent regular expression would be ::" -msgstr "" +msgstr "Еквівалентним регулярним виразом буде::" msgid "(\\S+) - (\\d+) errors, (\\d+) warnings" -msgstr "" +msgstr "(\\S+) - (\\d+) ошибки, (\\d+) предупреждения" msgid "search() vs. match()" -msgstr "" +msgstr "search() проти match()" msgid "" "Python offers different primitive operations based on regular expressions:" msgstr "" +"Python предлагает различные примитивные операции, основанные на регулярных " +"выражениях:" msgid ":func:`re.match` checks for a match only at the beginning of the string" -msgstr "" +msgstr ":func:`re.match` проверяет совпадение только в начале строки" msgid "" ":func:`re.search` checks for a match anywhere in the string (this is what " "Perl does by default)" msgstr "" +":func:`re.search` проверяет совпадение в любом месте строки (это то, что " +"Perl делает по умолчанию)" msgid ":func:`re.fullmatch` checks for entire string to be a match" -msgstr "" +msgstr ":func:`re.fullmatch` проверяет совпадение всей строки" msgid "" ">>> re.match(\"c\", \"abcdef\") # No match\n" @@ -1933,11 +2760,19 @@ msgid "" "\n" ">>> re.fullmatch(\"r.*n\", \"python\") # No match" msgstr "" +">>> re.match(\"c\", \"abcdef\") # No match\n" +">>> re.search(\"c\", \"abcdef\") # Match\n" +"\n" +">>> re.fullmatch(\"p.*n\", \"python\") # Match\n" +"\n" +">>> re.fullmatch(\"r.*n\", \"python\") # No match" msgid "" "Regular expressions beginning with ``'^'`` can be used with :func:`search` " "to restrict the match at the beginning of the string::" msgstr "" +"Регулярні вирази, що починаються з ``'^'``, можна використовувати з :func:" +"`search`, щоб обмежити збіг на початку рядка::" msgid "" ">>> re.match(\"c\", \"abcdef\") # No match\n" @@ -1945,6 +2780,10 @@ msgid "" ">>> re.search(\"^a\", \"abcdef\") # Match\n" "" msgstr "" +">>> re.match(\"c\", \"abcdef\") # No match\n" +">>> re.search(\"^c\", \"abcdef\") # No match\n" +">>> re.search(\"^a\", \"abcdef\") # Match\n" +"" msgid "" "Note however that in :const:`MULTILINE` mode :func:`match` only matches at " @@ -1952,15 +2791,21 @@ msgid "" "expression beginning with ``'^'`` will match at the beginning of each " "line. ::" msgstr "" +"Однак зауважте, що в режимі :const:`MULTILINE` :func:`match` збігається лише " +"на початку рядка, тоді як використання :func:`search` із регулярним виразом, " +"що починається з ``'^'`` збігається на початок кожного рядка. ::" msgid "" ">>> re.match(\"X\", \"A\\nB\\nX\", re.MULTILINE) # No match\n" ">>> re.search(\"^X\", \"A\\nB\\nX\", re.MULTILINE) # Match\n" "" msgstr "" +">>> re.match(\"X\", \"A\\nB\\nX\", re.MULTILINE) # No match\n" +">>> re.search(\"^X\", \"A\\nB\\nX\", re.MULTILINE) # Match\n" +"" msgid "Making a Phonebook" -msgstr "" +msgstr "Створення телефонної книги" msgid "" ":func:`split` splits a string into a list delimited by the passed pattern. " @@ -1968,11 +2813,17 @@ msgid "" "that can be easily read and modified by Python as demonstrated in the " "following example that creates a phonebook." msgstr "" +":func:`split` розбиває рядок на список, розділений переданим шаблоном. Цей " +"метод є безцінним для перетворення текстових даних у структури даних, які " +"можна легко читати та змінювати Python, як показано в наступному прикладі " +"створення телефонної книги." msgid "" "First, here is the input. Normally it may come from a file, here we are " "using triple-quoted string syntax" msgstr "" +"По-перше, ось вхідні дані. Зазвичай він може надходити з файлу, тут ми " +"використовуємо синтаксис рядка в потрійних лапках" msgid "" ">>> text = \"\"\"Ross McFluff: 834.345.1254 155 Elm Street\n" @@ -1983,11 +2834,21 @@ msgid "" "...\n" "... Heather Albrecht: 548.326.4584 919 Park Place\"\"\"" msgstr "" +">>> text = \"\"\"Ross McFluff: 834.345.1254 155 Elm Street\n" +"...\n" +"... Ronald Heathmore: 892.345.3428 436 Finley Avenue\n" +"... Frank Burger: 925.541.7625 662 South Dogwood Way\n" +"...\n" +"...\n" +"... Heather Albrecht: 548.326.4584 919 Park Place\"\"\"" msgid "" "The entries are separated by one or more newlines. Now we convert the string " "into a list with each nonempty line having its own entry:" msgstr "" +"Записи розділені одним або кількома символами нового рядка. Тепер ми " +"перетворюємо рядок на список, у якому кожен непорожній рядок має окремий " +"запис:" msgid "" ">>> entries = re.split(\"\\n+\", text)\n" @@ -1997,12 +2858,21 @@ msgid "" "'Frank Burger: 925.541.7625 662 South Dogwood Way',\n" "'Heather Albrecht: 548.326.4584 919 Park Place']" msgstr "" +">>> entries = re.split(\"\\n+\", text)\n" +">>> entries\n" +"['Ross McFluff: 834.345.1254 155 Elm Street',\n" +"'Ronald Heathmore: 892.345.3428 436 Finley Avenue',\n" +"'Frank Burger: 925.541.7625 662 South Dogwood Way',\n" +"'Heather Albrecht: 548.326.4584 919 Park Place']" msgid "" "Finally, split each entry into a list with first name, last name, telephone " "number, and address. We use the ``maxsplit`` parameter of :func:`split` " "because the address has spaces, our splitting pattern, in it:" msgstr "" +"Нарешті, розділіть кожен запис на список із іменем, прізвищем, номером " +"телефону та адресою. Ми використовуємо параметр ``maxsplit`` :func:`split`, " +"тому що в адресі є пробіли, наш шаблон поділу:" msgid "" ">>> [re.split(\":? \", entry, maxsplit=3) for entry in entries]\n" @@ -2011,12 +2881,20 @@ msgid "" "['Frank', 'Burger', '925.541.7625', '662 South Dogwood Way'],\n" "['Heather', 'Albrecht', '548.326.4584', '919 Park Place']]" msgstr "" +">>> [re.split(\":? \", entry, maxsplit=3) for entry in entries]\n" +"[['Ross', 'McFluff', '834.345.1254', '155 Elm Street'],\n" +"['Ronald', 'Heathmore', '892.345.3428', '436 Finley Avenue'],\n" +"['Frank', 'Burger', '925.541.7625', '662 South Dogwood Way'],\n" +"['Heather', 'Albrecht', '548.326.4584', '919 Park Place']]" msgid "" "The ``:?`` pattern matches the colon after the last name, so that it does " "not occur in the result list. With a ``maxsplit`` of ``4``, we could " "separate the house number from the street name:" msgstr "" +"Шаблон ``:?`` відповідає двокрапці після прізвища, щоб він не зустрічався в " +"списку результатів. За допомогою ``maxsplit`` ``4`` ми можемо відокремити " +"номер будинку від назви вулиці:" msgid "" ">>> [re.split(\":? \", entry, maxsplit=4) for entry in entries]\n" @@ -2025,9 +2903,14 @@ msgid "" "['Frank', 'Burger', '925.541.7625', '662', 'South Dogwood Way'],\n" "['Heather', 'Albrecht', '548.326.4584', '919', 'Park Place']]" msgstr "" +">>> [re.split(\":? \", entry, maxsplit=4) for entry in entries]\n" +"[['Ross', 'McFluff', '834.345.1254', '155', 'Elm Street'],\n" +"['Ronald', 'Heathmore', '892.345.3428', '436', 'Finley Avenue'],\n" +"['Frank', 'Burger', '925.541.7625', '662', 'South Dogwood Way'],\n" +"['Heather', 'Albrecht', '548.326.4584', '919', 'Park Place']]" msgid "Text Munging" -msgstr "" +msgstr "Перебирання тексту" msgid "" ":func:`sub` replaces every occurrence of a pattern with a string or the " @@ -2035,6 +2918,10 @@ msgid "" "function to \"munge\" text, or randomize the order of all the characters in " "each word of a sentence except for the first and last characters::" msgstr "" +":func:`sub` замінює кожне входження шаблону рядком або результатом функції. " +"У цьому прикладі демонструється використання :func:`sub` із функцією для " +"\"переміщення\" тексту або випадкового порядку всіх символів у кожному слові " +"речення, за винятком першого та останнього символів::" msgid "" ">>> def repl(m):\n" @@ -2048,9 +2935,19 @@ msgid "" ">>> re.sub(r\"(\\w)(\\w+)(\\w)\", repl, text)\n" "'Pofsroser Aodlambelk, plasee reoprt yuor asnebces potlmrpy.'" msgstr "" +">>> def repl(m):\n" +"... inner_word = list(m.group(2))\n" +"... random.shuffle(inner_word)\n" +"... return m.group(1) + \"\".join(inner_word) + m.group(3)\n" +"...\n" +">>> text = \"Professor Abdolmalek, please report your absences promptly.\"\n" +">>> re.sub(r\"(\\w)(\\w+)(\\w)\", repl, text)\n" +"'Poefsrosr Aealmlobdk, pslaee reorpt your abnseces plmrptoy.'\n" +">>> re.sub(r\"(\\w)(\\w+)(\\w)\", repl, text)\n" +"'Pofsroser Aodlambelk, plasee reoprt yuor asnebces potlmrpy.'" msgid "Finding all Adverbs" -msgstr "" +msgstr "Знайти всі прислівники" msgid "" ":func:`findall` matches *all* occurrences of a pattern, not just the first " @@ -2058,15 +2955,21 @@ msgid "" "the adverbs in some text, they might use :func:`findall` in the following " "manner::" msgstr "" +":func:`findall` відповідає *всім* входженням шаблону, а не лише першому, як " +"це робить :func:`search`. Наприклад, якщо автор хоче знайти всі прислівники " +"в якомусь тексті, він може використати :func:`findall` у такий спосіб:" msgid "" ">>> text = \"He was carefully disguised but captured quickly by police.\"\n" ">>> re.findall(r\"\\w+ly\\b\", text)\n" "['carefully', 'quickly']" msgstr "" +">>> text = \"He was carefully disguised but captured quickly by police.\"\n" +">>> re.findall(r\"\\w+ly\\b\", text)\n" +"['carefully', 'quickly']" msgid "Finding all Adverbs and their Positions" -msgstr "" +msgstr "Знайти всі прислівники та їх позиції" msgid "" "If one wants more information about all matches of a pattern than the " @@ -2075,6 +2978,11 @@ msgid "" "writer wanted to find all of the adverbs *and their positions* in some text, " "they would use :func:`finditer` in the following manner::" msgstr "" +"Если вам нужна дополнительная информация обо всех совпадениях шаблона, а не " +"о совпавшем тексте, полезно использовать :func:`finditer`, поскольку он " +"предоставляет объекты :class:`~re.Match` вместо строк. Продолжая предыдущий " +"пример, если бы автор хотел найти все наречия *и их позиции* в каком-то " +"тексте, он бы использовал :func:`finditer` следующим образом:" msgid "" ">>> text = \"He was carefully disguised but captured quickly by police.\"\n" @@ -2083,9 +2991,14 @@ msgid "" "07-16: carefully\n" "40-47: quickly" msgstr "" +">>> text = \"He was carefully disguised but captured quickly by police.\"\n" +">>> for m in re.finditer(r\"\\w+ly\\b\", text):\n" +"... print('%02d-%02d: %s' % (m.start(), m.end(), m.group(0)))\n" +"07-16: carefully\n" +"40-47: quickly" msgid "Raw String Notation" -msgstr "" +msgstr "Необроблена рядкова нотація" msgid "" "Raw string notation (``r\"text\"``) keeps regular expressions sane. Without " @@ -2093,6 +3006,10 @@ msgid "" "prefixed with another one to escape it. For example, the two following " "lines of code are functionally identical::" msgstr "" +"Необроблена нотація рядка (``r\"текст\"``) зберігає регулярні вирази " +"нормальними. Без нього кожен зворотний слеш (``'\\'``) у регулярному виразі " +"повинен був би мати префікс іншим, щоб уникнути його. Наприклад, два " +"наступних рядки коду функціонально ідентичні:" msgid "" ">>> re.match(r\"\\W(.)\\1\\W\", \" ff \")\n" @@ -2100,6 +3017,10 @@ msgid "" ">>> re.match(\"\\\\W(.)\\\\1\\\\W\", \" ff \")\n" "" msgstr "" +">>> re.match(r\"\\W(.)\\1\\W\", \" ff \")\n" +"\n" +">>> re.match(\"\\\\W(.)\\\\1\\\\W\", \" ff \")\n" +"" msgid "" "When one wants to match a literal backslash, it must be escaped in the " @@ -2107,6 +3028,10 @@ msgid "" "Without raw string notation, one must use ``\"\\\\\\\\\"``, making the " "following lines of code functionally identical::" msgstr "" +"Якщо потрібно зіставити літеральний зворотний слеш, його потрібно екранувати " +"у регулярному виразі. У необробленому рядковому записі це означає ``r\"\\\\" +"\"``. Без нотації необробленого рядка потрібно використовувати ``\"\\\\\\\\" +"\"``, роблячи наступні рядки коду функціонально ідентичними::" msgid "" ">>> re.match(r\"\\\\\", r\"\\\\\")\n" @@ -2114,21 +3039,31 @@ msgid "" ">>> re.match(\"\\\\\\\\\", r\"\\\\\")\n" "" msgstr "" +">>> re.match(r\"\\\\\", r\"\\\\\")\n" +"\n" +">>> re.match(\"\\\\\\\\\", r\"\\\\\")\n" +"" msgid "Writing a Tokenizer" -msgstr "" +msgstr "Написання токенізера" msgid "" "A `tokenizer or scanner `_ " "analyzes a string to categorize groups of characters. This is a useful " "first step in writing a compiler or interpreter." msgstr "" +"`Токенизатор або сканер `_ " +"аналізує рядок, щоб класифікувати групи символів. Це корисний перший крок у " +"написанні компілятора чи інтерпретатора." msgid "" "The text categories are specified with regular expressions. The technique " "is to combine those into a single master regular expression and to loop over " "successive matches::" msgstr "" +"Текстові категорії вказуються регулярними виразами. Техніка полягає в тому, " +"щоб об’єднати їх у єдиний основний регулярний вираз і виконати цикл " +"послідовних збігів:" msgid "" "from typing import NamedTuple\n" @@ -2184,9 +3119,61 @@ msgid "" "for token in tokenize(statements):\n" " print(token)" msgstr "" +"from typing import NamedTuple\n" +"import re\n" +"\n" +"class Token(NamedTuple):\n" +" type: str\n" +" value: str\n" +" line: int\n" +" column: int\n" +"\n" +"def tokenize(code):\n" +" keywords = {'IF', 'THEN', 'ENDIF', 'FOR', 'NEXT', 'GOSUB', 'RETURN'}\n" +" token_specification = [\n" +" ('NUMBER', r'\\d+(\\.\\d*)?'), # Integer or decimal number\n" +" ('ASSIGN', r':='), # Assignment operator\n" +" ('END', r';'), # Statement terminator\n" +" ('ID', r'[A-Za-z]+'), # Identifiers\n" +" ('OP', r'[+\\-*/]'), # Arithmetic operators\n" +" ('NEWLINE', r'\\n'), # Line endings\n" +" ('SKIP', r'[ \\t]+'), # Skip over spaces and tabs\n" +" ('MISMATCH', r'.'), # Any other character\n" +" ]\n" +" tok_regex = '|'.join('(?P<%s>%s)' % pair for pair in " +"token_specification)\n" +" line_num = 1\n" +" line_start = 0\n" +" for mo in re.finditer(tok_regex, code):\n" +" kind = mo.lastgroup\n" +" value = mo.group()\n" +" column = mo.start() - line_start\n" +" if kind == 'NUMBER':\n" +" value = float(value) if '.' in value else int(value)\n" +" elif kind == 'ID' and value in keywords:\n" +" kind = value\n" +" elif kind == 'NEWLINE':\n" +" line_start = mo.end()\n" +" line_num += 1\n" +" continue\n" +" elif kind == 'SKIP':\n" +" continue\n" +" elif kind == 'MISMATCH':\n" +" raise RuntimeError(f'{value!r} unexpected on line {line_num}')\n" +" yield Token(kind, value, line_num, column)\n" +"\n" +"statements = '''\n" +" IF quantity THEN\n" +" total := total + price * quantity;\n" +" tax := price * 0.05;\n" +" ENDIF;\n" +"'''\n" +"\n" +"for token in tokenize(statements):\n" +" print(token)" msgid "The tokenizer produces the following output::" -msgstr "" +msgstr "Токенізатор видає такий вихід:" msgid "" "Token(type='IF', value='IF', line=2, column=4)\n" @@ -2209,6 +3196,25 @@ msgid "" "Token(type='ENDIF', value='ENDIF', line=5, column=4)\n" "Token(type='END', value=';', line=5, column=9)" msgstr "" +"Token(type='IF', value='IF', line=2, column=4)\n" +"Token(type='ID', value='quantity', line=2, column=7)\n" +"Token(type='THEN', value='THEN', line=2, column=16)\n" +"Token(type='ID', value='total', line=3, column=8)\n" +"Token(type='ASSIGN', value=':=', line=3, column=14)\n" +"Token(type='ID', value='total', line=3, column=17)\n" +"Token(type='OP', value='+', line=3, column=23)\n" +"Token(type='ID', value='price', line=3, column=25)\n" +"Token(type='OP', value='*', line=3, column=31)\n" +"Token(type='ID', value='quantity', line=3, column=33)\n" +"Token(type='END', value=';', line=3, column=41)\n" +"Token(type='ID', value='tax', line=4, column=8)\n" +"Token(type='ASSIGN', value=':=', line=4, column=12)\n" +"Token(type='ID', value='price', line=4, column=15)\n" +"Token(type='OP', value='*', line=4, column=21)\n" +"Token(type='NUMBER', value=0.05, line=4, column=23)\n" +"Token(type='END', value=';', line=4, column=27)\n" +"Token(type='ENDIF', value='ENDIF', line=5, column=4)\n" +"Token(type='END', value=';', line=5, column=9)" msgid "" "Friedl, Jeffrey. Mastering Regular Expressions. 3rd ed., O'Reilly Media, " @@ -2216,15 +3222,18 @@ msgid "" "first edition covered writing good regular expression patterns in great " "detail." msgstr "" +"Фрідл, Джеффрі. Освоєння регулярних виразів. 3rd ed., O'Reilly Media, 2009. " +"Третє видання книги більше не охоплює Python взагалі, але перше видання " +"охоплювало написання хороших шаблонів регулярних виразів дуже детально." msgid ". (dot)" -msgstr "" +msgstr ". (точка)" msgid "in regular expressions" -msgstr "" +msgstr "в регулярных выражениях" msgid "^ (caret)" -msgstr "" +msgstr "^ (caret)" msgid "$ (dollar)" msgstr "$ (dollar)" @@ -2233,142 +3242,142 @@ msgid "* (asterisk)" msgstr "* (asterysk)" msgid "+ (plus)" -msgstr "" +msgstr "+ (плюс)" msgid "? (question mark)" -msgstr "" +msgstr "? (знак питання)" msgid "*?" -msgstr "" +msgstr "*?" msgid "+?" -msgstr "" +msgstr "+?" msgid "??" -msgstr "" +msgstr "??" msgid "*+" -msgstr "" +msgstr "*+" msgid "++" -msgstr "" +msgstr "++" msgid "?+" -msgstr "" +msgstr "?+" msgid "{} (curly brackets)" -msgstr "" +msgstr "{} (фигурные скобки)" msgid "\\ (backslash)" -msgstr "" +msgstr "\\ (обратная косая черта)" msgid "[] (square brackets)" -msgstr "" +msgstr "[] (квадратні дужки)" msgid "- (minus)" -msgstr "" +msgstr "- (мінус)" msgid "| (vertical bar)" -msgstr "" +msgstr "| (вертикальная полоса)" msgid "() (parentheses)" -msgstr "" +msgstr "() (parentheses)" msgid "(?" -msgstr "" +msgstr "(?" msgid "(?:" msgstr "(?:" msgid "(?P<" -msgstr "" +msgstr "(?P<" msgid "(?P=" -msgstr "" +msgstr "(?P=" msgid "(?#" -msgstr "" +msgstr "(?#" msgid "(?=" -msgstr "" +msgstr "(?=" msgid "(?!" -msgstr "" +msgstr "(?!" msgid "(?<=" -msgstr "" +msgstr "(?<=" msgid "(?, YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-02-21 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -52,6 +52,8 @@ msgid "" "This module is not supported on :ref:`mobile platforms ` or :ref:`WebAssembly platforms `." msgstr "" +"Этот модуль не поддерживается на :ref:`мобильных платформах ` или :ref:`платформах WebAssembly `." msgid "" "The underlying Readline library API may be implemented by the ``editline`` " diff --git a/library/reprlib.po b/library/reprlib.po index ceca913b5b..cf0e629f53 100644 --- a/library/reprlib.po +++ b/library/reprlib.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Wiktor Matuszewski , 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Wiktor Matuszewski , 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -55,7 +55,7 @@ msgid "aRepr = reprlib.Repr(maxlevel=3)" msgstr "" msgid "Is equivalent to::" -msgstr "" +msgstr "Еквівалентно::" msgid "" "aRepr = reprlib.Repr()\n" @@ -264,4 +264,4 @@ msgid "..." msgstr "..." msgid "placeholder" -msgstr "" +msgstr "placeholder" diff --git a/library/resource.po b/library/resource.po index 836bdaf822..2760ae96f9 100644 --- a/library/resource.po +++ b/library/resource.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -25,12 +24,14 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!resource` --- Resource usage information" -msgstr "" +msgstr ":mod:`!resource` --- Информация об использовании ресурса" msgid "" "This module provides basic mechanisms for measuring and controlling system " "resources utilized by a program." msgstr "" +"Цей модуль надає базові механізми для вимірювання та контролю системних " +"ресурсів, що використовуються програмою." msgid "Availability" msgstr "Dostępność" @@ -39,18 +40,21 @@ msgid "" "Symbolic constants are used to specify particular system resources and to " "request usage information about either the current process or its children." msgstr "" +"Символьні константи використовуються для вказівки певних системних ресурсів " +"і запиту інформації про використання поточного процесу або його дочірніх " +"процесів." msgid "An :exc:`OSError` is raised on syscall failure." -msgstr "" +msgstr "У разі помилки системного виклику виникає :exc:`OSError`." msgid "A deprecated alias of :exc:`OSError`." -msgstr "" +msgstr "Застарілий псевдонім :exc:`OSError`." msgid "Following :pep:`3151`, this class was made an alias of :exc:`OSError`." -msgstr "" +msgstr "Після :pep:`3151` цей клас отримав псевдонім :exc:`OSError`." msgid "Resource Limits" -msgstr "" +msgstr "Обмеження ресурсів" msgid "" "Resources usage can be limited using the :func:`setrlimit` function " @@ -61,6 +65,13 @@ msgid "" "soft limit, but not raised. (Only processes with the effective UID of the " "super-user can raise a hard limit.)" msgstr "" +"Використання ресурсів можна обмежити за допомогою функції :func:`setrlimit`, " +"описаної нижче. Кожен ресурс контролюється парою обмежень: м’яким обмеженням " +"і жорстким обмеженням. М’яке обмеження – це поточне обмеження, яке з часом " +"може бути знижено або підвищено процесом. М’яке обмеження ніколи не може " +"перевищувати жорстке обмеження. Жорстке обмеження можна знизити до будь-" +"якого значення, що перевищує м’яке обмеження, але не підняти. (Тільки " +"процеси з ефективним UID суперкористувача можуть підняти жорстке обмеження.)" msgid "" "The specific resources that can be limited are system dependent. They are " @@ -69,15 +80,26 @@ msgid "" "resources which cannot be checked or controlled by the operating system are " "not defined in this module for those platforms." msgstr "" +"Конкретні ресурси, які можна обмежити, залежать від системи. Вони описані на " +"сторінці довідки :manpage:`getrlimit(2)`. Перелічені нижче ресурси " +"підтримуються, якщо їх підтримує базова операційна система; ресурси, які не " +"можуть бути перевірені або контрольовані операційною системою, не визначені " +"в цьому модулі для цих платформ." msgid "Constant used to represent the limit for an unlimited resource." msgstr "" +"Константа, яка використовується для позначення обмеження для необмеженого " +"ресурсу." msgid "" "Returns a tuple ``(soft, hard)`` with the current soft and hard limits of " "*resource*. Raises :exc:`ValueError` if an invalid resource is specified, " "or :exc:`error` if the underlying system call fails unexpectedly." msgstr "" +"Повертає кортеж ``(soft, hard)`` із поточними м’якими та жорсткими " +"обмеженнями *ресурсу*. Викликає :exc:`ValueError`, якщо вказано недійсний " +"ресурс, або :exc:`error`, якщо основний системний виклик несподівано " +"завершується помилкою." msgid "" "Sets new limits of consumption of *resource*. The *limits* argument must be " @@ -85,6 +107,10 @@ msgid "" "of :data:`~resource.RLIM_INFINITY` can be used to request a limit that is " "unlimited." msgstr "" +"Встановлює нові обмеження споживання *ресурсу*. Аргумент *limits* має бути " +"кортежем ``(soft, hard)`` із двох цілих чисел, що описують нові обмеження. " +"Значення :data:`~resource.RLIM_INFINITY` можна використовувати для запиту " +"необмеженого обмеження." msgid "" "Raises :exc:`ValueError` if an invalid resource is specified, if the new " @@ -95,19 +121,31 @@ msgid "" "any valid limit value, including unlimited, but :exc:`ValueError` will still " "be raised if the requested limit exceeds the system imposed limit." msgstr "" +"Викликає :exc:`ValueError`, якщо вказано недійсний ресурс, якщо нове м’яке " +"обмеження перевищує жорстке обмеження або якщо процес намагається підвищити " +"жорстке обмеження. Вказівка ліміту :data:`~resource.RLIM_INFINITY`, коли " +"жорсткий або системний ліміт для цього ресурсу не необмежений, призведе до :" +"exc:`ValueError`. Процес із ефективним UID суперкористувача може запитувати " +"будь-яке дійсне лімітне значення, включно з необмеженим, але :exc:" +"`ValueError` все одно буде викликано, якщо запитуваний ліміт перевищує " +"обмеження, встановлене системою." msgid "" "``setrlimit`` may also raise :exc:`error` if the underlying system call " "fails." msgstr "" +"``setrlimit`` також може викликати :exc:`error`, якщо основний системний " +"виклик не вдається." msgid "VxWorks only supports setting :data:`RLIMIT_NOFILE`." -msgstr "" +msgstr "VxWorks підтримує лише налаштування :data:`RLIMIT_NOFILE`." msgid "" "Raises an :ref:`auditing event ` ``resource.setrlimit`` with " "arguments ``resource``, ``limits``." msgstr "" +"Викликає :ref:`подію аудиту ` ``resource.setrlimit`` з аргументами " +"``resource``, ``limits``." msgid "" "Combines :func:`setrlimit` and :func:`getrlimit` in one function and " @@ -116,29 +154,45 @@ msgid "" "*limits* have the same meaning as in :func:`setrlimit`, except that *limits* " "is optional." msgstr "" +"Поєднує :func:`setrlimit` і :func:`getrlimit` в одній функції та підтримує " +"отримання та встановлення обмежень ресурсів довільного процесу. Якщо *pid* " +"дорівнює 0, тоді виклик застосовується до поточного процесу. *resource* і " +"*limits* мають те саме значення, що й у :func:`setrlimit`, за винятком того, " +"що *limits* є необов’язковим." msgid "" "When *limits* is not given the function returns the *resource* limit of the " "process *pid*. When *limits* is given the *resource* limit of the process is " "set and the former resource limit is returned." msgstr "" +"Якщо *limits* не задано, функція повертає обмеження *resource* процесу " +"*pid*. Коли задано *limits*, встановлюється обмеження *resource* для процесу " +"та повертається попередній ліміт ресурсів." msgid "" "Raises :exc:`ProcessLookupError` when *pid* can't be found and :exc:" "`PermissionError` when the user doesn't have ``CAP_SYS_RESOURCE`` for the " "process." msgstr "" +"Викликає :exc:`ProcessLookupError`, коли *pid* не може бути знайдено, і :exc:" +"`PermissionError`, коли користувач не має ``CAP_SYS_RESOURCE`` для процесу." msgid "" "Raises an :ref:`auditing event ` ``resource.prlimit`` with " "arguments ``pid``, ``resource``, ``limits``." msgstr "" +"Викликає :ref:`подію аудиту ` ``resource.prlimit`` з аргументами " +"``pid``, ``resource``, ``limits``." msgid "" "These symbols define resources whose consumption can be controlled using " "the :func:`setrlimit` and :func:`getrlimit` functions described below. The " "values of these symbols are exactly the constants used by C programs." msgstr "" +"Ці символи визначають ресурси, споживання яких можна контролювати за " +"допомогою функцій :func:`setrlimit` і :func:`getrlimit`, описаних нижче. " +"Значення цих символів точно є константами, які використовуються програмами " +"на Сі." msgid "" "The Unix man page for :manpage:`getrlimit(2)` lists the available resources. " @@ -147,12 +201,20 @@ msgid "" "--- symbols not defined for a platform will not be available from this " "module on that platform." msgstr "" +"Сторінка довідки Unix для :manpage:`getrlimit(2)` містить список доступних " +"ресурсів. Зауважте, що не всі системи використовують один і той самий символ " +"або те саме значення для позначення того самого ресурсу. Цей модуль не " +"намагається маскувати відмінності платформ --- символи, не визначені для " +"платформи, не будуть доступні з цього модуля на цій платформі." msgid "" "The maximum size (in bytes) of a core file that the current process can " "create. This may result in the creation of a partial core file if a larger " "core would be required to contain the entire process image." msgstr "" +"Максимальний розмір (у байтах) основного файлу, який може створити поточний " +"процес. Це може призвести до створення часткового файлу ядра, якщо для " +"вмісту всього образу процесу знадобиться ядро більшого розміру." msgid "" "The maximum amount of processor time (in seconds) that a process can use. If " @@ -160,64 +222,80 @@ msgid "" "(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 "" +"Максимальна кількість процесорного часу (у секундах), яку може " +"використовувати процес. Якщо цей ліміт перевищено, процесу надсилається " +"сигнал :const:`SIGXCPU`. (Див. документацію модуля :mod:`signal`, щоб " +"отримати інформацію про те, як зловити цей сигнал і зробити щось корисне, " +"наприклад, скинути відкриті файли на диск.)" msgid "The maximum size of a file which the process may create." -msgstr "" +msgstr "Максимальний розмір файлу, який може створити процес." msgid "The maximum size (in bytes) of the process's heap." -msgstr "" +msgstr "Максимальний розмір (у байтах) купи процесу." msgid "" "The maximum size (in bytes) of the call stack for the current process. This " "only affects the stack of the main thread in a multi-threaded process." msgstr "" +"Максимальний розмір (у байтах) стека викликів для поточного процесу. Це " +"впливає лише на стек основного потоку в багатопоточному процесі." msgid "" "The maximum resident set size that should be made available to the process." msgstr "" +"Максимальний розмір резидентного набору, який має бути доступним для процесу." msgid "The maximum number of processes the current process may create." -msgstr "" +msgstr "Максимальна кількість процесів, які може створити поточний процес." msgid "The maximum number of open file descriptors for the current process." msgstr "" +"Максимальна кількість відкритих файлових дескрипторів для поточного процесу." msgid "The BSD name for :const:`RLIMIT_NOFILE`." -msgstr "" +msgstr "Назва BSD для :const:`RLIMIT_NOFILE`." msgid "The maximum address space which may be locked in memory." -msgstr "" +msgstr "Максимальний адресний простір, який може бути заблокований у пам'яті." msgid "The largest area of mapped memory which the process may occupy." -msgstr "" +msgstr "Найбільша область відображеної пам'яті, яку може зайняти процес." msgid "" "The maximum area (in bytes) of address space which may be taken by the " "process." msgstr "" +"Максимальна площа (у байтах) адресного простору, яку може зайняти процес." msgid "The number of bytes that can be allocated for POSIX message queues." -msgstr "" +msgstr "Кількість байтів, які можна виділити для черг повідомлень POSIX." msgid "The ceiling for the process's nice level (calculated as 20 - rlim_cur)." -msgstr "" +msgstr "Стеля для хорошого рівня процесу (розраховується як 20 - rlim_cur)." msgid "The ceiling of the real-time priority." -msgstr "" +msgstr "Стеля пріоритету в реальному часі." msgid "" "The time limit (in microseconds) on CPU time that a process can spend under " "real-time scheduling without making a blocking syscall." msgstr "" +"Обмеження часу (у мікросекундах) процесорного часу, який процес може " +"витрачати в режимі планування в реальному часі без виконання блокуючого " +"системного виклику." msgid "The number of signals which the process may queue." -msgstr "" +msgstr "Кількість сигналів, які процес може поставити в чергу." msgid "" "The maximum size (in bytes) of socket buffer usage for this user. This " "limits the amount of network memory, and hence the amount of mbufs, that " "this user may hold at any time." msgstr "" +"Максимальний розмір (у байтах) використання буфера сокета для цього " +"користувача. Це обмежує обсяг мережевої пам’яті, а отже, і кількість mbuf, " +"які цей користувач може зберігати в будь-який час." msgid "" "The maximum size (in bytes) of the swap space that may be reserved or used " @@ -226,18 +304,30 @@ msgid "" "org/cgi/man.cgi?query=tuning&sektion=7>`__ for a complete description of " "this sysctl." msgstr "" +"Максимальный размер (в байтах) пространства подкачки, которое может быть " +"зарезервировано или использовано всеми процессами с этим идентификатором " +"пользователя. Это ограничение применяется только в том случае, если " +"установлен бит 1 sysctl vm.overcommit. Пожалуйста, смотрите `tuning(7) " +"`__ для полного " +"описания этого sysctl." msgid "The maximum number of pseudo-terminals created by this user id." msgstr "" +"Максимальна кількість псевдотерміналів, створених цим ідентифікатором " +"користувача." msgid "The maximum number of kqueues this user id is allowed to create." msgstr "" +"Максимальна кількість kqueue, яку дозволено створити цьому ідентифікатору " +"користувача." msgid "Resource Usage" -msgstr "" +msgstr "Використання ресурсів" msgid "These functions are used to retrieve resource usage information:" msgstr "" +"Ці функції використовуються для отримання інформації про використання " +"ресурсів:" msgid "" "This function returns an object that describes the resources consumed by " @@ -245,9 +335,13 @@ msgid "" "parameter. The *who* parameter should be specified using one of the :const:" "`!RUSAGE_\\*` constants described below." msgstr "" +"Эта функция возвращает объект, описывающий ресурсы, потребляемые текущим " +"процессом или его дочерними процессами, как указано параметром *who*. " +"Параметр *who* должен быть указан с использованием одной из констант :const:" +"`!RUSAGE_\\*`, описанных ниже." msgid "A simple example::" -msgstr "" +msgstr "Простий приклад::" msgid "" "from resource import *\n" @@ -262,6 +356,17 @@ msgid "" " _ = 1 + 1\n" "print(getrusage(RUSAGE_SELF))" msgstr "" +"from resource import *\n" +"import time\n" +"\n" +"# a non CPU-bound task\n" +"time.sleep(3)\n" +"print(getrusage(RUSAGE_SELF))\n" +"\n" +"# a CPU-bound task\n" +"for i in range(10 ** 8):\n" +" _ = 1 + 1\n" +"print(getrusage(RUSAGE_SELF))" msgid "" "The fields of the return value each describe how a particular system " @@ -270,11 +375,18 @@ msgid "" "dependent on the clock tick internal, e.g. the amount of memory the process " "is using." msgstr "" +"Кожне з полів поверненого значення описує, як використовувався певний " +"системний ресурс, напр. кількість часу, витраченого на роботу, є режимом " +"користувача або кількістю разів, коли процес вивантажувався з основної " +"пам’яті. Деякі значення залежать від внутрішнього такту годинника, напр. " +"обсяг пам'яті, який використовує процес." msgid "" "For backward compatibility, the return value is also accessible as a tuple " "of 16 elements." msgstr "" +"Для зворотної сумісності повернуте значення також доступне як кортеж із 16 " +"елементів." msgid "" "The fields :attr:`ru_utime` and :attr:`ru_stime` of the return value are " @@ -284,15 +396,22 @@ msgid "" "`getrusage(2)` man page for detailed information about these values. A brief " "summary is presented here:" msgstr "" +"Поля :attr:`ru_utime` и :attr:`ru_stime` возвращаемого значения представляют " +"собой значения с плавающей запятой, представляющие количество времени, " +"затраченное на выполнение в пользовательском режиме, и количество времени, " +"затраченное на выполнение в системном режиме, соответственно. Остальные " +"значения являются целыми числами. Обратитесь к странице руководства :manpage:" +"`getrusage(2)` для получения подробной информации об этих значениях. Краткое " +"содержание представлено здесь:" msgid "Index" -msgstr "" +msgstr "Indeks" msgid "Field" msgstr "Pole" msgid "Resource" -msgstr "" +msgstr "Sumber Daya, *Resource*" msgid "``0``" msgstr "``0``" @@ -301,7 +420,7 @@ msgid ":attr:`ru_utime`" msgstr ":attr:`ru_utime`" msgid "time in user mode (float seconds)" -msgstr "" +msgstr "час у режимі користувача (секунд з плаваючою точкою)" msgid "``1``" msgstr "``1``" @@ -310,7 +429,7 @@ msgid ":attr:`ru_stime`" msgstr ":attr:`ru_stime`" msgid "time in system mode (float seconds)" -msgstr "" +msgstr "час у системному режимі (секунд з плаваючою точкою)" msgid "``2``" msgstr "``2``" @@ -319,7 +438,7 @@ msgid ":attr:`ru_maxrss`" msgstr ":attr:`ru_maxrss`" msgid "maximum resident set size" -msgstr "" +msgstr "максимальний розмір резидентного набору" msgid "``3``" msgstr "``3``" @@ -328,7 +447,7 @@ msgid ":attr:`ru_ixrss`" msgstr ":attr:`ru_ixrss`" msgid "shared memory size" -msgstr "" +msgstr "розмір спільної пам'яті" msgid "``4``" msgstr "``4``" @@ -337,7 +456,7 @@ msgid ":attr:`ru_idrss`" msgstr ":attr:`ru_idrss`" msgid "unshared memory size" -msgstr "" +msgstr "нерозділений розмір пам'яті" msgid "``5``" msgstr "``5``" @@ -346,7 +465,7 @@ msgid ":attr:`ru_isrss`" msgstr ":attr:`ru_isrss`" msgid "unshared stack size" -msgstr "" +msgstr "розмір стеку без спільного доступу" msgid "``6``" msgstr "``6``" @@ -355,7 +474,7 @@ msgid ":attr:`ru_minflt`" msgstr ":attr:`ru_minflt`" msgid "page faults not requiring I/O" -msgstr "" +msgstr "помилки сторінки, які не вимагають введення-виведення" msgid "``7``" msgstr "``7``" @@ -364,7 +483,7 @@ msgid ":attr:`ru_majflt`" msgstr ":attr:`ru_majflt`" msgid "page faults requiring I/O" -msgstr "" +msgstr "помилки сторінки, які вимагають введення-виведення" msgid "``8``" msgstr "``8``" @@ -373,7 +492,7 @@ msgid ":attr:`ru_nswap`" msgstr ":attr:`ru_nswap`" msgid "number of swap outs" -msgstr "" +msgstr "кількість обмінів" msgid "``9``" msgstr "``9``" @@ -382,7 +501,7 @@ msgid ":attr:`ru_inblock`" msgstr ":attr:`ru_inblock`" msgid "block input operations" -msgstr "" +msgstr "операції введення блоку" msgid "``10``" msgstr "``10``" @@ -391,7 +510,7 @@ msgid ":attr:`ru_oublock`" msgstr ":attr:`ru_oublock`" msgid "block output operations" -msgstr "" +msgstr "операції виведення блоків" msgid "``11``" msgstr "``11``" @@ -400,7 +519,7 @@ msgid ":attr:`ru_msgsnd`" msgstr ":attr:`ru_msgsnd`" msgid "messages sent" -msgstr "" +msgstr "надісланих повідомлень" msgid "``12``" msgstr "``12``" @@ -409,7 +528,7 @@ msgid ":attr:`ru_msgrcv`" msgstr ":attr:`ru_msgrcv`" msgid "messages received" -msgstr "" +msgstr "отриманих повідомлень" msgid "``13``" msgstr "``13``" @@ -418,7 +537,7 @@ msgid ":attr:`ru_nsignals`" msgstr ":attr:`ru_nsignals`" msgid "signals received" -msgstr "" +msgstr "отримані сигнали" msgid "``14``" msgstr "``14``" @@ -427,7 +546,7 @@ msgid ":attr:`ru_nvcsw`" msgstr ":attr:`ru_nvcsw`" msgid "voluntary context switches" -msgstr "" +msgstr "добровільні перемикання контексту" msgid "``15``" msgstr "``15``" @@ -436,41 +555,56 @@ msgid ":attr:`ru_nivcsw`" msgstr ":attr:`ru_nivcsw`" msgid "involuntary context switches" -msgstr "" +msgstr "мимовільні перемикання контексту" msgid "" "This function will raise a :exc:`ValueError` if an invalid *who* parameter " "is specified. It may also raise :exc:`error` exception in unusual " "circumstances." msgstr "" +"Ця функція викличе :exc:`ValueError`, якщо вказано недійсний параметр *who*. " +"Він також може викликати виняток :exc:`error` за незвичайних обставин." msgid "" "Returns the number of bytes in a system page. (This need not be the same as " "the hardware page size.)" msgstr "" +"Повертає кількість байтів на системній сторінці. (Це необов’язково " +"збігається з апаратним розміром сторінки.)" msgid "" "The following :const:`!RUSAGE_\\*` symbols are passed to the :func:" "`getrusage` function to specify which processes information should be " "provided for." msgstr "" +"Следующие символы :const:`!RUSAGE_\\*` передаются в функцию :func:" +"`getrusage`, чтобы указать, для каких процессов должна быть предоставлена ​​" +"информация." msgid "" "Pass to :func:`getrusage` to request resources consumed by the calling " "process, which is the sum of resources used by all threads in the process." msgstr "" +"Передайте :func:`getrusage`, щоб запитати ресурси, спожиті процесом виклику, " +"який є сумою ресурсів, використаних усіма потоками в процесі." msgid "" "Pass to :func:`getrusage` to request resources consumed by child processes " "of the calling process which have been terminated and waited for." msgstr "" +"Перейдіть до :func:`getrusage`, щоб запитати ресурси, споживані дочірніми " +"процесами викликаючого процесу, які були завершені та очікували." msgid "" "Pass to :func:`getrusage` to request resources consumed by both the current " "process and child processes. May not be available on all systems." msgstr "" +"Перейдіть до :func:`getrusage`, щоб запитати ресурси, споживані як поточним " +"процесом, так і дочірніми процесами. Може бути недоступний у всіх системах." msgid "" "Pass to :func:`getrusage` to request resources consumed by the current " "thread. May not be available on all systems." msgstr "" +"Перейдіть до :func:`getrusage`, щоб запитати ресурси, спожиті поточним " +"потоком. Може бути недоступний у всіх системах." diff --git a/library/rlcompleter.po b/library/rlcompleter.po index bfe14b54f5..a41ebbf071 100644 --- a/library/rlcompleter.po +++ b/library/rlcompleter.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/library/runpy.po b/library/runpy.po index e23cd750ab..2e18d9ddd1 100644 --- a/library/runpy.po +++ b/library/runpy.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -25,10 +24,10 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!runpy` --- Locating and executing Python modules" -msgstr "" +msgstr ":mod:`!runpy` --- Поиск и выполнение модулей Python" 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 " @@ -36,12 +35,19 @@ msgid "" "line switch that allows scripts to be located using the Python module " "namespace rather than the filesystem." msgstr "" +"Модуль :mod:`runpy` використовується для пошуку та запуску модулів Python " +"без їх попереднього імпорту. Його головне використання полягає в реалізації " +"перемикача командного рядка :option:`-m`, який дозволяє розташовувати " +"сценарії за допомогою простору імен модуля Python, а не файлової системи." msgid "" "Note that this is *not* a sandbox module - all code is executed in the " "current process, and any side effects (such as cached imports of other " "modules) will remain in place after the functions have returned." msgstr "" +"Зауважте, що це *не* модуль пісочниці – весь код виконується в поточному " +"процесі, і будь-які побічні ефекти (такі як кешований імпорт інших модулів) " +"залишаться на місці після повернення функцій." msgid "" "Furthermore, any functions and classes defined by the executed code are not " @@ -49,9 +55,13 @@ msgid "" "that limitation is not acceptable for a given use case, :mod:`importlib` is " "likely to be a more suitable choice than this module." msgstr "" +"Крім того, не гарантується коректна робота будь-яких функцій і класів, " +"визначених виконуваним кодом після повернення функції :mod:`runpy`. Якщо це " +"обмеження неприйнятне для певного випадку використання, :mod:`importlib`, " +"швидше за все, буде більш прийнятним вибором, ніж цей модуль." msgid "The :mod:`runpy` module provides two functions:" -msgstr "" +msgstr "Модуль :mod:`runpy` забезпечує дві функції:" msgid "" "Execute the code of the specified module and return the resulting module's " @@ -59,6 +69,10 @@ msgid "" "import mechanism (refer to :pep:`302` for details) and then executed in a " "fresh module namespace." msgstr "" +"Выполните код указанного модуля и верните словарь глобальных переменных " +"результирующего модуля. Код модуля сначала находится с использованием " +"стандартного механизма импорта (подробности см. в :pep:`302`), а затем " +"выполняется в новом пространстве имен модуля." msgid "" "The *mod_name* argument should be an absolute module name. If the module " @@ -66,6 +80,10 @@ msgid "" "imported and the :mod:`__main__` submodule within that package is then " "executed and the resulting module globals dictionary returned." msgstr "" +"Аргумент *mod_name* должен быть абсолютным именем модуля. Если имя модуля " +"относится к пакету, а не к обычному модулю, то этот пакет импортируется, а " +"затем выполняется подмодуль :mod:`__main__` внутри этого пакета и " +"возвращается результирующий словарь глобальных переменных модуля." msgid "" "The optional dictionary argument *init_globals* may be used to pre-populate " @@ -74,6 +92,11 @@ msgid "" "defined in *init_globals*, those definitions are overridden by :func:" "`run_module`." msgstr "" +"Необязательный аргумент словаря *init_globals* может использоваться для " +"предварительного заполнения словаря глобальных переменных модуля перед " +"выполнением кода. *init_globals* не будет изменен. Если какие-либо из " +"приведенных ниже специальных глобальных переменных определены в " +"*init_globals*, эти определения переопределяются :func:`run_module`." msgid "" "The special global variables ``__name__``, ``__spec__``, ``__file__``, " @@ -82,23 +105,36 @@ msgid "" "set of variables - other variables may be set implicitly as an interpreter " "implementation detail.)" msgstr "" +"Специальные глобальные переменные ``__name__``, ``__spec__``, ``__file__``, " +"``__cached__``, ``__loader__`` и ``__package__`` устанавливаются в словаре " +"глобальных переменных перед кодом модуля. казнен. (Обратите внимание, что " +"это минимальный набор переменных — другие переменные могут быть установлены " +"неявно в качестве детали реализации интерпретатора.)" msgid "" "``__name__`` is set to *run_name* if this optional argument is not :const:" "`None`, to ``mod_name + '.__main__'`` if the named module is a package and " "to the *mod_name* argument otherwise." msgstr "" +"``__name__`` встановлено на *run_name*, якщо цей необов’язковий аргумент не " +"є :const:`None`, на ``mod_name + '.__main__``, якщо названий модуль є " +"пакетом, і на аргумент *mod_name* в іншому випадку ." msgid "" "``__spec__`` will be set appropriately for the *actually* imported module " "(that is, ``__spec__.name`` will always be *mod_name* or ``mod_name + '." "__main__'``, never *run_name*)." msgstr "" +"``__spec__`` будет установлен соответствующим образом для *фактически* " +"импортированного модуля (т.е. ``__spec__.name`` всегда будет *mod_name* или " +"``mod_name + '.__main__'``, никогда *run_name*) ." msgid "" "``__file__``, ``__cached__``, ``__loader__`` and ``__package__`` are :ref:" "`set as normal ` based on the module spec." msgstr "" +"``__file__``, ``__cached__``, ``__loader__`` і ``__package__`` :ref:" +"`встановлені як звичайні ` на основі специфікації модуля." msgid "" "If the argument *alter_sys* is supplied and evaluates to :const:`True`, then " @@ -107,6 +143,11 @@ msgid "" "being executed. Both ``sys.argv[0]`` and ``sys.modules[__name__]`` are " "restored to their original values before the function returns." msgstr "" +"Якщо вказано аргумент *alter_sys* і він має значення :const:`True`, тоді " +"``sys.argv[0]`` оновлюється значенням ``__file__`` і ``sys." +"modules[__name__]`` оновлюється тимчасовим об’єктом модуля для модуля, що " +"виконується. І ``sys.argv[0]``, і ``sys.modules[__name__]`` відновлюються до " +"своїх початкових значень перед поверненням функції." msgid "" "Note that this manipulation of :mod:`sys` is not thread-safe. Other threads " @@ -114,18 +155,24 @@ msgid "" "arguments. It is recommended that the ``sys`` module be left alone when " "invoking this function from threaded code." msgstr "" +"Обратите внимание, что эта манипуляция с :mod:`sys` не является " +"потокобезопасной. Другие потоки могут видеть частично инициализированный " +"модуль, а также измененный список аргументов. Рекомендуется оставлять модуль " +"``sys`` в покое при вызове этой функции из многопоточного кода." msgid "" "The :option:`-m` option offering equivalent functionality from the command " "line." -msgstr "" +msgstr "Опція :option:`-m` пропонує еквівалентні функції з командного рядка." msgid "" "Added ability to execute packages by looking for a :mod:`__main__` submodule." msgstr "" +"Добавлена ​​возможность запускать пакеты путем поиска подмодуля :mod:" +"`__main__`." msgid "Added ``__cached__`` global variable (see :pep:`3147`)." -msgstr "" +msgstr "Додано глобальну змінну ``__cached__`` (див. :pep:`3147`)." msgid "" "Updated to take advantage of the module spec feature added by :pep:`451`. " @@ -133,11 +180,17 @@ msgid "" "well as ensuring the real module name is always accessible as ``__spec__." "name``." msgstr "" +"Оновлено, щоб скористатися перевагами функції специфікації модуля, доданої :" +"pep:`451`. Це дозволяє правильно встановити ``__cached__`` для модулів, що " +"запускаються таким чином, а також гарантує, що справжня назва модуля завжди " +"доступна як ``__spec__.name``." msgid "" "The setting of ``__cached__``, ``__loader__``, and ``__package__`` are " "deprecated. See :class:`~importlib.machinery.ModuleSpec` for alternatives." msgstr "" +"Настройки ``__cached__``, ``__loader__`` и ``__package__`` устарели. См. " +"альтернативы в :class:`~importlib.machinery.ModuleSpec`." msgid "" "Execute the code at the named filesystem location and return the resulting " @@ -146,6 +199,12 @@ msgid "" "bytecode file or a valid :data:`sys.path` entry containing a :mod:`__main__` " "module (e.g. a zipfile containing a top-level :file:`__main__.py` file)." msgstr "" +"Выполните код в указанном месте файловой системы и верните словарь " +"глобальных переменных полученного модуля. Как и в случае с именем сценария, " +"передаваемым в командную строку CPython, *file_path* может относиться к " +"исходному файлу Python, скомпилированному файлу байт-кода или допустимой " +"записи :data:`sys.path`, содержащей модуль :mod:`__main__` (например, zip-" +"файл, содержащий файл :file:`__main__.py` верхнего уровня)." msgid "" "For a simple script, the specified code is simply executed in a fresh module " @@ -156,6 +215,13 @@ msgid "" "existing ``__main__`` entry located elsewhere on ``sys.path`` if there is no " "such module at the specified location." msgstr "" +"Для простого сценария указанный код просто выполняется в новом пространстве " +"имен модуля. Для допустимой записи :data:`sys.path` (обычно это zip-файл или " +"каталог) запись сначала добавляется в начало ``sys.path``. Затем функция " +"ищет и выполняет модуль :mod:`__main__`, используя обновленный путь. " +"Обратите внимание, что не существует специальной защиты от вызова " +"существующей записи ``__main__``, расположенной в другом месте в ``sys." +"path``, если в указанном месте нет такого модуля." msgid "" "The optional dictionary argument *init_globals* may be used to pre-populate " @@ -164,11 +230,18 @@ msgid "" "defined in *init_globals*, those definitions are overridden by :func:" "`run_path`." msgstr "" +"Необязательный аргумент словаря *init_globals* может использоваться для " +"предварительного заполнения словаря глобальных переменных модуля перед " +"выполнением кода. *init_globals* не будет изменен. Если какие-либо из " +"приведенных ниже специальных глобальных переменных определены в " +"*init_globals*, эти определения переопределяются с помощью :func:`run_path`." msgid "" "``__name__`` is set to *run_name* if this optional argument is not :const:" "`None` and to ``''`` otherwise." msgstr "" +"``__name__`` встановлено на *run_name*, якщо цей необов’язковий аргумент не " +"є :const:`None`, і на ``' ''`` в іншому випадку." msgid "" "If *file_path* directly references a script file (whether as source or as " @@ -176,6 +249,10 @@ msgid "" "``__spec__``, ``__cached__``, ``__loader__`` and ``__package__`` will all be " "set to :const:`None`." msgstr "" +"Если *file_path* напрямую ссылается на файл сценария (как исходный код, так " +"и предварительно скомпилированный байт-код), то для ``__file__`` будет " +"установлено значение *file_path*, а для ``__spec__``, ``__cached__``, " +"``__loader__ `` и ``__package__`` будут установлены на :const:`None`." msgid "" "If *file_path* is a reference to a valid :data:`sys.path` entry, then " @@ -184,6 +261,12 @@ msgid "" "``__file__``, ``__cached__``, ``__loader__`` and ``__package__`` will be :" "ref:`set as normal ` based on the module spec." msgstr "" +"Если *file_path* является ссылкой на действительную запись :data:`sys.path`, " +"то ``__spec__`` будет установлен соответствующим образом для " +"импортированного модуля :mod:`__main__` (то есть ``__spec__.name` ` всегда " +"будет ``__main__``). ``__file__``, ``__cached__``, ``__loader__`` и " +"``__package__`` будут :ref:`установлены как обычные ` на " +"основе спецификации модуля." msgid "" "A number of alterations are also made to the :mod:`sys` module. Firstly, :" @@ -193,6 +276,11 @@ msgid "" "modifications to items in :mod:`sys` are reverted before the function " "returns." msgstr "" +"Ряд изменений также внесен в модуль :mod:`sys`. Во-первых, :data:`sys.path` " +"можно изменить, как описано выше. ``sys.argv[0]`` обновляется значением " +"*file_path*, а ``sys.modules[__name__]`` обновляется временным объектом " +"модуля для исполняемого модуля. Все изменения элементов в :mod:`sys` " +"отменяются до возврата функции." msgid "" "Note that, unlike :func:`run_module`, the alterations made to :mod:`sys` are " @@ -201,11 +289,19 @@ msgid "" "still apply, use of this function in threaded code should be either " "serialised with the import lock or delegated to a separate process." msgstr "" +"Обратите внимание, что, в отличие от :func:`run_module`, изменения, " +"внесенные в :mod:`sys`, не являются обязательными в этой функции, поскольку " +"эти настройки необходимы для разрешения выполнения записей :data:`sys.path`. " +"Поскольку ограничения потокобезопасности по-прежнему применяются, " +"использование этой функции в многопоточном коде должно быть либо " +"сериализовано с блокировкой импорта, либо делегировано отдельному процессу." msgid "" ":ref:`using-on-interface-options` for equivalent functionality on the " "command line (``python path/to/script``)." msgstr "" +":ref:`using-on-interface-options` для еквівалентної функції в командному " +"рядку (``python path/to/script``)." msgid "" "Updated to take advantage of the module spec feature added by :pep:`451`. " @@ -213,32 +309,36 @@ msgid "" "``__main__`` is imported from a valid :data:`sys.path` entry rather than " "being executed directly." msgstr "" +"Обновлено, чтобы использовать преимущества функции спецификации модуля, " +"добавленной :pep:`451`. Это позволяет правильно установить ``__cached__`` в " +"случае, когда ``__main__`` импортируется из допустимой записи :data:`sys." +"path`, а не выполняется напрямую." msgid "" "The setting of ``__cached__``, ``__loader__``, and ``__package__`` are " "deprecated." -msgstr "" +msgstr "Настройки ``__cached__``, ``__loader__`` и ``__package__`` устарели." msgid ":pep:`338` -- Executing modules as scripts" -msgstr "" +msgstr ":pep:`338` -- Виконання модулів як скриптів" msgid "PEP written and implemented by Nick Coghlan." -msgstr "" +msgstr "PEP ditulis dan diimplementasi oleh Nick Coghlan." msgid ":pep:`366` -- Main module explicit relative imports" -msgstr "" +msgstr ":pep:`366` -- Явний відносний імпорт основного модуля" msgid ":pep:`451` -- A ModuleSpec Type for the Import System" -msgstr "" +msgstr ":pep:`451` -- Тип ModuleSpec для системи імпорту" msgid "PEP written and implemented by Eric Snow" -msgstr "" +msgstr "PEP написав і реалізував Ерік Сноу" msgid ":ref:`using-on-general` - CPython command line details" -msgstr "" +msgstr ":ref:`using-on-general` - деталі командного рядка CPython" msgid "The :func:`importlib.import_module` function" -msgstr "" +msgstr "Функція :func:`importlib.import_module`" msgid "module" msgstr "moduł" diff --git a/library/sched.po b/library/sched.po index 0b5034a8a4..5d0b8be3d2 100644 --- a/library/sched.po +++ b/library/sched.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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,15 +24,17 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!sched` --- Event scheduler" -msgstr "" +msgstr ":mod:`!sched` --- Планировщик событий" 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 " "event scheduler:" msgstr "" +"Модуль :mod:`sched` визначає клас, який реалізує планувальник подій " +"загального призначення:" msgid "" "The :class:`scheduler` class defines a generic interface to scheduling " @@ -44,13 +46,23 @@ msgid "" "argument ``0`` after each event is run to allow other threads an opportunity " "to run in multi-threaded applications." msgstr "" +"Клас :class:`scheduler` визначає загальний інтерфейс для планування подій. " +"Йому потрібні дві функції, щоб мати справу із \"зовнішнім світом\" --- " +"*timefunc* має бути викликаною без аргументів і повертати число (\"час\" у " +"будь-яких одиницях). Функція *delayfunc* має бути викликана за допомогою " +"одного аргументу, сумісна з виводом *timefunc*, і має затримувати стільки " +"одиниць часу. *delayfunc* також буде викликано з аргументом ``0`` після " +"запуску кожної події, щоб надати іншим потокам можливість працювати в " +"багатопоточних програмах." msgid "*timefunc* and *delayfunc* parameters are optional." -msgstr "" +msgstr "Параметри *timefunc* і *delayfunc* є необов’язковими." msgid "" ":class:`scheduler` class can be safely used in multi-threaded environments." msgstr "" +"Клас :class:`scheduler` можна безпечно використовувати в багатопоточних " +"середовищах." msgid "Example::" msgstr "Przykład::" @@ -84,12 +96,39 @@ msgid "" "From print_time 1652342840.369612 default\n" "1652342840.3697174" msgstr "" +">>> import sched, time\n" +">>> s = sched.scheduler(time.time, time.sleep)\n" +">>> def print_time(a='default'):\n" +"... print(\"From print_time\", time.time(), a)\n" +"...\n" +">>> def print_some_times():\n" +"... print(time.time())\n" +"... s.enter(10, 1, print_time)\n" +"... s.enter(5, 2, print_time, argument=('positional',))\n" +"... # despite having higher priority, 'keyword' runs after 'positional' " +"as enter() is relative\n" +"... s.enter(5, 1, print_time, kwargs={'a': 'keyword'})\n" +"... s.enterabs(1_650_000_000, 10, print_time, argument=(\"first " +"enterabs\",))\n" +"... s.enterabs(1_650_000_000, 5, print_time, argument=(\"second " +"enterabs\",))\n" +"... s.run()\n" +"... print(time.time())\n" +"...\n" +">>> print_some_times()\n" +"1652342830.3640375\n" +"From print_time 1652342830.3642538 second enterabs\n" +"From print_time 1652342830.3643398 first enterabs\n" +"From print_time 1652342835.3694863 positional\n" +"From print_time 1652342835.3696074 keyword\n" +"From print_time 1652342840.369612 default\n" +"1652342840.3697174" msgid "Scheduler Objects" -msgstr "" +msgstr "Об'єкти планувальника" msgid ":class:`scheduler` instances have the following methods and attributes:" -msgstr "" +msgstr "Екземпляри :class:`scheduler` мають такі методи та атрибути:" msgid "" "Schedule a new event. The *time* argument should be a numeric type " @@ -97,49 +136,69 @@ msgid "" "constructor. Events scheduled for the same *time* will be executed in the " "order of their *priority*. A lower number represents a higher priority." msgstr "" +"Заплануйте нову подію. Аргумент *time* має бути числового типу, сумісного зі " +"значенням, що повертається функцією *timefunc*, переданим конструктору. " +"Події, заплановані на той самий *час*, виконуватимуться в порядку їх " +"*пріоритету*. Менше число означає вищий пріоритет." msgid "" "Executing the event means executing ``action(*argument, **kwargs)``. " "*argument* is a sequence holding the positional arguments for *action*. " "*kwargs* is a dictionary holding the keyword arguments for *action*." msgstr "" +"Виконання події означає виконання ``action(*argument, **kwargs)``. " +"*Аргумент* — це послідовність, що містить позиційні аргументи для *дії*. " +"*kwargs* — це словник, що містить ключові аргументи для *action*." msgid "" "Return value is an event which may be used for later cancellation of the " "event (see :meth:`cancel`)." msgstr "" +"Повернене значення — це подія, яка може бути використана для подальшого " +"скасування події (див. :meth:`cancel`)." msgid "*argument* parameter is optional." -msgstr "" +msgstr "Параметр *argument* необов'язковий." msgid "*kwargs* parameter was added." -msgstr "" +msgstr "Додано параметр *kwargs*." msgid "" "Schedule an event for *delay* more time units. Other than the relative time, " "the other arguments, the effect and the return value are the same as those " "for :meth:`enterabs`." msgstr "" +"Заплануйте подію на *затримку* більше одиниць часу. Крім відносного часу, " +"інші аргументи, ефект і значення, що повертається, такі самі, як і для :meth:" +"`enterabs`." msgid "" "Remove the event from the queue. If *event* is not an event currently in the " "queue, this method will raise a :exc:`ValueError`." msgstr "" +"Видалити подію з черги. Якщо *подія* не є подією, яка зараз знаходиться в " +"черзі, цей метод викличе :exc:`ValueError`." msgid "Return ``True`` if the event queue is empty." -msgstr "" +msgstr "Повертає ``True``, якщо черга подій порожня." msgid "" "Run all scheduled events. This method will wait (using the *delayfunc* " "function passed to the constructor) for the next event, then execute it and " "so on until there are no more scheduled events." msgstr "" +"Запуск всех запланированных событий. Этот метод будет ждать (используя " +"функцию *delayfunc*, переданную конструктору) следующего события, затем " +"выполнять его и так далее, пока не закончатся запланированные события." msgid "" "If *blocking* is false executes the scheduled events due to expire soonest " "(if any) and then return the deadline of the next scheduled call in the " "scheduler (if any)." msgstr "" +"Якщо *блокування* має значення false, виконує заплановані події, які мають " +"закінчитися якнайшвидше (якщо є), а потім повертає крайній термін наступного " +"запланованого виклику в планувальнику (якщо є)." msgid "" "Either *action* or *delayfunc* can raise an exception. In either case, the " @@ -147,6 +206,10 @@ msgid "" "an exception is raised by *action*, the event will not be attempted in " "future calls to :meth:`run`." msgstr "" +"Або *action*, або *delayfunc* можуть викликати виняток. У будь-якому випадку " +"планувальник підтримуватиме узгоджений стан і поширюватиме виняткову " +"ситуацію. Якщо *action* викликає виключення, подія не буде спробована в " +"майбутніх викликах :meth:`run`." msgid "" "If a sequence of events takes longer to run than the time available before " @@ -154,15 +217,22 @@ msgid "" "dropped; the calling code is responsible for canceling events which are no " "longer pertinent." msgstr "" +"Якщо для виконання послідовності подій потрібно більше часу, ніж доступний " +"час до наступної події, планувальник просто відстає. Жодна подія не буде " +"видалена; код виклику відповідає за скасування подій, які більше не " +"актуальні." msgid "*blocking* parameter was added." -msgstr "" +msgstr "Додано параметр *блокування*." msgid "" "Read-only attribute returning a list of upcoming events in the order they " "will be run. Each event is shown as a :term:`named tuple` with the " "following fields: time, priority, action, argument, kwargs." msgstr "" +"Атрибут лише для читання, який повертає список майбутніх подій у порядку їх " +"виконання. Кожна подія відображається як :term:`named tuple` з такими " +"полями: час, пріоритет, дія, аргумент, кварги." msgid "event scheduling" -msgstr "" +msgstr "планирование мероприятий" diff --git a/library/secrets.po b/library/secrets.po index 65205a08d3..7686ba5a76 100644 --- a/library/secrets.po +++ b/library/secrets.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-02-21 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -25,77 +25,105 @@ msgstr "" msgid ":mod:`!secrets` --- Generate secure random numbers for managing secrets" msgstr "" +":mod:`!secrets` --- Генерация безопасных случайных чисел для управления " +"секретами." 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 " "random numbers suitable for managing data such as passwords, account " "authentication, security tokens, and related secrets." msgstr "" +"Модуль :mod:`secrets` використовується для генерації криптографічно надійних " +"випадкових чисел, придатних для керування такими даними, як паролі, " +"автентифікація облікових записів, маркери безпеки та пов’язані секрети." msgid "" "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 "" +"Зокрема, :mod:`secrets` слід використовувати натомість замість генератора " +"псевдовипадкових чисел за замовчуванням у модулі :mod:`random`, який " +"призначений для моделювання та імітації, а не для безпеки чи криптографії." msgid ":pep:`506`" msgstr ":pep:`506`" msgid "Random numbers" -msgstr "" +msgstr "Rastgele sayılar" msgid "" "The :mod:`secrets` module provides access to the most secure source of " "randomness that your operating system provides." msgstr "" +"Модуль :mod:`secrets` надає доступ до найбезпечнішого джерела випадковості, " +"яке надає ваша операційна система." msgid "" "A class for generating random numbers using the highest-quality sources " "provided by the operating system. See :class:`random.SystemRandom` for " "additional details." msgstr "" +"Клас для генерації випадкових чисел з використанням джерел найвищої якості, " +"наданих операційною системою. Дивіться :class:`random.SystemRandom` для " +"отримання додаткової інформації." msgid "Return a randomly chosen element from a non-empty sequence." -msgstr "" +msgstr "Вернуть случайно выбранный элемент из непустой последовательности." msgid "Return a random int in the range [0, *exclusive_upper_bound*)." msgstr "" +"Возвращает случайное целое число в диапазоне [0, *exclusive_upper_bound*)." msgid "Return a non-negative int with *k* random bits." -msgstr "" +msgstr "Возвращает неотрицательное целое число со случайными битами *k*." msgid "Generating tokens" -msgstr "" +msgstr "Генерація токенів" msgid "" "The :mod:`secrets` module provides functions for generating secure tokens, " "suitable for applications such as password resets, hard-to-guess URLs, and " "similar." msgstr "" +"Модуль :mod:`secrets` надає функції для створення захищених токенів, " +"придатних для таких програм, як скидання пароля, URL-адреси, які важко " +"вгадати, тощо." msgid "" "Return a random byte string containing *nbytes* number of bytes. If *nbytes* " "is ``None`` or not supplied, a reasonable default is used." msgstr "" +"Повертає випадковий рядок байтів, що містить *nbytes* кількість байтів. Якщо " +"*nbytes* має значення ``None`` або не вказано, використовується розумне " +"значення за умовчанням." msgid "" ">>> token_bytes(16)\n" "b'\\xebr\\x17D*t\\xae\\xd4\\xe3S\\xb6\\xe2\\xebP1\\x8b'" msgstr "" +">>> token_bytes(16)\n" +"b'\\xebr\\x17D*t\\xae\\xd4\\xe3S\\xb6\\xe2\\xebP1\\x8b'" 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." msgstr "" +"Повертає випадковий текстовий рядок у шістнадцятковому форматі. Рядок " +"містить *nbytes* випадкових байтів, кожен байт перетворюється на дві " +"шістнадцяткові цифри. Якщо *nbytes* має значення ``None`` або не вказано, " +"використовується розумне значення за умовчанням." msgid "" ">>> token_hex(16)\n" "'f9bf78b9a18ce6d46a0cd2b0b86df9da'" msgstr "" +">>> token_hex(16)\n" +"'f9bf78b9a18ce6d46a0cd2b0b86df9da'" msgid "" "Return a random URL-safe text string, containing *nbytes* random bytes. The " @@ -103,14 +131,20 @@ msgid "" "characters. If *nbytes* is ``None`` or not supplied, a reasonable default " "is used." msgstr "" +"Повертає випадковий URL-безпечний текстовий рядок, що містить *nbytes* " +"випадкових байтів. Текст закодовано Base64, тому в середньому кожен байт " +"містить приблизно 1,3 символу. Якщо *nbytes* має значення ``None`` або не " +"вказано, використовується розумне значення за умовчанням." msgid "" ">>> token_urlsafe(16)\n" "'Drmhze6EPcv0fN_81Bj-nA'" msgstr "" +">>> token_urlsafe(16)\n" +"'Drmhze6EPcv0fN_81Bj-nA'" msgid "How many bytes should tokens use?" -msgstr "" +msgstr "Скільки байтів мають використовувати токени?" msgid "" "To be secure against `brute-force attacks `_, токени повинні мати достатню випадковість. На жаль, " +"те, що вважається достатнім, обов’язково зросте, оскільки комп’ютери стануть " +"потужнішими та зможуть зробити більше припущень за коротший період. Станом " +"на 2015 рік вважається, що 32 байти (256 біт) випадковості достатньо для " +"типового використання, очікуваного для модуля :mod:`secrets`." msgid "" "For those who want to manage their own token length, you can explicitly " @@ -128,19 +168,28 @@ msgid "" "argument to the various ``token_*`` functions. That argument is taken as " "the number of bytes of randomness to use." msgstr "" +"Для тих, хто хоче керувати власною довжиною маркера, ви можете явно вказати, " +"скільки випадковості використовується для маркерів, надавши аргумент :class:" +"`int` для різних функцій ``token_*``. Цей аргумент береться як кількість " +"байтів випадковості для використання." msgid "" "Otherwise, if no argument is provided, or if the argument is ``None``, the " "``token_*`` functions will use a reasonable default instead." msgstr "" +"В іншому випадку, якщо аргумент не надано, або якщо аргумент ``None``, " +"функції ``token_*`` замість цього використовуватимуть розумне значення за " +"умовчанням." msgid "" "That default is subject to change at any time, including during maintenance " "releases." msgstr "" +"Це значення за замовчуванням може бути змінено в будь-який час, у тому числі " +"під час технічного обслуговування." msgid "Other functions" -msgstr "" +msgstr "Інші функції" msgid "" "Return ``True`` if strings or :term:`bytes-like objects ` " @@ -149,17 +198,24 @@ msgid "" "lesson-in-timing-attacks/>`_. See :func:`hmac.compare_digest` for additional " "details." msgstr "" +"Возвращайте ``True``, если строки или :term:`bytes-like object ` *a* и *b* равны, в противном случае ``False``, используя «сравнение " +"в постоянном времени» для снизить риск `временных атак `_. Дополнительную информацию см. в :func:`hmac." +"compare_digest`." msgid "Recipes and best practices" -msgstr "" +msgstr "Рецепти та найкращі практики" msgid "" "This section shows recipes and best practices for using :mod:`secrets` to " "manage a basic level of security." msgstr "" +"Цей розділ містить рецепти та найкращі методи використання :mod:`secrets` " +"для керування базовим рівнем безпеки." msgid "Generate an eight-character alphanumeric password:" -msgstr "" +msgstr "Згенеруйте буквено-цифровий пароль із восьми символів:" msgid "" "import string\n" @@ -167,17 +223,26 @@ msgid "" "alphabet = string.ascii_letters + string.digits\n" "password = ''.join(secrets.choice(alphabet) for i in range(8))" msgstr "" +"строка импорта секреты импорта алфавит = string.ascii_letters + string." +"digits пароль = ''.join(secrets.choice(алфавит) для i в диапазоне (8))" msgid "" "Applications should not :cwe:`store passwords in a recoverable format " "<257>`, whether plain text or encrypted. They should be salted and hashed " "using a cryptographically strong one-way (irreversible) hash function." msgstr "" +"Приложения не должны :cwe:`хранить пароли в восстанавливаемом формате " +"<257>`, будь то обычный текст или зашифрованные. Их следует «солить» и " +"хэшировать с использованием криптостойкой односторонней (необратимой) хэш-" +"функции." msgid "" "Generate a ten-character alphanumeric password with at least one lowercase " "character, at least one uppercase character, and at least three digits:" msgstr "" +"Згенеруйте буквено-цифровий пароль із десяти символів, який містить " +"принаймні один символ у нижньому регістрі, принаймні один символ у верхньому " +"регістрі та принаймні три цифри:" msgid "" "import string\n" @@ -190,9 +255,18 @@ msgid "" " and sum(c.isdigit() for c in password) >= 3):\n" " break" msgstr "" +"import string\n" +"import secrets\n" +"alphabet = string.ascii_letters + string.digits\n" +"while True:\n" +" password = ''.join(secrets.choice(alphabet) for i in range(10))\n" +" if (any(c.islower() for c in password)\n" +" and any(c.isupper() for c in password)\n" +" and sum(c.isdigit() for c in password) >= 3):\n" +" break" msgid "Generate an `XKCD-style passphrase `_:" -msgstr "" +msgstr "Створіть `парольну фразу у стилі XKCD `_:" msgid "" "import secrets\n" @@ -202,13 +276,23 @@ msgid "" " words = [word.strip() for word in f]\n" " password = ' '.join(secrets.choice(words) for i in range(4))" msgstr "" +"import secrets\n" +"# On standard Linux systems, use a convenient dictionary file.\n" +"# Other platforms may need to provide their own word-list.\n" +"with open('/usr/share/dict/words') as f:\n" +" words = [word.strip() for word in f]\n" +" password = ' '.join(secrets.choice(words) for i in range(4))" msgid "" "Generate a hard-to-guess temporary URL containing a security token suitable " "for password recovery applications:" msgstr "" +"Згенеруйте тимчасову URL-адресу, яку важко вгадати, що містить маркер " +"безпеки, придатний для програм відновлення пароля:" msgid "" "import secrets\n" "url = 'https://example.com/reset=' + secrets.token_urlsafe()" msgstr "" +"import secrets\n" +"url = 'https://example.com/reset=' + secrets.token_urlsafe()" diff --git a/library/security_warnings.po b/library/security_warnings.po index fb9353b113..0affeb1ec4 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-2025, 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.13\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 15:02+0000\n" +"PO-Revision-Date: 2025-05-08 05:10+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 c719bbab67..861150942d 100644 --- a/library/select.po +++ b/library/select.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -25,7 +24,7 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!select` --- Waiting for I/O completion" -msgstr "" +msgstr ":mod:`!select` --- Ожидание завершения ввода-вывода" msgid "" "This module provides access to the :c:func:`!select` and :c:func:`!poll` " @@ -36,6 +35,14 @@ msgid "" "(in particular, on Unix, it works on pipes). It cannot be used on regular " "files to determine whether a file has grown since it was last read." msgstr "" +"Этот модуль обеспечивает доступ к функциям :c:func:`!select` и :c:func:`!" +"poll`, доступным в большинстве операционных систем, :c:func:`!devpoll`, " +"доступным в Solaris и его производных, :c: func:`!epoll` доступен в Linux " +"2.5+ и :c:func:`!kqueue` доступен в большинстве BSD. Обратите внимание, что " +"в Windows это работает только для сокетов; в других операционных системах он " +"также работает и для других типов файлов (в частности, в Unix он работает с " +"каналами). Его нельзя использовать для обычных файлов, чтобы определить, " +"увеличился ли файл с момента его последнего чтения." msgid "" "The :mod:`selectors` module allows high-level and efficient I/O " @@ -43,6 +50,11 @@ msgid "" "encouraged to use the :mod:`selectors` module instead, unless they want " "precise control over the OS-level primitives used." msgstr "" +"Модуль :mod:`selectors` забезпечує високорівневе й ефективне " +"мультиплексування вводу/виводу, побудоване на основі примітивів модуля :mod:" +"`select`. Замість цього користувачам рекомендується використовувати модуль :" +"mod:`selectors`, якщо вони не бажають точного контролю над використовуваними " +"примітивами рівня ОС." msgid "Availability" msgstr "Dostępność" @@ -51,21 +63,26 @@ msgid "" "This module does not work or is not available on WebAssembly. See :ref:`wasm-" "availability` for more information." msgstr "" +"Этот модуль не работает или недоступен в WebAssembly. См. :ref:`wasm-" +"availability` для получения дополнительной информации." msgid "The module defines the following:" -msgstr "" +msgstr "Модуль визначає наступне:" msgid "A deprecated alias of :exc:`OSError`." -msgstr "" +msgstr "Застарілий псевдонім :exc:`OSError`." msgid "Following :pep:`3151`, this class was made an alias of :exc:`OSError`." -msgstr "" +msgstr "Після :pep:`3151` цей клас отримав псевдонім :exc:`OSError`." msgid "" "(Only supported on Solaris and derivatives.) Returns a ``/dev/poll`` " "polling object; see section :ref:`devpoll-objects` below for the methods " "supported by devpoll objects." msgstr "" +"(Підтримується лише в Solaris і похідних.) Повертає об’єкт опитування ``/dev/" +"poll``; дивіться розділ :ref:`devpoll-objects` нижче щодо методів, які " +"підтримуються об’єктами devpoll." msgid "" ":c:func:`!devpoll` objects are linked to the number of file descriptors " @@ -73,17 +90,25 @@ msgid "" "func:`!devpoll` will fail. If your program increases this value, :c:func:`!" "devpoll` may return an incomplete list of active file descriptors." msgstr "" +"Объекты :c:func:`!devpoll` связаны с количеством файловых дескрипторов, " +"разрешенных на момент создания экземпляра. Если ваша программа уменьшит это " +"значение, :c:func:`!devpoll` завершится ошибкой. Если ваша программа " +"увеличивает это значение, :c:func:`!devpoll` может вернуть неполный список " +"активных файловых дескрипторов." msgid "The new file descriptor is :ref:`non-inheritable `." -msgstr "" +msgstr "Новий файловий дескриптор :ref:`не успадковується `." msgid "The new file descriptor is now non-inheritable." -msgstr "" +msgstr "Новий файловий дескриптор тепер не успадковується." msgid "" "(Only supported on Linux 2.5.44 and newer.) Return an edge polling object, " "which can be used as Edge or Level Triggered interface for I/O events." msgstr "" +"(Підтримується лише в Linux 2.5.44 і новіших версіях.) Повертає об’єкт " +"опитування краю, який можна використовувати як інтерфейс Edge або Level " +"Triggered для подій введення/виведення." msgid "" "*sizehint* informs epoll about the expected number of events to be " @@ -91,36 +116,54 @@ msgid "" "used on older systems where :c:func:`!epoll_create1` is not available; " "otherwise it has no effect (though its value is still checked)." msgstr "" +"*sizehint* сообщает epoll об ожидаемом количестве событий, которые " +"необходимо зарегистрировать. Оно должно быть положительным или ``-1``, чтобы " +"использовать значение по умолчанию. Он используется только в старых " +"системах, где :c:func:`!epoll_create1` недоступен; в противном случае он не " +"имеет никакого эффекта (хотя его значение все равно проверяется)." msgid "" "*flags* is deprecated and completely ignored. However, when supplied, its " "value must be ``0`` or ``select.EPOLL_CLOEXEC``, otherwise ``OSError`` is " "raised." msgstr "" +"*flags* застаріло та повністю ігнорується. Однак, коли надається, його " +"значення має бути ``0`` або ``select.EPOLL_CLOEXEC``, інакше ``OSError`` " +"викликається." msgid "" "See the :ref:`epoll-objects` section below for the methods supported by " "epolling objects." msgstr "" +"Перегляньте розділ :ref:`epoll-objects` нижче, щоб дізнатися про методи, які " +"підтримуються об’єктами електронного опитування." msgid "" "``epoll`` objects support the context management protocol: when used in a :" "keyword:`with` statement, the new file descriptor is automatically closed at " "the end of the block." msgstr "" +"Об’єкти ``epoll`` підтримують протокол керування контекстом: при " +"використанні в операторі :keyword:`with` новий дескриптор файлу автоматично " +"закривається в кінці блоку." msgid "Added the *flags* parameter." -msgstr "" +msgstr "Додано параметр *flags*." msgid "" "Support for the :keyword:`with` statement was added. The new file descriptor " "is now non-inheritable." msgstr "" +"Додано підтримку оператора :keyword:`with`. Новий файловий дескриптор тепер " +"не успадковується." msgid "" "The *flags* parameter. ``select.EPOLL_CLOEXEC`` is used by default now. " "Use :func:`os.set_inheritable` to make the file descriptor inheritable." msgstr "" +"Параметр *flags*. ``select.EPOLL_CLOEXEC`` зараз використовується за " +"умовчанням. Використовуйте :func:`os.set_inheritable`, щоб зробити " +"дескриптор файлу спадковим." msgid "" "(Not supported by all operating systems.) Returns a polling object, which " @@ -128,16 +171,25 @@ msgid "" "them for I/O events; see section :ref:`poll-objects` below for the methods " "supported by polling objects." msgstr "" +"(Підтримується не всіма операційними системами.) Повертає об’єкт опитування, " +"який підтримує реєстрацію та скасування реєстрації дескрипторів файлів, а " +"потім опитування їх для подій введення/виведення; дивіться розділ :ref:`poll-" +"objects` нижче щодо методів, які підтримуються об’єктами опитування." msgid "" "(Only supported on BSD.) Returns a kernel queue object; see section :ref:" "`kqueue-objects` below for the methods supported by kqueue objects." msgstr "" +"(Підтримується лише в BSD.) Повертає об’єкт черги ядра; перегляньте розділ :" +"ref:`kqueue-objects` нижче, щоб дізнатися про методи, які підтримуються " +"об’єктами kqueue." msgid "" "(Only supported on BSD.) Returns a kernel event object; see section :ref:" "`kevent-objects` below for the methods supported by kevent objects." msgstr "" +"(Підтримується лише в BSD.) Повертає об’єкт події ядра; дивіться розділ :ref:" +"`kevent-objects` нижче щодо методів, які підтримуються об’єктами kevent." msgid "" "This is a straightforward interface to the Unix :c:func:`!select` system " @@ -145,17 +197,24 @@ msgid "" "integers representing file descriptors or objects with a parameterless " "method named :meth:`~io.IOBase.fileno` returning such an integer:" msgstr "" +"Это простой интерфейс к системному вызову Unix :c:func:`!select`. Первые три " +"аргумента являются итерациями «ожидаемых объектов»: либо целыми числами, " +"представляющими файловые дескрипторы, либо объектами с методом без " +"параметров с именем :meth:`~io.IOBase.fileno`, возвращающим такое целое " +"число:" msgid "*rlist*: wait until ready for reading" -msgstr "" +msgstr "*rlist*: дочекатися готовності до читання" msgid "*wlist*: wait until ready for writing" -msgstr "" +msgstr "*wlist*: дочекатися готовності до запису" msgid "" "*xlist*: wait for an \"exceptional condition\" (see the manual page for what " "your system considers such a condition)" msgstr "" +"*xlist*: зачекайте на \"виняткову умову\" (перегляньте сторінку посібника " +"щодо того, що ваша система вважає такою умовою)" msgid "" "Empty iterables are allowed, but acceptance of three empty iterables is " @@ -165,12 +224,22 @@ msgid "" "until at least one file descriptor is ready. A time-out value of zero " "specifies a poll and never blocks." msgstr "" +"Пустые итерации допускаются, но принятие трех пустых итераций зависит от " +"платформы. (Известно, что он работает в Unix, но не в Windows.) " +"Необязательный аргумент *timeout* определяет время ожидания в виде числа с " +"плавающей запятой в секундах. Если аргумент *timeout* опущен, функция " +"блокируется до тех пор, пока не будет готов хотя бы один файловый " +"дескриптор. Нулевое значение тайм-аута указывает на опрос и никогда не " +"блокирует." msgid "" "The return value is a triple of lists of objects that are ready: subsets of " "the first three arguments. When the time-out is reached without a file " "descriptor becoming ready, three empty lists are returned." msgstr "" +"Повернене значення — це трійка списків готових об’єктів: підмножини перших " +"трьох аргументів. Коли час очікування досягнуто, а дескриптор файлу не " +"готовий, повертаються три порожні списки." msgid "" "Among the acceptable object types in the iterables are Python :term:`file " @@ -180,6 +249,12 @@ msgid "" "has an appropriate :meth:`~io.IOBase.fileno` method (that really returns a " "file descriptor, not just a random integer)." msgstr "" +"Серед прийнятних типів об’єктів у ітераціях є :term:`файлові об’єкти Python " +"` (наприклад, ``sys.stdin`` або об’єкти, повернуті :func:`open` " +"або :func:`os.popen`), сокет об’єкти, які повертає :func:`socket.socket`. Ви " +"також можете визначити клас :dfn:`wrapper` самостійно, за умови, що він має " +"відповідний метод :meth:`~io.IOBase.fileno` (який дійсно повертає дескриптор " +"файлу, а не просто випадкове ціле число)." msgid "" "File objects on Windows are not acceptable, but sockets are. On Windows, " @@ -187,12 +262,19 @@ msgid "" "library, and does not handle file descriptors that don't originate from " "WinSock." msgstr "" +"Файловые объекты в Windows неприемлемы, а сокеты — допустимы. В Windows " +"базовая функция :c:func:`!select` предоставляется библиотекой WinSock и не " +"обрабатывает дескрипторы файлов, не происходящие из WinSock." msgid "" "The function is now retried with a recomputed timeout when interrupted by a " "signal, except if the signal handler raises an exception (see :pep:`475` for " "the rationale), instead of raising :exc:`InterruptedError`." msgstr "" +"Функція тепер виконується повторно з переобчисленим тайм-аутом, якщо її " +"перериває сигнал, за винятком випадків, коли обробник сигналу викликає " +"виняток (перегляньте :pep:`475` для обґрунтування), замість того, щоб " +"викликати :exc:`InterruptedError`." msgid "" "The minimum number of bytes which can be written without blocking to a pipe " @@ -200,31 +282,40 @@ msgid "" "select`, :func:`!poll` or another interface in this module. This doesn't " "apply to other kind of file-like objects such as sockets." msgstr "" +"Минимальное количество байтов, которые могут быть записаны в канал без " +"блокировки, когда канал сообщается о готовности к записи с помощью :func:" +"`~select.select`, :func:`!poll` или другого интерфейса в этом модуле. Это не " +"относится к другим типам файловых объектов, таким как сокеты." msgid "This value is guaranteed by POSIX to be at least 512." -msgstr "" +msgstr "POSIX гарантує, що це значення буде не менше 512." msgid "``/dev/poll`` Polling Objects" -msgstr "" +msgstr "``/dev/poll`` Опитування об'єктів" msgid "" "Solaris and derivatives have ``/dev/poll``. While :c:func:`!select` is *O*\\ " "(*highest file descriptor*) and :c:func:`!poll` is *O*\\ (*number of file " "descriptors*), ``/dev/poll`` is *O*\\ (*active file descriptors*)." msgstr "" +"Solaris и его производные имеют ``/dev/poll``. В то время как :c:func:`!" +"select` имеет значение *O*\\ (*самый высокий файловый дескриптор*), а :c:" +"func:`!poll` имеет значение *O*\\ (*количество файловых дескрипторов*), ``/" +"dev /poll`` — это *O*\\ (*активные файловые дескрипторы*)." msgid "" "``/dev/poll`` behaviour is very close to the standard :c:func:`!poll` object." msgstr "" +"Поведение ``/dev/poll`` очень близко к стандартному объекту :c:func:`!poll`." msgid "Close the file descriptor of the polling object." -msgstr "" +msgstr "Закрийте файловий дескриптор об'єкта опитування." msgid "``True`` if the polling object is closed." -msgstr "" +msgstr "``True``, якщо об'єкт опитування закрито." msgid "Return the file descriptor number of the polling object." -msgstr "" +msgstr "Повертає номер дескриптора файлу об'єкта опитування." msgid "" "Register a file descriptor with the polling object. Future calls to the :" @@ -233,6 +324,12 @@ msgid "" "meth:`~io.IOBase.fileno` method that returns an integer. File objects " "implement :meth:`!fileno`, so they can also be used as the argument." msgstr "" +"Зареєструйте дескриптор файлу з об'єктом опитування. Подальші виклики " +"методу :meth:`poll` перевірятимуть, чи є в дескрипторі файлу будь-які " +"незавершені події введення/виведення. *fd* може бути або цілим числом, або " +"об’єктом із методом :meth:`~io.IOBase.fileno`, який повертає ціле число. " +"Файлові об’єкти реалізують :meth:`!fileno`, тому їх також можна " +"використовувати як аргумент." msgid "" "*eventmask* is an optional bitmask describing the type of events you want to " @@ -240,28 +337,42 @@ msgid "" "default value is a combination of the constants :const:`POLLIN`, :const:" "`POLLPRI`, and :const:`POLLOUT`." msgstr "" +"*eventmask* — необязательная битовая маска, описывающая тип событий, которые " +"вы хотите проверить. Константы такие же, как и в объекте :c:func:`!poll`. " +"Значение по умолчанию представляет собой комбинацию констант :const:" +"`POLLIN`, :const:`POLLPRI` и :const:`POLLOUT`." msgid "" "Registering a file descriptor that's already registered is not an error, but " "the result is undefined. The appropriate action is to unregister or modify " "it first. This is an important difference compared with :c:func:`!poll`." msgstr "" +"Регистрация уже зарегистрированного файлового дескриптора не является " +"ошибкой, но результат не определен. Соответствующее действие — сначала " +"отменить регистрацию или изменить его. Это важное отличие от :c:func:`!poll`." msgid "" "This method does an :meth:`unregister` followed by a :meth:`register`. It is " "(a bit) more efficient that doing the same explicitly." msgstr "" +"Цей метод виконує :meth:`unregister`, а потім :meth:`register`. Це (трохи) " +"ефективніше, ніж робити те саме явно." msgid "" "Remove a file descriptor being tracked by a polling object. Just like the :" "meth:`register` method, *fd* can be an integer or an object with a :meth:" "`~io.IOBase.fileno` method that returns an integer." msgstr "" +"Видаліть дескриптор файлу, який відстежується об'єктом опитування. Як і " +"метод :meth:`register`, *fd* може бути цілим числом або об’єктом із методом :" +"meth:`~io.IOBase.fileno`, який повертає ціле число." msgid "" "Attempting to remove a file descriptor that was never registered is safely " "ignored." msgstr "" +"Спроба видалити дескриптор файлу, який ніколи не був зареєстрований, " +"безпечно ігнорується." msgid "" "Polls the set of registered file descriptors, and returns a possibly empty " @@ -275,15 +386,28 @@ msgid "" "for events before returning. If *timeout* is omitted, -1, or :const:`None`, " "the call will block until there is an event for this poll object." msgstr "" +"Опрашивает набор зарегистрированных файловых дескрипторов и возвращает, " +"возможно, пустой список, содержащий двухкортежи ``(fd, event)`` для " +"дескрипторов, у которых есть события или ошибки, о которых необходимо " +"сообщить. *fd* — это дескриптор файла, а *event* — это битовая маска с " +"битами, установленными для сообщаемых событий для этого дескриптора --- :" +"const:`POLLIN` для ожидания ввода, :const:`POLLOUT` для указания того, что " +"дескриптор может быть записанным и так далее. Пустой список означает, что " +"время ожидания вызова истекло и ни у одного файлового дескриптора не было " +"событий, о которых можно было бы сообщить. Если задано значение *timeout*, " +"оно определяет продолжительность времени в миллисекундах, в течение которого " +"система будет ожидать событий перед возвратом. Если *timeout* опущен, -1 " +"или :const:`None`, вызов будет блокироваться до тех пор, пока не произойдет " +"событие для этого объекта опроса." msgid "Edge and Level Trigger Polling (epoll) Objects" -msgstr "" +msgstr "Опитування (epoll) об’єктів тригера краю та рівня" msgid "https://linux.die.net/man/4/epoll" msgstr "https://linux.die.net/man/4/epoll" msgid "*eventmask*" -msgstr "" +msgstr "*маска події*" msgid "Constant" msgstr "Stała" @@ -295,37 +419,37 @@ msgid ":const:`EPOLLIN`" msgstr ":const:`EPOLLIN`" msgid "Available for read" -msgstr "" +msgstr "Доступний для читання" msgid ":const:`EPOLLOUT`" msgstr ":const:`EPOLLOUT`" msgid "Available for write" -msgstr "" +msgstr "Доступний для запису" msgid ":const:`EPOLLPRI`" msgstr ":const:`EPOLLPRI`" msgid "Urgent data for read" -msgstr "" +msgstr "Термінові дані для читання" msgid ":const:`EPOLLERR`" msgstr ":const:`EPOLLERR`" msgid "Error condition happened on the assoc. fd" -msgstr "" +msgstr "Сталася помилка на доц. fd" msgid ":const:`EPOLLHUP`" msgstr ":const:`EPOLLHUP`" msgid "Hang up happened on the assoc. fd" -msgstr "" +msgstr "Зависання сталося на доц. fd" msgid ":const:`EPOLLET`" msgstr ":const:`EPOLLET`" msgid "Set Edge Trigger behavior, the default is Level Trigger behavior" -msgstr "" +msgstr "Встановіть поведінку Edge Trigger, за замовчуванням це Level Trigger" msgid ":const:`EPOLLONESHOT`" msgstr ":const:`EPOLLONESHOT`" @@ -334,6 +458,8 @@ msgid "" "Set one-shot behavior. After one event is pulled out, the fd is internally " "disabled" msgstr "" +"Встановіть одноразову поведінку. Після вилучення однієї події fd внутрішньо " +"вимикається" msgid ":const:`EPOLLEXCLUSIVE`" msgstr ":const:`EPOLLEXCLUSIVE`" @@ -342,6 +468,9 @@ msgid "" "Wake only one epoll object when the associated fd has an event. The default " "(if this flag is not set) is to wake all epoll objects polling on a fd." msgstr "" +"Розбудити лише один об’єкт epoll, якщо пов’язаний fd має подію. За " +"замовчуванням (якщо цей прапорець не встановлено) всі об’єкти epoll " +"запитуються на fd." msgid ":const:`EPOLLRDHUP`" msgstr ":const:`EPOLLRDHUP`" @@ -349,71 +478,75 @@ msgstr ":const:`EPOLLRDHUP`" msgid "" "Stream socket peer closed connection or shut down writing half of connection." msgstr "" +"Потоковий сокет закрив однорангове з’єднання або завершив запис половини " +"з’єднання." msgid ":const:`EPOLLRDNORM`" msgstr ":const:`EPOLLRDNORM`" msgid "Equivalent to :const:`EPOLLIN`" -msgstr "" +msgstr "Sama dengan :const:`EPOLLIN`" msgid ":const:`EPOLLRDBAND`" msgstr ":const:`EPOLLRDBAND`" msgid "Priority data band can be read." -msgstr "" +msgstr "Смугу пріоритетних даних можна зчитувати." msgid ":const:`EPOLLWRNORM`" msgstr ":const:`EPOLLWRNORM`" msgid "Equivalent to :const:`EPOLLOUT`" -msgstr "" +msgstr "Sama dengan :const:`EPOLLOUT`" msgid ":const:`EPOLLWRBAND`" msgstr ":const:`EPOLLWRBAND`" msgid "Priority data may be written." -msgstr "" +msgstr "Пріоритетні дані можуть бути записані." msgid ":const:`EPOLLMSG`" msgstr ":const:`EPOLLMSG`" msgid "Ignored." -msgstr "" +msgstr "Ігнорується." msgid "" ":const:`EPOLLEXCLUSIVE` was added. It's only supported by Linux Kernel 4.5 " "or later." msgstr "" +":const:`EPOLLEXCLUSIVE` додано. Він підтримується лише ядром Linux 4.5 або " +"новішої версії." msgid "Close the control file descriptor of the epoll object." -msgstr "" +msgstr "Закрийте дескриптор керуючого файлу об’єкта epoll." msgid "``True`` if the epoll object is closed." -msgstr "" +msgstr "``True``, якщо об’єкт epoll закрито." msgid "Return the file descriptor number of the control fd." -msgstr "" +msgstr "Повертає номер дескриптора файлу елемента керування fd." msgid "Create an epoll object from a given file descriptor." -msgstr "" +msgstr "Створіть об’єкт epoll із заданого файлового дескриптора." msgid "Register a fd descriptor with the epoll object." -msgstr "" +msgstr "Зареєструйте дескриптор fd з об’єктом epoll." msgid "Modify a registered file descriptor." -msgstr "" +msgstr "Змінити зареєстрований файловий дескриптор." msgid "Remove a registered file descriptor from the epoll object." -msgstr "" +msgstr "Видаліть зареєстрований дескриптор файлу з об’єкта epoll." msgid "The method no longer ignores the :data:`~errno.EBADF` error." -msgstr "" +msgstr "Метод більше не ігнорує помилку :data:`~errno.EBADF`." msgid "Wait for events. timeout in seconds (float)" -msgstr "" +msgstr "Чекайте подій. тайм-аут у секундах (float)" msgid "Polling Objects" -msgstr "" +msgstr "Об'єкти опитування" msgid "" "The :c:func:`!poll` system call, supported on most Unix systems, provides " @@ -425,6 +558,15 @@ msgid "" "*O*\\ (*highest file descriptor*), while :c:func:`!poll` is *O*\\ (*number " "of file descriptors*)." msgstr "" +"Системный вызов :c:func:`!poll`, поддерживаемый большинством систем Unix, " +"обеспечивает лучшую масштабируемость сетевых серверов, которые обслуживают " +"множество клиентов одновременно. :c:func:`!poll` масштабируется лучше, " +"потому что системный вызов требует только перечисления интересующих файловых " +"дескрипторов, а :c:func:`!select` строит растровое изображение, включает " +"биты для интересующих файловых файлов, а затем после этого все растровое " +"изображение необходимо снова линейно сканировать. :c:func:`!select` — это " +"*O*\\ (*самый высокий файловый дескриптор*), а :c:func:`!poll` — это *O*\\ " +"(*количество файловых дескрипторов*)." msgid "" "*eventmask* is an optional bitmask describing the type of events you want to " @@ -432,36 +574,40 @@ msgid "" "`POLLPRI`, and :const:`POLLOUT`, described in the table below. If not " "specified, the default value used will check for all 3 types of events." msgstr "" +"*eventmask* — це необов’язкова бітова маска, що описує тип подій, які ви " +"хочете перевірити, і може бути комбінацією констант :const:`POLLIN`, :const:" +"`POLLPRI` і :const:`POLLOUT`, описаних у таблицю нижче. Якщо не вказано, " +"значення за умовчанням перевірятиме всі 3 типи подій." msgid ":const:`POLLIN`" msgstr ":const:`POLLIN`" msgid "There is data to read" -msgstr "" +msgstr "Є дані для читання" msgid ":const:`POLLPRI`" msgstr ":const:`POLLPRI`" msgid "There is urgent data to read" -msgstr "" +msgstr "Є термінові дані для читання" msgid ":const:`POLLOUT`" msgstr ":const:`POLLOUT`" msgid "Ready for output: writing will not block" -msgstr "" +msgstr "Готовий до виведення: запис не блокуватиметься" msgid ":const:`POLLERR`" msgstr ":const:`POLLERR`" msgid "Error condition of some sort" -msgstr "" +msgstr "Якась помилка" msgid ":const:`POLLHUP`" msgstr ":const:`POLLHUP`" msgid "Hung up" -msgstr "" +msgstr "Повісив" msgid ":const:`POLLRDHUP`" msgstr ":const:`POLLRDHUP`" @@ -469,17 +615,21 @@ msgstr ":const:`POLLRDHUP`" msgid "" "Stream socket peer closed connection, or shut down writing half of connection" msgstr "" +"Закрите однорангове з’єднання потокового сокета або завершіть запис половини " +"з’єднання" msgid ":const:`POLLNVAL`" msgstr ":const:`POLLNVAL`" msgid "Invalid request: descriptor not open" -msgstr "" +msgstr "Недійсний запит: дескриптор не відкрито" msgid "" "Registering a file descriptor that's already registered is not an error, and " "has the same effect as registering the descriptor exactly once." msgstr "" +"Реєстрація дескриптора файлу, який уже зареєстровано, не є помилкою та має " +"той самий ефект, що й одноразова реєстрація дескриптора." msgid "" "Modifies an already registered fd. This has the same effect as " @@ -487,11 +637,16 @@ msgid "" "was never registered causes an :exc:`OSError` exception with errno :const:" "`ENOENT` to be raised." msgstr "" +"Змінює вже зареєстрований fd. Це має той самий ефект, що й ``register(fd, " +"eventmask)``. Спроба змінити дескриптор файлу, який ніколи не був " +"зареєстрований, викликає виняток :exc:`OSError` з errno :const:`ENOENT`." msgid "" "Attempting to remove a file descriptor that was never registered causes a :" "exc:`KeyError` exception to be raised." msgstr "" +"Спроба видалити дескриптор файлу, який ніколи не був зареєстрований, " +"викликає виняток :exc:`KeyError`." msgid "" "Polls the set of registered file descriptors, and returns a possibly empty " @@ -505,35 +660,48 @@ msgid "" "for events before returning. If *timeout* is omitted, negative, or :const:" "`None`, the call will block until there is an event for this poll object." msgstr "" +"Опрашивает набор зарегистрированных файловых дескрипторов и возвращает, " +"возможно, пустой список, содержащий двухкортежи ``(fd, event)`` для " +"дескрипторов, у которых есть события или ошибки, о которых необходимо " +"сообщить. *fd* — это дескриптор файла, а *event* — это битовая маска с " +"битами, установленными для сообщаемых событий для этого дескриптора --- :" +"const:`POLLIN` для ожидания ввода, :const:`POLLOUT` для указания того, что " +"дескриптор может быть записанным и так далее. Пустой список означает, что " +"время ожидания вызова истекло и ни у одного файлового дескриптора не было " +"событий, о которых можно было бы сообщить. Если задано значение *timeout*, " +"оно определяет продолжительность времени в миллисекундах, в течение которого " +"система будет ожидать событий перед возвратом. Если *timeout* опущен, имеет " +"отрицательное значение или :const:`None`, вызов будет блокироваться до тех " +"пор, пока не произойдет событие для этого объекта опроса." msgid "Kqueue Objects" -msgstr "" +msgstr "Об’єкти Kqueue" msgid "Close the control file descriptor of the kqueue object." -msgstr "" +msgstr "Закрийте дескриптор керуючого файлу об’єкта kqueue." msgid "``True`` if the kqueue object is closed." -msgstr "" +msgstr "``True``, якщо об’єкт kqueue закрито." msgid "Create a kqueue object from a given file descriptor." -msgstr "" +msgstr "Створіть об’єкт kqueue із заданого файлового дескриптора." msgid "Low level interface to kevent" -msgstr "" +msgstr "Низькорівневий інтерфейс для kevent" msgid "changelist must be an iterable of kevent objects or ``None``" -msgstr "" +msgstr "список змін має бути ітерованим об’єктами kevent або ``None``" msgid "max_events must be 0 or a positive integer" -msgstr "" +msgstr "max_events має бути 0 або додатним цілим числом" msgid "" "timeout in seconds (floats possible); the default is ``None``, to wait " "forever" -msgstr "" +msgstr "тайм-аут у секундах (можливі флоати); типовим є ``None``, чекати вічно" msgid "Kevent Objects" -msgstr "" +msgstr "Об'єкти Kevent" msgid "https://man.freebsd.org/cgi/man.cgi?query=kqueue&sektion=2" msgstr "https://man.freebsd.org/cgi/man.cgi?query=kqueue&sektion=2" @@ -544,28 +712,32 @@ msgid "" "an int or an object with a :meth:`~io.IOBase.fileno` method. kevent stores " "the integer internally." msgstr "" +"Значення, що використовується для ідентифікації події. Інтерпретація " +"залежить від фільтра, але зазвичай це дескриптор файлу. У конструкторі ident " +"може бути або int, або об’єктом із методом :meth:`~io.IOBase.fileno`. kevent " +"зберігає ціле число всередині." msgid "Name of the kernel filter." -msgstr "" +msgstr "Назва фільтра ядра." msgid ":const:`KQ_FILTER_READ`" msgstr ":const:`KQ_FILTER_READ`" msgid "Takes a descriptor and returns whenever there is data available to read" -msgstr "" +msgstr "Бере дескриптор і повертає, коли є дані, доступні для читання" msgid ":const:`KQ_FILTER_WRITE`" msgstr ":const:`KQ_FILTER_WRITE`" msgid "" "Takes a descriptor and returns whenever there is data available to write" -msgstr "" +msgstr "Бере дескриптор і повертає щоразу, коли є дані для запису" msgid ":const:`KQ_FILTER_AIO`" msgstr ":const:`KQ_FILTER_AIO`" msgid "AIO requests" -msgstr "" +msgstr "запити AIO" msgid ":const:`KQ_FILTER_VNODE`" msgstr ":const:`KQ_FILTER_VNODE`" @@ -573,75 +745,77 @@ msgstr ":const:`KQ_FILTER_VNODE`" msgid "" "Returns when one or more of the requested events watched in *fflag* occurs" msgstr "" +"Повертається, коли відбувається одна або кілька запитаних подій, які " +"переглядаються в *fflag*" msgid ":const:`KQ_FILTER_PROC`" msgstr ":const:`KQ_FILTER_PROC`" msgid "Watch for events on a process id" -msgstr "" +msgstr "Слідкуйте за подіями в ідентифікаторі процесу" msgid ":const:`KQ_FILTER_NETDEV`" msgstr ":const:`KQ_FILTER_NETDEV`" msgid "Watch for events on a network device [not available on macOS]" -msgstr "" +msgstr "Стежити за подіями на мережевому пристрої [недоступно в macOS]" msgid ":const:`KQ_FILTER_SIGNAL`" msgstr ":const:`KQ_FILTER_SIGNAL`" msgid "Returns whenever the watched signal is delivered to the process" -msgstr "" +msgstr "Повертається щоразу, коли спостережуваний сигнал надходить до процесу" msgid ":const:`KQ_FILTER_TIMER`" msgstr ":const:`KQ_FILTER_TIMER`" msgid "Establishes an arbitrary timer" -msgstr "" +msgstr "Встановлює довільний таймер" msgid "Filter action." -msgstr "" +msgstr "Дія фільтра." msgid ":const:`KQ_EV_ADD`" msgstr ":const:`KQ_EV_ADD`" msgid "Adds or modifies an event" -msgstr "" +msgstr "Додає або змінює подію" msgid ":const:`KQ_EV_DELETE`" msgstr ":const:`KQ_EV_DELETE`" msgid "Removes an event from the queue" -msgstr "" +msgstr "Вилучає подію з черги" msgid ":const:`KQ_EV_ENABLE`" msgstr ":const:`KQ_EV_ENABLE`" msgid "Permitscontrol() to returns the event" -msgstr "" +msgstr "Permitscontrol() to повертає подію" msgid ":const:`KQ_EV_DISABLE`" msgstr ":const:`KQ_EV_DISABLE`" msgid "Disablesevent" -msgstr "" +msgstr "Вимкнути подію" msgid ":const:`KQ_EV_ONESHOT`" msgstr ":const:`KQ_EV_ONESHOT`" msgid "Removes event after first occurrence" -msgstr "" +msgstr "Видаляє подію після першого входження" msgid ":const:`KQ_EV_CLEAR`" msgstr ":const:`KQ_EV_CLEAR`" msgid "Reset the state after an event is retrieved" -msgstr "" +msgstr "Скинути стан після отримання події" msgid ":const:`KQ_EV_SYSFLAGS`" msgstr ":const:`KQ_EV_SYSFLAGS`" msgid "internal event" -msgstr "" +msgstr "внутрішня подія" msgid ":const:`KQ_EV_FLAG1`" msgstr ":const:`KQ_EV_FLAG1`" @@ -650,97 +824,97 @@ msgid ":const:`KQ_EV_EOF`" msgstr ":const:`KQ_EV_EOF`" msgid "Filter specific EOF condition" -msgstr "" +msgstr "Фільтр певної умови EOF" msgid ":const:`KQ_EV_ERROR`" msgstr ":const:`KQ_EV_ERROR`" msgid "See return values" -msgstr "" +msgstr "Перегляньте значення, що повертаються" msgid "Filter specific flags." -msgstr "" +msgstr "Фільтрувати певні прапорці." msgid ":const:`KQ_FILTER_READ` and :const:`KQ_FILTER_WRITE` filter flags:" -msgstr "" +msgstr ":const:`KQ_FILTER_READ` і :const:`KQ_FILTER_WRITE` позначки фільтрів:" msgid ":const:`KQ_NOTE_LOWAT`" msgstr ":const:`KQ_NOTE_LOWAT`" msgid "low water mark of a socket buffer" -msgstr "" +msgstr "низька позначка буфера сокета" msgid ":const:`KQ_FILTER_VNODE` filter flags:" -msgstr "" +msgstr ":const:`KQ_FILTER_VNODE` позначки фільтра:" msgid ":const:`KQ_NOTE_DELETE`" msgstr ":const:`KQ_NOTE_DELETE`" msgid "*unlink()* was called" -msgstr "" +msgstr "Викликано *unlink()*" msgid ":const:`KQ_NOTE_WRITE`" msgstr ":const:`KQ_NOTE_WRITE`" msgid "a write occurred" -msgstr "" +msgstr "відбувся запис" msgid ":const:`KQ_NOTE_EXTEND`" msgstr ":const:`KQ_NOTE_EXTEND`" msgid "the file was extended" -msgstr "" +msgstr "файл було розширено" msgid ":const:`KQ_NOTE_ATTRIB`" msgstr ":const:`KQ_NOTE_ATTRIB`" msgid "an attribute was changed" -msgstr "" +msgstr "атрибут було змінено" msgid ":const:`KQ_NOTE_LINK`" msgstr ":const:`KQ_NOTE_LINK`" msgid "the link count has changed" -msgstr "" +msgstr "кількість посилань змінилася" msgid ":const:`KQ_NOTE_RENAME`" msgstr ":const:`KQ_NOTE_RENAME`" msgid "the file was renamed" -msgstr "" +msgstr "файл було перейменовано" msgid ":const:`KQ_NOTE_REVOKE`" msgstr ":const:`KQ_NOTE_REVOKE`" msgid "access to the file was revoked" -msgstr "" +msgstr "доступ до файлу скасовано" msgid ":const:`KQ_FILTER_PROC` filter flags:" -msgstr "" +msgstr ":const:`KQ_FILTER_PROC` позначки фільтра:" msgid ":const:`KQ_NOTE_EXIT`" msgstr ":const:`KQ_NOTE_EXIT`" msgid "the process has exited" -msgstr "" +msgstr "процес вийшов" msgid ":const:`KQ_NOTE_FORK`" msgstr ":const:`KQ_NOTE_FORK`" msgid "the process has called *fork()*" -msgstr "" +msgstr "процес викликав *fork()*" msgid ":const:`KQ_NOTE_EXEC`" msgstr ":const:`KQ_NOTE_EXEC`" msgid "the process has executed a new process" -msgstr "" +msgstr "процес виконав новий процес" msgid ":const:`KQ_NOTE_PCTRLMASK`" msgstr ":const:`KQ_NOTE_PCTRLMASK`" msgid "internal filter flag" -msgstr "" +msgstr "прапор внутрішнього фільтра" msgid ":const:`KQ_NOTE_PDATAMASK`" msgstr ":const:`KQ_NOTE_PDATAMASK`" @@ -749,52 +923,52 @@ msgid ":const:`KQ_NOTE_TRACK`" msgstr ":const:`KQ_NOTE_TRACK`" msgid "follow a process across *fork()*" -msgstr "" +msgstr "виконайте процес через *fork()*" msgid ":const:`KQ_NOTE_CHILD`" msgstr ":const:`KQ_NOTE_CHILD`" msgid "returned on the child process for *NOTE_TRACK*" -msgstr "" +msgstr "повернуто дочірнім процесом для *NOTE_TRACK*" msgid ":const:`KQ_NOTE_TRACKERR`" msgstr ":const:`KQ_NOTE_TRACKERR`" msgid "unable to attach to a child" -msgstr "" +msgstr "не може прив'язатися до дитини" msgid ":const:`KQ_FILTER_NETDEV` filter flags (not available on macOS):" -msgstr "" +msgstr ":const:`KQ_FILTER_NETDEV` позначки фільтра (недоступні в macOS):" msgid ":const:`KQ_NOTE_LINKUP`" msgstr ":const:`KQ_NOTE_LINKUP`" msgid "link is up" -msgstr "" +msgstr "посилання працює" msgid ":const:`KQ_NOTE_LINKDOWN`" msgstr ":const:`KQ_NOTE_LINKDOWN`" msgid "link is down" -msgstr "" +msgstr "посилання не працює" msgid ":const:`KQ_NOTE_LINKINV`" msgstr ":const:`KQ_NOTE_LINKINV`" msgid "link state is invalid" -msgstr "" +msgstr "стан посилання недійсний" msgid "Filter specific data." -msgstr "" +msgstr "Фільтр конкретних даних." msgid "User defined value." -msgstr "" +msgstr "Визначене користувачем значення." msgid "socket() (in module socket)" -msgstr "" +msgstr "сокет() (в сокете модуля)" msgid "popen() (in module os)" -msgstr "" +msgstr "popen() (in module os)" msgid "WinSock" -msgstr "" +msgstr "WinSock" diff --git a/library/selectors.po b/library/selectors.po index 3a615e3017..320b8d1b5d 100644 --- a/library/selectors.po +++ b/library/selectors.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Seweryn Piórkowski , 2021 -# Tomasz Rodzen , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-02-28 14:17+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -27,10 +24,10 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!selectors` --- High-level I/O multiplexing" -msgstr "" +msgstr ":mod:`!selectors` --- Мультиплексирование ввода-вывода высокого уровня" msgid "**Source code:** :source:`Lib/selectors.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/selectors.py`" msgid "Introduction" msgstr "Wprowadzenie" @@ -40,6 +37,10 @@ msgid "" "the :mod:`select` module primitives. Users are encouraged to use this module " "instead, unless they want precise control over the OS-level primitives used." msgstr "" +"Цей модуль забезпечує високорівневе й ефективне мультиплексування введення/" +"виведення, побудоване на примітивах модуля :mod:`select`. Користувачам " +"рекомендується використовувати замість цього модуль, якщо вони не бажають " +"точного контролю над використовуваними примітивами рівня ОС." msgid "" "It defines a :class:`BaseSelector` abstract base class, along with several " @@ -49,12 +50,21 @@ msgid "" "object with a :meth:`~io.IOBase.fileno` method, or a raw file descriptor. " "See :term:`file object`." msgstr "" +"Он определяет абстрактный базовый класс :class:`BaseSelector`, а также " +"несколько конкретных реализаций (:class:`KqueueSelector`, :class:" +"`EpollSelector`...), которые можно использовать для ожидания уведомления о " +"готовности ввода-вывода. несколько файловых объектов. Далее «файловый " +"объект» относится к любому объекту с методом :meth:`~io.IOBase.fileno` или к " +"необработанному файловому дескриптору. См. :term:`файловый объект`." msgid "" ":class:`DefaultSelector` is an alias to the most efficient implementation " "available on the current platform: this should be the default choice for " "most users." msgstr "" +":class:`DefaultSelector` — це псевдонім найефективнішої реалізації, " +"доступної на поточній платформі: це має бути вибір за умовчанням для " +"більшості користувачів." msgid "" "The type of file objects supported depends on the platform: on Windows, " @@ -62,12 +72,16 @@ msgid "" "(some other types may be supported as well, such as fifos or special file " "devices)." msgstr "" +"Тип підтримуваних файлових об’єктів залежить від платформи: у Windows " +"підтримуються сокети, але не канали, тоді як в Unix підтримуються обидва " +"(можуть підтримуватися й деякі інші типи, наприклад fifos або спеціальні " +"файлові пристрої)." msgid ":mod:`select`" msgstr ":mod:`select`" msgid "Low-level I/O multiplexing module." -msgstr "" +msgstr "Модуль мультиплексування вводу/виводу низького рівня." msgid "Availability" msgstr "Dostępność" @@ -76,12 +90,14 @@ msgid "" "This module does not work or is not available on WebAssembly. See :ref:`wasm-" "availability` for more information." msgstr "" +"Этот модуль не работает или недоступен в WebAssembly. См. :ref:`wasm-" +"availability` для получения дополнительной информации." msgid "Classes" msgstr "Klasy" msgid "Classes hierarchy::" -msgstr "" +msgstr "Ієрархія класів::" msgid "" "BaseSelector\n" @@ -91,12 +107,21 @@ msgid "" "+-- DevpollSelector\n" "+-- KqueueSelector" msgstr "" +"BaseSelector\n" +"+-- SelectSelector\n" +"+-- PollSelector\n" +"+-- EpollSelector\n" +"+-- DevpollSelector\n" +"+-- KqueueSelector" 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:" msgstr "" +"Нижче *події* — це порозрядна маска, що вказує, на які події вводу/виводу " +"слід чекати для певного файлового об’єкта. Це може бути комбінація наведених " +"нижче констант модулів:" msgid "Constant" msgstr "Stała" @@ -105,10 +130,10 @@ msgid "Meaning" msgstr "Znaczenie" msgid "Available for read" -msgstr "" +msgstr "Доступний для читання" msgid "Available for write" -msgstr "" +msgstr "Доступний для запису" msgid "" "A :class:`SelectorKey` is a :class:`~collections.namedtuple` used to " @@ -116,20 +141,26 @@ msgid "" "mask and attached data. It is returned by several :class:`BaseSelector` " "methods." msgstr "" +":class:`SelectorKey` — це :class:`~collections.namedtuple`, який " +"використовується для зв’язування об’єкта файлу з його основним дескриптором " +"файлу, вибраною маскою події та вкладеними даними. Його повертають кілька " +"методів :class:`BaseSelector`." msgid "File object registered." -msgstr "" +msgstr "Файловий об'єкт зареєстровано." msgid "Underlying file descriptor." -msgstr "" +msgstr "Базовий файловий дескриптор." msgid "Events that must be waited for on this file object." -msgstr "" +msgstr "Події, які потрібно очікувати для цього файлового об’єкта." msgid "" "Optional opaque data associated to this file object: for example, this could " "be used to store a per-client session ID." msgstr "" +"Додаткові непрозорі дані, пов’язані з цим файловим об’єктом: наприклад, це " +"можна використовувати для зберігання ідентифікатора сеансу кожного клієнта." msgid "" "A :class:`BaseSelector` is used to wait for I/O event readiness on multiple " @@ -141,29 +172,49 @@ msgid "" "your platform supports it. :class:`BaseSelector` and its concrete " "implementations support the :term:`context manager` protocol." msgstr "" +":class:`BaseSelector` використовується для очікування готовності події вводу/" +"виводу для кількох файлових об’єктів. Він підтримує реєстрацію потоку " +"файлів, скасування реєстрації та метод очікування подій введення/виведення в " +"цих потоках із додатковим тайм-аутом. Це абстрактний базовий клас, тому його " +"не можна створити. Замість цього використовуйте :class:`DefaultSelector` або " +"один із :class:`SelectSelector`, :class:`KqueueSelector` тощо, якщо ви " +"хочете використовувати певну реалізацію, і ваша платформа це підтримує. :" +"class:`BaseSelector` і його конкретні реалізації підтримують протокол :term:" +"`context manager`." msgid "Register a file object for selection, monitoring it for I/O events." msgstr "" +"Зареєструйте файловий об’єкт для вибору, відстежуючи його для подій вводу/" +"виводу." msgid "" "*fileobj* is the file object to monitor. It may either be an integer file " "descriptor or an object with a ``fileno()`` method. *events* is a bitwise " "mask of events to monitor. *data* is an opaque object." msgstr "" +"*fileobj* — файловий об’єкт для моніторингу. Це може бути цілочисельний " +"файловий дескриптор або об’єкт із методом fileno(). *події* — це побітова " +"маска подій для моніторингу. *data* є непрозорим об’єктом." msgid "" "This returns a new :class:`SelectorKey` instance, or raises a :exc:" "`ValueError` in case of invalid event mask or file descriptor, or :exc:" "`KeyError` if the file object is already registered." msgstr "" +"Це повертає новий екземпляр :class:`SelectorKey` або викликає :exc:" +"`ValueError` у разі недійсної маски події чи дескриптора файлу, або :exc:" +"`KeyError`, якщо об’єкт файлу вже зареєстровано." msgid "" "Unregister a file object from selection, removing it from monitoring. A file " "object shall be unregistered prior to being closed." msgstr "" +"Скасувати реєстрацію файлового об’єкта з вибору, видаливши його з " +"моніторингу. Перед закриттям файлового об’єкта необхідно скасувати " +"реєстрацію." msgid "*fileobj* must be a file object previously registered." -msgstr "" +msgstr "*fileobj* має бути попередньо зареєстрованим файловим об’єктом." msgid "" "This returns the associated :class:`SelectorKey` instance, or raises a :exc:" @@ -171,25 +222,37 @@ msgid "" "if *fileobj* is invalid (e.g. it has no ``fileno()`` method or its " "``fileno()`` method has an invalid return value)." msgstr "" +"Це повертає пов’язаний екземпляр :class:`SelectorKey` або викликає :exc:" +"`KeyError`, якщо *fileobj* не зареєстровано. Він викличе :exc:`ValueError`, " +"якщо *fileobj* недійсний (наприклад, він не має методу ``fileno()`` або його " +"``fileno()`` метод має недійсне повернуте значення)." msgid "Change a registered file object's monitored events or attached data." -msgstr "" +msgstr "Змінити події або вкладені дані зареєстрованого файлового об’єкта." msgid "" "This is equivalent to ``BaseSelector.unregister(fileobj)`` followed by " "``BaseSelector.register(fileobj, events, data)``, except that it can be " "implemented more efficiently." msgstr "" +"Это эквивалентно ``BaseSelector.unregister(fileobj)``, за которым следует " +"``BaseSelector.register(fileobj, event, data)``, за исключением того, что " +"его можно реализовать более эффективно." msgid "" "This returns a new :class:`SelectorKey` instance, or raises a :exc:" "`ValueError` in case of invalid event mask or file descriptor, or :exc:" "`KeyError` if the file object is not registered." msgstr "" +"Це повертає новий екземпляр :class:`SelectorKey` або викликає :exc:" +"`ValueError` у разі недійсної маски події чи дескриптора файлу, або :exc:" +"`KeyError`, якщо об’єкт файлу не зареєстровано." msgid "" "Wait until some registered file objects become ready, or the timeout expires." msgstr "" +"Зачекайте, поки деякі зареєстровані файлові об’єкти стануть готовими, або " +"закінчиться час очікування." msgid "" "If ``timeout > 0``, this specifies the maximum wait time, in seconds. If " @@ -197,22 +260,34 @@ msgid "" "file objects. If *timeout* is ``None``, the call will block until a " "monitored file object becomes ready." msgstr "" +"Якщо ``timeout > 0``, це визначає максимальний час очікування в секундах. " +"Якщо ``timeout <= 0``, виклик не блокуватиметься, а повідомлятиметься про " +"наразі готові файлові об’єкти. Якщо *timeout* має значення ``None``, виклик " +"блокуватиметься, доки контрольований файловий об’єкт не стане готовим." msgid "" "This returns a list of ``(key, events)`` tuples, one for each ready file " "object." msgstr "" +"Це повертає список кортежів ``(ключ, події)``, по одному для кожного " +"готового файлового об’єкта." msgid "" "*key* is the :class:`SelectorKey` instance corresponding to a ready file " "object. *events* is a bitmask of events ready on this file object." msgstr "" +"*key* — це екземпляр :class:`SelectorKey`, що відповідає готовому файловому " +"об’єкту. *events* — це бітова маска подій, готових для цього файлового " +"об’єкта." msgid "" "This method can return before any file object becomes ready or the timeout " "has elapsed if the current process receives a signal: in this case, an empty " "list will be returned." msgstr "" +"Цей метод може повернутися до того, як будь-який файловий об’єкт стане " +"готовим або мине час очікування, якщо поточний процес отримає сигнал: у " +"цьому випадку буде повернено порожній список." msgid "" "The selector is now retried with a recomputed timeout when interrupted by a " @@ -220,72 +295,92 @@ msgid "" "the rationale), instead of returning an empty list of events before the " "timeout." msgstr "" +"Тепер селектор виконується повторно з переобчисленим тайм-аутом, коли його " +"перериває сигнал, якщо обробник сигналу не викликав виняткову ситуацію " +"(див. :pep:`475` для обґрунтування), замість повернення порожнього списку " +"подій до тайм-ауту." msgid "Close the selector." -msgstr "" +msgstr "Закрийте селектор." msgid "" "This must be called to make sure that any underlying resource is freed. The " "selector shall not be used once it has been closed." msgstr "" +"Це потрібно викликати, щоб переконатися, що будь-який основний ресурс " +"звільнено. Перемикач не можна використовувати після того, як він закритий." msgid "Return the key associated with a registered file object." -msgstr "" +msgstr "Повертає ключ, пов’язаний із зареєстрованим файловим об’єктом." msgid "" "This returns the :class:`SelectorKey` instance associated to this file " "object, or raises :exc:`KeyError` if the file object is not registered." msgstr "" +"Це повертає екземпляр :class:`SelectorKey`, пов’язаний із цим об’єктом " +"файлу, або викликає :exc:`KeyError`, якщо об’єкт файлу не зареєстровано." msgid "Return a mapping of file objects to selector keys." -msgstr "" +msgstr "Повернути відображення файлових об’єктів на клавіші вибору." msgid "" "This returns a :class:`~collections.abc.Mapping` instance mapping registered " "file objects to their associated :class:`SelectorKey` instance." msgstr "" +"Це повертає екземпляр :class:`~collections.abc.Mapping`, який зіставляє " +"зареєстровані файлові об’єкти з їхнім пов’язаним екземпляром :class:" +"`SelectorKey`." msgid "" "The default selector class, using the most efficient implementation " "available on the current platform. This should be the default choice for " "most users." msgstr "" +"Клас селектора за замовчуванням із використанням найефективнішої реалізації, " +"доступної на поточній платформі. Це має бути вибір за умовчанням для " +"більшості користувачів." msgid ":func:`select.select`-based selector." -msgstr "" +msgstr "Селектор на основі :func:`select.select`." msgid ":func:`select.poll`-based selector." -msgstr "" +msgstr "Селектор на основі :func:`select.poll`." msgid ":func:`select.epoll`-based selector." -msgstr "" +msgstr "Селектор на основі :func:`select.epoll`." msgid "" "This returns the file descriptor used by the underlying :func:`select.epoll` " "object." msgstr "" +"Це повертає дескриптор файлу, який використовується базовим об’єктом :func:" +"`select.epoll`." msgid ":func:`select.devpoll`-based selector." -msgstr "" +msgstr "Селектор на основі :func:`select.devpoll`." msgid "" "This returns the file descriptor used by the underlying :func:`select." "devpoll` object." msgstr "" +"Це повертає дескриптор файлу, який використовується базовим об’єктом :func:" +"`select.devpoll`." msgid ":func:`select.kqueue`-based selector." -msgstr "" +msgstr ":func:`select.kqueue` селектор." msgid "" "This returns the file descriptor used by the underlying :func:`select." "kqueue` object." msgstr "" +"Це повертає дескриптор файлу, який використовується базовим об’єктом :func:" +"`select.kqueue`." msgid "Examples" msgstr "Przykłady" msgid "Here is a simple echo server implementation::" -msgstr "" +msgstr "Ось проста реалізація ехо-сервера:" msgid "" "import selectors\n" @@ -321,3 +416,35 @@ msgid "" " callback = key.data\n" " callback(key.fileobj, mask)" msgstr "" +"import selectors\n" +"import socket\n" +"\n" +"sel = selectors.DefaultSelector()\n" +"\n" +"def accept(sock, mask):\n" +" conn, addr = sock.accept() # Should be ready\n" +" print('accepted', conn, 'from', addr)\n" +" conn.setblocking(False)\n" +" sel.register(conn, selectors.EVENT_READ, read)\n" +"\n" +"def read(conn, mask):\n" +" data = conn.recv(1000) # Should be ready\n" +" if data:\n" +" print('echoing', repr(data), 'to', conn)\n" +" conn.send(data) # Hope it won't block\n" +" else:\n" +" print('closing', conn)\n" +" sel.unregister(conn)\n" +" conn.close()\n" +"\n" +"sock = socket.socket()\n" +"sock.bind(('localhost', 1234))\n" +"sock.listen(100)\n" +"sock.setblocking(False)\n" +"sel.register(sock, selectors.EVENT_READ, accept)\n" +"\n" +"while True:\n" +" events = sel.select()\n" +" for key, mask in events:\n" +" callback = key.data\n" +" callback(key.fileobj, mask)" diff --git a/library/shelve.po b/library/shelve.po index 7635d25796..bed105cd9a 100644 --- a/library/shelve.po +++ b/library/shelve.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2024 -# Rafael Fontenelle , 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Rafael Fontenelle , 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -26,10 +24,10 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!shelve` --- Python object persistence" -msgstr "" +msgstr ":mod:`!shelve` --- Сохранение объектов Python" 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 " @@ -39,6 +37,11 @@ msgid "" "and objects containing lots of shared sub-objects. The keys are ordinary " "strings." msgstr "" +"\"Полиця\" — це постійний об’єкт, схожий на словник. Різниця з базами даних " +"\"dbm\" полягає в тому, що значення (не ключі!) на полиці можуть бути по " +"суті довільними об’єктами Python --- будь-чим, що може обробити модуль :mod:" +"`pickle`. Це включає більшість екземплярів класів, рекурсивних типів даних " +"та об’єктів, що містять багато спільних підоб’єктів. Ключі - звичайні струни." msgid "" "Open a persistent dictionary. The filename specified is the base filename " @@ -48,12 +51,21 @@ msgid "" "*flag* parameter has the same interpretation as the *flag* parameter of :" "func:`dbm.open`." msgstr "" +"Відкрийте постійний словник. Вказана назва файлу є базовою назвою файлу " +"базової бази даних. Як побічний ефект до назви файлу може бути додано " +"розширення та може бути створено більше одного файлу. За замовчуванням " +"базовий файл бази даних відкрито для читання та запису. Необов’язковий " +"параметр *flag* має таку саму інтерпретацію, що й параметр *flag* :func:`dbm." +"open`." msgid "" "By default, pickles created with :const:`pickle.DEFAULT_PROTOCOL` are used " "to serialize values. The version of the pickle protocol can be specified " "with the *protocol* parameter." msgstr "" +"По умолчанию пикли, созданные с помощью :const:`pickle.DEFAULT_PROTOCOL`, " +"используются для сериализации значений. Версию протокола Pickle можно " +"указать с помощью параметра *protocol*." msgid "" "Because of Python semantics, a shelf cannot know when a mutable persistent-" @@ -68,30 +80,51 @@ msgid "" "determine which accessed entries are mutable, nor which ones were actually " "mutated)." msgstr "" +"Через семантику Python полиця не може знати, коли змінено запис постійного " +"словника. За замовчуванням змінені об’єкти записуються *тільки*, коли вони " +"призначені на полицю (див. :ref:`shelve-example`). Якщо необов’язковий " +"параметр *writeback* має значення ``True``, усі записи, до яких здійснюється " +"доступ, також кешуються в пам’яті та записуються назад у :meth:`~Shelf.sync` " +"і :meth:`~Shelf.close`; це може зробити зручнішим мутацію змінних записів у " +"постійному словнику, але, якщо здійснюється доступ до багатьох записів, це " +"може споживати величезні обсяги пам’яті для кешу, і це може зробити операцію " +"закриття дуже повільною, оскільки всі доступні записи записуються назад " +"( немає способу визначити, які записи є змінними, а також які з них були " +"змінені)." msgid "" ":const:`pickle.DEFAULT_PROTOCOL` is now used as the default pickle protocol." msgstr "" +":const:`pickle.DEFAULT_PROTOCOL` теперь используется в качестве протокола " +"травления по умолчанию." msgid "Accepts :term:`path-like object` for filename." -msgstr "" +msgstr "Принимает :term:`путеподобный объект` в качестве имени файла." msgid "" "Do not rely on the shelf being closed automatically; always call :meth:" "`~Shelf.close` explicitly when you don't need it any more, or use :func:" "`shelve.open` as a context manager::" msgstr "" +"Не покладайтеся на автоматичне закриття полиці; завжди викликайте :meth:" +"`~Shelf.close` явно, коли він вам більше не потрібен, або використовуйте :" +"func:`shelve.open` як контекстний менеджер::" msgid "" "with shelve.open('spam') as db:\n" " db['eggs'] = 'eggs'" msgstr "" +"with shelve.open('spam') as db:\n" +" db['eggs'] = 'eggs'" msgid "" "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 "" +"Оскільки модуль :mod:`shelve` підтримується :mod:`pickle`, небезпечно " +"завантажувати полицю з ненадійного джерела. Як і з pickle, завантаження " +"полиці може виконувати довільний код." msgid "" "Shelf objects support most of methods and operations supported by " @@ -99,9 +132,13 @@ msgid "" "This eases the transition from dictionary based scripts to those requiring " "persistent storage." msgstr "" +"Об'єкти полиці підтримують більшість методів і операцій, які підтримуються " +"словниками (крім копіювання, конструкторів і операторів ``|`` і ``|=``). Це " +"спрощує перехід від сценаріїв на основі словників до сценаріїв, які " +"потребують постійного зберігання." msgid "Two additional methods are supported:" -msgstr "" +msgstr "Підтримуються два додаткові методи:" msgid "" "Write back all entries in the cache if the shelf was opened with *writeback* " @@ -109,20 +146,29 @@ msgid "" "dictionary on disk, if feasible. This is called automatically when the " "shelf is closed with :meth:`close`." msgstr "" +"Записати всі записи в кеші, якщо полицю було відкрито з *writeback*, " +"встановленим на :const:`True`. Також очистіть кеш і синхронізуйте постійний " +"словник на диску, якщо це можливо. Це викликається автоматично, коли полиця " +"закривається за допомогою :meth:`close`." msgid "" "Synchronize and close the persistent *dict* object. Operations on a closed " "shelf will fail with a :exc:`ValueError`." msgstr "" +"Синхронізуйте та закрийте постійний об’єкт *dict*. Операції на закритій " +"полиці завершаться помилкою з :exc:`ValueError`." msgid "" "`Persistent dictionary recipe `_ with widely supported " "storage formats and having the speed of native dictionaries." msgstr "" +"`Рецепт постоянного словаря `_ с широко " +"поддерживаемыми форматами хранения и скоростью собственных словарей." msgid "Restrictions" -msgstr "" +msgstr "Обмеження" msgid "" "The choice of which database package will be used (such as :mod:`dbm.ndbm` " @@ -133,6 +179,13 @@ msgid "" "the database should be fairly small, and in rare cases key collisions may " "cause the database to refuse updates." msgstr "" +"Вибір того, який пакет бази даних використовуватиметься (наприклад, :mod:" +"`dbm.ndbm` або :mod:`dbm.gnu`) залежить від доступного інтерфейсу. Тому " +"небезпечно відкривати базу даних безпосередньо за допомогою :mod:`dbm`. База " +"даних також (на жаль) підлягає обмеженням :mod:`dbm`, якщо вона " +"використовується --- це означає, що (вибране представлення) об’єктів, які " +"зберігаються в базі даних, мають бути досить малими, і в окремих випадках " +"колізії ключів можуть призвести до відмови бази даних в оновленнях." msgid "" "The :mod:`shelve` module does not support *concurrent* read/write access to " @@ -142,16 +195,27 @@ msgid "" "this differs across Unix versions and requires knowledge about the database " "implementation used." msgstr "" +"Модуль :mod:`shelve` не підтримує *одночасний* доступ для читання/запису до " +"відкладених об’єктів. (Кілька одночасних доступів для читання є безпечними.) " +"Якщо в програмі є полиця, відкрита для запису, жодна інша програма не " +"повинна мати її відкритою для читання чи запису. Щоб вирішити цю проблему, " +"можна використовувати блокування файлів Unix, але це відрізняється в різних " +"версіях Unix і вимагає знання про використовувану реалізацію бази даних." msgid "" "On macOS :mod:`dbm.ndbm` can silently corrupt the database file on updates, " "which can cause hard crashes when trying to read from the database." msgstr "" +"В macOS :mod:`dbm.ndbm` может незаметно повредить файл базы данных при " +"обновлениях, что может привести к серьезным сбоям при попытке чтения из базы " +"данных." msgid "" "A subclass of :class:`collections.abc.MutableMapping` which stores pickled " "values in the *dict* object." msgstr "" +"Підклас :class:`collections.abc.MutableMapping`, який зберігає обрані " +"значення в об’єкті *dict*." msgid "" "By default, pickles created with :const:`pickle.DEFAULT_PROTOCOL` are used " @@ -159,6 +223,10 @@ msgid "" "with the *protocol* parameter. See the :mod:`pickle` documentation for a " "discussion of the pickle protocols." msgstr "" +"По умолчанию пикли, созданные с помощью :const:`pickle.DEFAULT_PROTOCOL`, " +"используются для сериализации значений. Версию протокола Pickle можно " +"указать с помощью параметра *protocol*. См. документацию :mod:`pickle` для " +"обсуждения протоколов Pickle." msgid "" "If the *writeback* parameter is ``True``, the object will hold a cache of " @@ -166,24 +234,34 @@ msgid "" "times. This allows natural operations on mutable entries, but can consume " "much more memory and make sync and close take a long time." msgstr "" +"Якщо параметр *writeback* має значення ``True``, об’єкт зберігатиме кеш усіх " +"записів, до яких отримав доступ, і записуватиме їх назад у *dict* під час " +"синхронізації та закриття. Це дозволяє виконувати природні операції над " +"змінними записами, але може споживати набагато більше пам’яті, а " +"синхронізація та закриття триватимуть довго." msgid "" "The *keyencoding* parameter is the encoding used to encode keys before they " "are used with the underlying dict." msgstr "" +"Параметр *keyencoding* — це кодування, яке використовується для кодування " +"ключів перед їх використанням із базовим dict." msgid "" "A :class:`Shelf` object can also be used as a context manager, in which case " "it will be automatically closed when the :keyword:`with` block ends." msgstr "" +"Об’єкт :class:`Shelf` також можна використовувати як менеджер контексту, і в " +"цьому випадку він буде автоматично закритий, коли блок :keyword:`with` " +"завершиться." msgid "" "Added the *keyencoding* parameter; previously, keys were always encoded in " "UTF-8." -msgstr "" +msgstr "Додано параметр *keyencoding*; раніше ключі завжди кодувалися в UTF-8." msgid "Added context manager support." -msgstr "" +msgstr "Додано підтримку менеджера контексту." msgid "" "A subclass of :class:`Shelf` which exposes :meth:`!first`, :meth:`!next`, :" @@ -196,6 +274,15 @@ msgid "" "*writeback*, and *keyencoding* parameters have the same interpretation as " "for the :class:`Shelf` class." msgstr "" +"Подкласс :class:`Shelf`, который предоставляет :meth:`!first`, :meth:`!" +"next`, :meth:`!previous`, :meth:`!last` и :meth:`!set_location` методы. Они " +"доступны в стороннем модуле :mod:`!bsddb` из `pybsddb `_, но не в других модулях базы данных. Объект " +"*dict*, передаваемый конструктору, должен поддерживать эти методы. Обычно " +"это достигается путем вызова одной из :func:`!bsddb.hashopen`, :func:`!bsddb." +"btopen` или :func:`!bsddb.rnopen`. Необязательные параметры *protocol*, " +"*writeback* и *keyencoding* имеют ту же интерпретацию, что и для класса :" +"class:`Shelf`." msgid "" "A subclass of :class:`Shelf` which accepts a *filename* instead of a dict-" @@ -205,6 +292,12 @@ msgid "" "open` function. The optional *protocol* and *writeback* parameters have the " "same interpretation as for the :class:`Shelf` class." msgstr "" +"Підклас :class:`Shelf`, який приймає *ім’я файлу* замість dict-подібного " +"об’єкта. Основний файл буде відкрито за допомогою :func:`dbm.open`. За " +"замовчуванням файл буде створено та відкрито для читання та запису. " +"Необов’язковий параметр *flag* має таку саму інтерпретацію, що й функція :" +"func:`.open`. Необов’язкові параметри *protocol* і *writeback* мають таку " +"саму інтерпретацію, що й для класу :class:`Shelf`." msgid "Example" msgstr "Przykład" @@ -213,6 +306,7 @@ msgid "" "To summarize the interface (``key`` is a string, ``data`` is an arbitrary " "object)::" msgstr "" +"Підсумовуючи інтерфейс (``key`` — це рядок, ``data`` — це довільний об’єкт):" msgid "" "import shelve\n" @@ -245,27 +339,56 @@ msgid "" "\n" "d.close() # close it" msgstr "" +"import shelve\n" +"\n" +"d = shelve.open(filename) # open -- file may get suffix added by low-level\n" +" # library\n" +"\n" +"d[key] = data # store data at key (overwrites old data if\n" +" # using an existing key)\n" +"data = d[key] # retrieve a COPY of data at key (raise KeyError\n" +" # if no such key)\n" +"del d[key] # delete data stored at key (raises KeyError\n" +" # if no such key)\n" +"\n" +"flag = key in d # true if the key exists\n" +"klist = list(d.keys()) # a list of all existing keys (slow!)\n" +"\n" +"# as d was opened WITHOUT writeback=True, beware:\n" +"d['xx'] = [0, 1, 2] # this works as expected, but...\n" +"d['xx'].append(3) # *this doesn't!* -- d['xx'] is STILL [0, 1, 2]!\n" +"\n" +"# having opened d without writeback=True, you need to code carefully:\n" +"temp = d['xx'] # extracts the copy\n" +"temp.append(5) # mutates the copy\n" +"d['xx'] = temp # stores the copy right back, to persist it\n" +"\n" +"# or, d=shelve.open(filename,writeback=True) would let you just code\n" +"# d['xx'].append(5) and have it work as expected, BUT it would also\n" +"# consume more memory and make the d.close() operation slower.\n" +"\n" +"d.close() # close it" msgid "Module :mod:`dbm`" -msgstr "" +msgstr "Модуль :mod:`dbm`" msgid "Generic interface to ``dbm``-style databases." -msgstr "" +msgstr "Загальний інтерфейс до баз даних у стилі ``dbm``." msgid "Module :mod:`pickle`" msgstr "moduł :mod:`pickle`" msgid "Object serialization used by :mod:`shelve`." -msgstr "" +msgstr "Серіалізація об’єктів, яку використовує :mod:`shelve`." msgid "module" msgstr "moduł" msgid "pickle" -msgstr "" +msgstr "pickle" msgid "dbm.ndbm" -msgstr "" +msgstr "dbm.ndbm" msgid "dbm.gnu" -msgstr "" +msgstr "dbm.gnu" diff --git a/library/shutil.po b/library/shutil.po index 3a8718c4b2..a8708bb79a 100644 --- a/library/shutil.po +++ b/library/shutil.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\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: 2025-06-20 14:58+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -25,10 +24,10 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!shutil` --- High-level file operations" -msgstr "" +msgstr ":mod:`!shutil` --- Высокоуровневые файловые операции" 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 " @@ -36,11 +35,17 @@ msgid "" "support file copying and removal. For operations on individual files, see " "also the :mod:`os` module." msgstr "" +"Модуль :mod:`shutil` пропонує низку високорівневих операцій над файлами та " +"колекціями файлів. Зокрема, передбачені функції, які підтримують копіювання " +"та видалення файлів. Для операцій з окремими файлами дивіться також модуль :" +"mod:`os`." msgid "" "Even the higher-level file copying functions (:func:`shutil.copy`, :func:" "`shutil.copy2`) cannot copy all file metadata." msgstr "" +"Навіть функції копіювання файлів вищого рівня (:func:`shutil.copy`, :func:" +"`shutil.copy2`) не можуть скопіювати всі метадані файлу." msgid "" "On POSIX platforms, this means that file owner and group are lost as well as " @@ -49,9 +54,14 @@ msgid "" "be correct. On Windows, file owners, ACLs and alternate data streams are not " "copied." msgstr "" +"На платформах POSIX це означає, що власник файлу та група втрачаються, а " +"також ACL. У Mac OS форк ресурсів та інші метадані не використовуються. Це " +"означає, що ресурси буде втрачено, а тип файлу та коди творця будуть " +"неправильними. У Windows власники файлів, ACL та альтернативні потоки даних " +"не копіюються." msgid "Directory and files operations" -msgstr "" +msgstr "Операції з каталогами та файлами" msgid "" "Copy the contents of the :term:`file-like object ` *fsrc* to " @@ -62,6 +72,14 @@ msgid "" "file position of the *fsrc* object is not 0, only the contents from the " "current file position to the end of the file will be copied." msgstr "" +"Скопируйте содержимое :term:`файлоподобного объекта <файловый объект>` " +"*fsrc* в файловоподобный объект *fdst*. Целое число *длина*, если оно " +"указано, представляет собой размер буфера. В частности, отрицательное " +"значение *длины* означает копирование данных без циклического перебора " +"исходных данных частями; по умолчанию данные считываются порциями, чтобы " +"избежать неконтролируемого потребления памяти. Обратите внимание: если " +"текущая позиция объекта *fsrc* в файле не равна 0, будет скопировано только " +"содержимое от текущей позиции до конца файла." msgid "" "Copy the contents (no metadata) of the file named *src* to a file named " @@ -69,12 +87,19 @@ msgid "" "are :term:`path-like objects ` or path names given as " "strings." msgstr "" +"Скопируйте содержимое (без метаданных) файла с именем *src* в файл с именем " +"*dst* и верните *dst* наиболее эффективным способом. *src* и *dst* — это :" +"term:`объекты, подобные пути <объект, подобный пути>` или имена путей, " +"заданные в виде строк." msgid "" "*dst* must be the complete target file name; look at :func:`~shutil.copy` " "for a copy that accepts a target directory path. If *src* and *dst* specify " "the same file, :exc:`SameFileError` is raised." msgstr "" +"*dst* має бути повним ім’ям цільового файлу; подивіться на :func:`~shutil." +"copy` копію, яка приймає шлях цільового каталогу. Якщо *src* і *dst* " +"вказують той самий файл, виникає :exc:`SameFileError`." msgid "" "The destination location must be writable; otherwise, an :exc:`OSError` " @@ -82,37 +107,56 @@ msgid "" "Special files such as character or block devices and pipes cannot be copied " "with this function." msgstr "" +"Місце призначення має бути доступним для запису; інакше буде викликано " +"виняток :exc:`OSError`. Якщо *dst* вже існує, його буде замінено. За " +"допомогою цієї функції неможливо скопіювати спеціальні файли, такі як " +"символьні або блокові пристрої та канали." msgid "" "If *follow_symlinks* is false and *src* is a symbolic link, a new symbolic " "link will be created instead of copying the file *src* points to." msgstr "" +"Якщо *follow_symlinks* має значення false, а *src* є символічним посиланням, " +"замість копіювання файлу, на який вказує *src*, буде створено нове " +"символічне посилання." msgid "" "Raises an :ref:`auditing event ` ``shutil.copyfile`` with " "arguments ``src``, ``dst``." msgstr "" +"Викликає :ref:`подію аудиту ` ``shutil.copyfile`` з аргументами " +"``src``, ``dst``." msgid "" ":exc:`IOError` used to be raised instead of :exc:`OSError`. Added " "*follow_symlinks* argument. Now returns *dst*." msgstr "" +"Раніше викликалося :exc:`IOError` замість :exc:`OSError`. Додано аргумент " +"*follow_symlinks*. Тепер повертає *dst*." msgid "" "Raise :exc:`SameFileError` instead of :exc:`Error`. Since the former is a " "subclass of the latter, this change is backward compatible." msgstr "" +"Викликати :exc:`SameFileError` замість :exc:`Error`. Оскільки перший є " +"підкласом останнього, ця зміна є зворотно сумісною." msgid "" "Platform-specific fast-copy syscalls may be used internally in order to copy " "the file more efficiently. See :ref:`shutil-platform-dependent-efficient-" "copy-operations` section." msgstr "" +"Спеціальні для платформи системні виклики швидкого копіювання можуть " +"використовуватися внутрішньо для більш ефективного копіювання файлу. " +"Перегляньте розділ :ref:`shutil-platform-dependent-efficient-copy-" +"operations`." msgid "" "This exception is raised if source and destination in :func:`copyfile` are " "the same file." msgstr "" +"Цей виняток виникає, якщо джерело та призначення у :func:`copyfile` є одним " +"і тим самим файлом." msgid "" "Copy the permission bits from *src* to *dst*. The file contents, owner, and " @@ -125,14 +169,26 @@ msgid "" "links on the local platform, and it is asked to do so, it will do nothing " "and return." msgstr "" +"Скопируйте биты разрешений из *src* в *dst*. Содержимое файла, владелец и " +"группа не затрагиваются. *src* и *dst* — это :term:`объекты, подобные пути " +"<объект, подобный пути>` или имена путей, заданные в виде строк. Если " +"*follow_symlinks* имеет значение false, и оба *src* и *dst* являются " +"символическими ссылками, :func:`copymode` попытается изменить режим самого " +"*dst* (а не файла, на который он указывает). Эта функция доступна не на " +"каждой платформе; пожалуйста, смотрите :func:`copystat` для получения " +"дополнительной информации. Если :func:`copymode` не может изменить " +"символические ссылки на локальной платформе, и его попросят это сделать, он " +"ничего не сделает и вернется." msgid "" "Raises an :ref:`auditing event ` ``shutil.copymode`` with " "arguments ``src``, ``dst``." msgstr "" +"Викликає :ref:`подію аудиту ` ``shutil.copymode`` з аргументами " +"``src``, ``dst``." msgid "Added *follow_symlinks* argument." -msgstr "" +msgstr "Додано аргумент *follow_symlinks*." msgid "" "Copy the permission bits, last access time, last modification time, and " @@ -141,6 +197,11 @@ msgid "" "are unaffected. *src* and *dst* are :term:`path-like objects ` or path names given as strings." msgstr "" +"Скопируйте биты разрешений, время последнего доступа, время последнего " +"изменения и флаги из *src* в *dst*. В Linux :func:`copystat` также копирует " +"«расширенные атрибуты», где это возможно. Содержимое файла, владелец и " +"группа не затрагиваются. *src* и *dst* — это :term:`объекты, подобные пути " +"<объект, подобный пути>` или имена путей, заданные в виде строк." msgid "" "If *follow_symlinks* is false, and *src* and *dst* both refer to symbolic " @@ -148,45 +209,68 @@ msgid "" "than the files the symbolic links refer to—reading the information from the " "*src* symbolic link, and writing the information to the *dst* symbolic link." msgstr "" +"Якщо *follow_symlinks* має значення false, а *src* і *dst* посилаються на " +"символічні посилання, :func:`copystat` працюватиме з самими символьними " +"посиланнями, а не з файлами, на які посилаються символічні посилання, " +"зчитуючи інформацію з *символьне посилання src* і запис інформації до " +"символічного посилання *dst*." msgid "" "Not all platforms provide the ability to examine and modify symbolic links. " "Python itself can tell you what functionality is locally available." msgstr "" +"Не всі платформи надають можливість перевіряти та змінювати символічні " +"посилання. Python сам може сказати вам, які функції доступні локально." msgid "" "If ``os.chmod in os.supports_follow_symlinks`` is ``True``, :func:`copystat` " "can modify the permission bits of a symbolic link." msgstr "" +"Якщо ``os.chmod в os.supports_follow_symlinks`` має значення ``True``, :func:" +"`copystat` може змінити біти дозволу символічного посилання." msgid "" "If ``os.utime in os.supports_follow_symlinks`` is ``True``, :func:`copystat` " "can modify the last access and modification times of a symbolic link." msgstr "" +"Якщо ``os.utime в os.supports_follow_symlinks`` має значення ``True``, :func:" +"`copystat` може змінити час останнього доступу та модифікації символічного " +"посилання." msgid "" "If ``os.chflags in os.supports_follow_symlinks`` is ``True``, :func:" "`copystat` can modify the flags of a symbolic link. (``os.chflags`` is not " "available on all platforms.)" msgstr "" +"Якщо ``os.chflags в os.supports_follow_symlinks`` має значення ``True``, :" +"func:`copystat` може змінювати прапорці символічного посилання. (``os." +"chflags`` доступний не на всіх платформах.)" msgid "" "On platforms where some or all of this functionality is unavailable, when " "asked to modify a symbolic link, :func:`copystat` will copy everything it " "can. :func:`copystat` never returns failure." msgstr "" +"На платформах, де деякі або всі ці функції недоступні, коли буде " +"запропоновано змінити символічне посилання, :func:`copystat` скопіює все, що " +"зможе. :func:`copystat` ніколи не повертає помилку." msgid "Please see :data:`os.supports_follow_symlinks` for more information." msgstr "" +"Для отримання додаткової інформації перегляньте :data:`os." +"supports_follow_symlinks`." msgid "" "Raises an :ref:`auditing event ` ``shutil.copystat`` with " "arguments ``src``, ``dst``." msgstr "" +"Викликає :ref:`подію аудиту ` ``shutil.copystat`` з аргументами " +"``src``, ``dst``." msgid "" "Added *follow_symlinks* argument and support for Linux extended attributes." msgstr "" +"Додано аргумент *follow_symlinks* і підтримку розширених атрибутів Linux." msgid "" "Copies the file *src* to the file or directory *dst*. *src* and *dst* " @@ -195,12 +279,21 @@ msgid "" "filename from *src*. If *dst* specifies a file that already exists, it will " "be replaced. Returns the path to the newly created file." msgstr "" +"Копіює файл *src* у файл або каталог *dst*. *src* і *dst* повинні бути :term:" +"`шляховими об’єктами ` або рядками. Якщо *dst* визначає " +"каталог, файл буде скопійовано в *dst* з використанням базового імені файлу " +"з *src*. Якщо *dst* вказує на файл, який уже існує, його буде замінено. " +"Повертає шлях до щойно створеного файлу." msgid "" "If *follow_symlinks* is false, and *src* is a symbolic link, *dst* will be " "created as a symbolic link. If *follow_symlinks* is true and *src* is a " "symbolic link, *dst* will be a copy of the file *src* refers to." msgstr "" +"Якщо *follow_symlinks* має значення false, а *src* є символічним посиланням, " +"*dst* буде створено як символічне посилання. Якщо *follow_symlinks* має " +"значення true і *src* є символічним посиланням, *dst* буде копією файлу, на " +"який посилається *src*." msgid "" ":func:`~shutil.copy` copies the file data and the file's permission mode " @@ -208,15 +301,23 @@ msgid "" "modification times, is not preserved. To preserve all file metadata from the " "original, use :func:`~shutil.copy2` instead." msgstr "" +":func:`~shutil.copy` копіює дані файлу та режим дозволу файлу (див. :func:" +"`os.chmod`). Інші метадані, наприклад час створення та модифікації файлу, не " +"зберігаються. Щоб зберегти всі метадані файлу з оригіналу, замість цього " +"використовуйте :func:`~shutil.copy2`." msgid "" "Added *follow_symlinks* argument. Now returns path to the newly created file." msgstr "" +"Додано аргумент *follow_symlinks*. Тепер повертає шлях до щойно створеного " +"файлу." msgid "" "Identical to :func:`~shutil.copy` except that :func:`copy2` also attempts to " "preserve file metadata." msgstr "" +"Ідентичний :func:`~shutil.copy` за винятком того, що :func:`copy2` також " +"намагається зберегти метадані файлу." msgid "" "When *follow_symlinks* is false, and *src* is a symbolic link, :func:`copy2` " @@ -226,35 +327,56 @@ msgid "" "unavailable, :func:`copy2` will preserve all the metadata it can; :func:" "`copy2` never raises an exception because it cannot preserve file metadata." msgstr "" +"Когда *follow_symlinks* имеет значение false, а *src* является символической " +"ссылкой, :func:`copy2` пытается скопировать все метаданные из символической " +"ссылки *src* во вновь созданную символическую ссылку *dst*. Однако эта " +"функция доступна не на всех платформах. На платформах, где некоторые или все " +"эти функции недоступны, :func:`copy2` сохранит все возможные метаданные; :" +"func:`copy2` никогда не вызывает исключение, поскольку не может сохранить " +"метаданные файла." msgid "" ":func:`copy2` uses :func:`copystat` to copy the file metadata. Please see :" "func:`copystat` for more information about platform support for modifying " "symbolic link metadata." msgstr "" +":func:`copy2` використовує :func:`copystat` для копіювання метаданих файлу. " +"Перегляньте :func:`copystat` для отримання додаткової інформації про " +"підтримку платформи для зміни метаданих символічних посилань." msgid "" "Added *follow_symlinks* argument, try to copy extended file system " "attributes too (currently Linux only). Now returns path to the newly created " "file." msgstr "" +"Додано аргумент *follow_symlinks*, також спробуйте скопіювати розширені " +"атрибути файлової системи (наразі лише для Linux). Тепер повертає шлях до " +"щойно створеного файлу." msgid "" "This factory function creates a function that can be used as a callable for :" "func:`copytree`\\'s *ignore* argument, ignoring files and directories that " "match one of the glob-style *patterns* provided. See the example below." msgstr "" +"Ця фабрична функція створює функцію, яку можна використовувати як виклик для " +"аргументу *ignore* :func:`copytree`\\, ігноруючи файли та каталоги, які " +"відповідають одному з наданих *шаблонів* стилю glob. Дивіться приклад нижче." msgid "" "Recursively copy an entire directory tree rooted at *src* to a directory " "named *dst* and return the destination directory. All intermediate " "directories needed to contain *dst* will also be created by default." msgstr "" +"Рекурсивно скопіюйте все дерево каталогів із коренем *src* до каталогу з " +"назвою *dst* і поверніть каталог призначення. Усі проміжні каталоги, які " +"повинні містити *dst*, також будуть створені за замовчуванням." msgid "" "Permissions and times of directories are copied with :func:`copystat`, " "individual files are copied using :func:`~shutil.copy2`." msgstr "" +"Дозволи та час каталогів копіюються за допомогою :func:`copystat`, окремі " +"файли копіюються за допомогою :func:`~shutil.copy2`." msgid "" "If *symlinks* is true, symbolic links in the source tree are represented as " @@ -262,6 +384,11 @@ msgid "" "be copied as far as the platform allows; if false or omitted, the contents " "and metadata of the linked files are copied to the new tree." msgstr "" +"Якщо *symlinks* має значення true, символічні посилання у вихідному дереві " +"представлені як символічні посилання в новому дереві, а метадані " +"оригінальних посилань буде скопійовано, наскільки це дозволяє платформа; " +"якщо false або пропущено, вміст і метадані пов’язаних файлів копіюються до " +"нового дерева." msgid "" "When *symlinks* is false, if the file pointed to by the symlink doesn't " @@ -271,6 +398,12 @@ msgid "" "exception. Notice that this option has no effect on platforms that don't " "support :func:`os.symlink`." msgstr "" +"Когда *symlinks* имеет значение false и файл, на который указывает " +"символическая ссылка, не существует, исключение будет добавлено в список " +"ошибок, возникающих в исключении :exc:`Error` в конце процесса копирования. " +"Вы можете установить необязательный флаг *ignore_dangling_symlinks* в " +"значение true, если хотите отключить это исключение. Обратите внимание, что " +"эта опция не влияет на платформы, которые не поддерживают :func:`os.symlink`." msgid "" "If *ignore* is given, it must be a callable that will receive as its " @@ -283,10 +416,21 @@ msgid "" "process. :func:`ignore_patterns` can be used to create such a callable that " "ignores names based on glob-style patterns." msgstr "" +"Якщо задано *ignore*, це має бути виклик, який отримає як аргументи каталог, " +"який відвідує :func:`copytree`, і список його вмісту, який повертає :func:" +"`os.listdir`. Оскільки :func:`copytree` викликається рекурсивно, *ignore* " +"викликається один раз для кожного каталогу, який копіюється. Викликаний має " +"повертати послідовність імен каталогу та файлу відносно поточного каталогу " +"(тобто підмножину елементів у другому аргументі); ці імена будуть " +"проігноровані в процесі копіювання. :func:`ignore_patterns` можна " +"використати для створення такого виклику, який ігнорує імена на основі " +"шаблонів у стилі glob." msgid "" "If exception(s) occur, an :exc:`Error` is raised with a list of reasons." msgstr "" +"Якщо трапляються винятки, виникає повідомлення :exc:`Error` зі списком " +"причин." msgid "" "If *copy_function* is given, it must be a callable that will be used to copy " @@ -294,6 +438,11 @@ msgid "" "as arguments. By default, :func:`~shutil.copy2` is used, but any function " "that supports the same signature (like :func:`~shutil.copy`) can be used." msgstr "" +"Якщо задано *copy_function*, це має бути виклик, який використовуватиметься " +"для копіювання кожного файлу. Він буде викликаний із вихідним шляхом і " +"цільовим шляхом як аргументами. За замовчуванням використовується :func:" +"`~shutil.copy2`, але можна використовувати будь-яку функцію, яка підтримує " +"такий самий підпис (наприклад, :func:`~shutil.copy`)." msgid "" "If *dirs_exist_ok* is false (the default) and *dst* already exists, a :exc:" @@ -302,23 +451,34 @@ msgid "" "within the *dst* tree will be overwritten by corresponding files from the " "*src* tree." msgstr "" +"Якщо *dirs_exist_ok* має значення false (за замовчуванням), а *dst* уже " +"існує, виникає :exc:`FileExistsError`. Якщо *dirs_exist_ok* має значення " +"true, операція копіювання продовжуватиметься, якщо буде виявлено існуючі " +"каталоги, а файли в дереві *dst* будуть перезаписані відповідними файлами з " +"дерева *src*." msgid "" "Raises an :ref:`auditing event ` ``shutil.copytree`` with " "arguments ``src``, ``dst``." msgstr "" +"Викликає :ref:`подію аудиту ` ``shutil.copytree`` з аргументами " +"``src``, ``dst``." msgid "" "Added the *copy_function* argument to be able to provide a custom copy " "function. Added the *ignore_dangling_symlinks* argument to silence dangling " "symlinks errors when *symlinks* is false." msgstr "" +"Додано аргумент *copy_function*, щоб мати можливість надати спеціальну " +"функцію копіювання. Додано аргумент *ignore_dangling_symlinks*, щоб вимкнути " +"помилки висячих символьних посилань, коли *symlinks* має значення false." msgid "Copy metadata when *symlinks* is false. Now returns *dst*." msgstr "" +"Копіювати метадані, якщо *symlinks* має значення false. Тепер повертає *dst*." msgid "Added the *dirs_exist_ok* parameter." -msgstr "" +msgstr "Добавлен параметр *dirs_exist_ok*." msgid "" "Delete an entire directory tree; *path* must point to a directory (but not a " @@ -327,11 +487,19 @@ msgid "" "handled by calling a handler specified by *onexc* or *onerror* or, if both " "are omitted, exceptions are propagated to the caller." msgstr "" +"Удалить все дерево каталогов; *путь* должен указывать на каталог (но не на " +"символическую ссылку на каталог). Если *ignore_errors* имеет значение true, " +"ошибки, возникающие в результате неудачного удаления, будут игнорироваться; " +"если false или опущено, такие ошибки обрабатываются путем вызова " +"обработчика, указанного *onexc* или *onerror*, или, если оба опущены, " +"исключения передаются вызывающей стороне." msgid "" "This function can support :ref:`paths relative to directory descriptors " "`." msgstr "" +"Ця функція може підтримувати :ref:`шляхи відносно дескрипторів каталогу " +"`." msgid "" "On platforms that support the necessary fd-based functions a symlink attack " @@ -342,11 +510,21 @@ msgid "" "Applications can use the :data:`rmtree.avoids_symlink_attacks` function " "attribute to determine which case applies." msgstr "" +"На платформах, які підтримують необхідні функції на основі fd, за " +"замовчуванням використовується стійка до атак символічних посилань версія :" +"func:`rmtree`. На інших платформах реалізація :func:`rmtree` чутлива до " +"атаки через символічні посилання: за належного часу та обставин зловмисники " +"можуть маніпулювати символічними посиланнями у файловій системі, щоб " +"видалити файли, до яких вони не мали б доступу інакше. Програми можуть " +"використовувати атрибут функції :data:`rmtree.avoids_symlink_attacks`, щоб " +"визначити, який регістр застосовний." msgid "" "If *onexc* is provided, it must be a callable that accepts three parameters: " "*function*, *path*, and *excinfo*." msgstr "" +"Если указан *onexc*, это должен быть вызываемый объект, принимающий три " +"параметра: *function*, *path* и *excinfo*." msgid "" "The first parameter, *function*, is the function which raised the exception; " @@ -355,60 +533,93 @@ msgid "" "*excinfo*, is the exception that was raised. Exceptions raised by *onexc* " "will not be caught." msgstr "" +"Первый параметр, *function*, — это функция, вызвавшая исключение; это " +"зависит от платформы и реализации. Второй параметр, *path*, будет именем " +"пути, передаваемым в *function*. Третий параметр, *excinfo*, является " +"возникшим исключением. Исключения, вызванные *onexc*, не будут перехвачены." msgid "" "The deprecated *onerror* is similar to *onexc*, except that the third " "parameter it receives is the tuple returned from :func:`sys.exc_info`." msgstr "" +"Устаревший *onerror* аналогичен *onexc*, за исключением того, что третий " +"параметр, который он получает, — это кортеж, возвращаемый из :func:`sys." +"exc_info`." + +msgid "" +":ref:`shutil-rmtree-example` for an example of handling the removal of a " +"directory tree that contains read-only files." +msgstr "" +":ref:`shutil-rmtree-example` para um exemplo de tratamento da remoção de uma " +"árvore de diretórios que contém arquivos somente leitura." msgid "" "Raises an :ref:`auditing event ` ``shutil.rmtree`` with arguments " "``path``, ``dir_fd``." msgstr "" +"Вызывает :ref:`событие аудита ``shutil.rmtree`` с аргументами " +"``path``, ``dir_fd``." msgid "" "Added a symlink attack resistant version that is used automatically if " "platform supports fd-based functions." msgstr "" +"Додано версію, стійку до атак символічних посилань, яка використовується " +"автоматично, якщо платформа підтримує функції на основі fd." msgid "" "On Windows, will no longer delete the contents of a directory junction " "before removing the junction." msgstr "" +"У Windows більше не буде видаляти вміст з’єднання каталогу перед видаленням " +"з’єднання." msgid "Added the *dir_fd* parameter." -msgstr "" +msgstr "Додано параметр *dir_fd*." msgid "Added the *onexc* parameter, deprecated *onerror*." -msgstr "" +msgstr "Добавлен параметр *onexc*, устаревший *onerror*." msgid "" ":func:`!rmtree` now ignores :exc:`FileNotFoundError` exceptions for all but " "the top-level path. Exceptions other than :exc:`OSError` and subclasses of :" "exc:`!OSError` are now always propagated to the caller." msgstr "" +":func:`!rmtree` теперь игнорирует исключения :exc:`FileNotFoundError` для " +"всех путей, кроме пути верхнего уровня. Исключения, кроме :exc:`OSError` и " +"подклассов :exc:`!OSError`, теперь всегда передаются вызывающей стороне." msgid "" "Indicates whether the current platform and implementation provides a symlink " "attack resistant version of :func:`rmtree`. Currently this is only true for " "platforms supporting fd-based directory access functions." msgstr "" +"Вказує, чи поточна платформа та реалізація забезпечують стійку до атак " +"символічних посилань версію :func:`rmtree`. Наразі це стосується лише " +"платформ, які підтримують функції доступу до каталогу на основі fd." msgid "" "Recursively move a file or directory (*src*) to another location and return " "the destination." msgstr "" +"Рекурсивно переместите файл или каталог (*src*) в другое место и верните " +"место назначения." msgid "" "If *dst* is an existing directory or a symlink to a directory, then *src* is " "moved inside that directory. The destination path in that directory must not " "already exist." msgstr "" +"Если *dst* — существующий каталог или символическая ссылка на каталог, то " +"*src* перемещается внутрь этого каталога. Путь назначения в этом каталоге " +"еще не должен существовать." msgid "" "If *dst* already exists but is not a directory, it may be overwritten " "depending on :func:`os.rename` semantics." msgstr "" +"Если *dst* уже существует, но не является каталогом, он может быть " +"перезаписан в зависимости от семантики :func:`os.rename`." msgid "" "If the destination is on the current filesystem, then :func:`os.rename` is " @@ -416,6 +627,11 @@ msgid "" "and then removed. In case of symlinks, a new symlink pointing to the target " "of *src* will be created as the destination and *src* will be removed." msgstr "" +"Если место назначения находится в текущей файловой системе, то используется :" +"func:`os.rename`. В противном случае *src* копируется в место назначения с " +"помощью *copy_function*, а затем удаляется. В случае символических ссылок в " +"качестве места назначения будет создана новая символическая ссылка, " +"указывающая на цель *src*, а *src* будет удален." msgid "" "If *copy_function* is given, it must be a callable that takes two arguments, " @@ -426,69 +642,98 @@ msgid "" "*copy_function* allows the move to succeed when it is not possible to also " "copy the metadata, at the expense of not copying any of the metadata." msgstr "" +"Если указана *copy_function*, она должна быть вызываемой функцией, которая " +"принимает два аргумента: *src* и пункт назначения, и будет использоваться " +"для копирования *src* в пункт назначения, если :func:`os.rename` не может " +"быть использована. Если источником является каталог, вызывается :func:" +"`copytree`, передавая ему *copy_function*. По умолчанию *copy_function* — :" +"func:`copy2`. Использование :func:`~shutil.copy` в качестве *copy_function* " +"позволяет успешному перемещению, когда невозможно также скопировать " +"метаданные, за счет отсутствия копирования каких-либо метаданных." msgid "" "Raises an :ref:`auditing event ` ``shutil.move`` with arguments " "``src``, ``dst``." msgstr "" +"Викликає :ref:`подію аудиту ` ``shutil.move`` з аргументами " +"``src``, ``dst``." msgid "" "Added explicit symlink handling for foreign filesystems, thus adapting it to " "the behavior of GNU's :program:`mv`. Now returns *dst*." msgstr "" +"Додано явну обробку символічних посилань для іноземних файлових систем, " +"таким чином адаптуючи її до поведінки GNU :program:`mv`. Тепер повертає " +"*dst*." msgid "Added the *copy_function* keyword argument." -msgstr "" +msgstr "Додано аргумент ключового слова *copy_function*." msgid "Accepts a :term:`path-like object` for both *src* and *dst*." -msgstr "" +msgstr "Приймає :term:`path-like object` для *src* і *dst*." msgid "" "Return disk usage statistics about the given path as a :term:`named tuple` " "with the attributes *total*, *used* and *free*, which are the amount of " "total, used and free space, in bytes. *path* may be a file or a directory." msgstr "" +"Повертає статистику використання диска щодо заданого шляху як :term:`named " +"tuple` з атрибутами *total*, *used* і *free*, які є обсягом загального, " +"використаного та вільного простору в байтах. *шлях* може бути файлом або " +"каталогом." msgid "" "On Unix filesystems, *path* must point to a path within a **mounted** " "filesystem partition. On those platforms, CPython doesn't attempt to " "retrieve disk usage information from non-mounted filesystems." msgstr "" +"В файловых системах Unix *path* должен указывать на путь внутри " +"**смонтированного** раздела файловой системы. На этих платформах CPython не " +"пытается получить информацию об использовании диска из несмонтированных " +"файловых систем." msgid "On Windows, *path* can now be a file or directory." -msgstr "" +msgstr "У Windows *шлях* тепер може бути файлом або каталогом." msgid "Availability" msgstr "Dostępność" msgid "Change owner *user* and/or *group* of the given *path*." -msgstr "" +msgstr "Змінити власника *користувача* та/або *групу* вказаного *шляху*." msgid "" "*user* can be a system user name or a uid; the same applies to *group*. At " "least one argument is required." msgstr "" +"*user* може бути системним іменем користувача або uid; те саме стосується " +"*групи*. Потрібен принаймні один аргумент." msgid "See also :func:`os.chown`, the underlying function." -msgstr "" +msgstr "Дивіться також :func:`os.chown`, базову функцію." msgid "" "Raises an :ref:`auditing event ` ``shutil.chown`` with arguments " "``path``, ``user``, ``group``." msgstr "" +"Викликає :ref:`подію аудиту ` ``shutil.chown`` з аргументами " +"``path``, ``user``, ``group``." msgid "Added *dir_fd* and *follow_symlinks* parameters." -msgstr "" +msgstr "Добавлены параметры *dir_fd* и *follow_symlinks*." msgid "" "Return the path to an executable which would be run if the given *cmd* was " "called. If no *cmd* would be called, return ``None``." msgstr "" +"Повертає шлях до виконуваного файлу, який буде запущено, якщо буде викликано " +"заданий *cmd*. Якщо *cmd* не буде викликано, поверніть ``None``." msgid "" "*mode* is a permission mask passed to :func:`os.access`, by default " "determining if the file exists and is executable." msgstr "" +"*mode* — это маска разрешений, передаваемая в :func:`os.access`, по " +"умолчанию определяющая, существует ли файл и является ли он исполняемым." msgid "" "*path* is a \"``PATH`` string\" specifying the directories to look in, " @@ -496,6 +741,19 @@ msgid "" "`PATH` environment variable is read from :data:`os.environ`, falling back " "to :data:`os.defpath` if it is not set." msgstr "" +"*path* — это строка ``PATH``, определяющая каталоги для поиска, разделенная :" +"data:`os.pathsep`. Если *path* не указан, переменная среды :envvar:`PATH` " +"считывается из :data:`os.environ`, возвращаясь к :data:`os.defpath`, если " +"она не установлена." + +msgid "" +"If *cmd* contains a directory component, :func:`!which` only checks the " +"specified path directly and does not search the directories listed in *path* " +"or in the system's :envvar:`PATH` environment variable." +msgstr "" +"Se *cmd* contiver um componente de diretório, :func:`!which` verificará " +"apenas o caminho especificado diretamente e não pesquisará os diretórios " +"listados em *path* ou na variável de ambiente :envvar:`PATH` do sistema." msgid "" "On Windows, the current directory is prepended to the *path* if *mode* does " @@ -505,6 +763,12 @@ msgid "" "consulting the current working directory for executables: set the " "environment variable ``NoDefaultCurrentDirectoryInExePath``." msgstr "" +"В Windows текущий каталог добавляется к *path*, если *mode* не включает ``os." +"X_OK``. Когда *mode* включает ``os.X_OK``, Windows API " +"``NeedCurrentDirectoryForExePathW`` будет обращаться к нему, чтобы " +"определить, следует ли добавлять текущий каталог к ​​*path*. Чтобы избежать " +"обращения к текущему рабочему каталогу для исполняемых файлов: установите " +"переменную среды NoDefaultCurrentDirectoryInExePath." msgid "" "Also on Windows, the :envvar:`PATHEXT` environment variable is used to " @@ -513,6 +777,11 @@ msgid "" "to know that it should look for ``python.exe`` within the *path* " "directories. For example, on Windows::" msgstr "" +"Также в Windows переменная среды :envvar:`PATHEXT` используется для " +"разрешения команд, которые, возможно, еще не содержат расширения. Например, " +"если вы вызываете ``shutil.that(\"python\")``, :func:`который` будет искать " +"``PATHEXT``, чтобы знать, что он должен искать ``python.exe`` в *path * " +"каталоги. Например, в Windows::" msgid "" ">>> shutil.which(\"python\")\n" @@ -525,16 +794,22 @@ msgid "" "This is also applied when *cmd* is a path that contains a directory " "component::" msgstr "" +"Это также применяется, когда *cmd* — это путь, содержащий компонент " +"каталога::" msgid "" ">>> shutil.which(\"C:\\\\Python33\\\\python\")\n" "'C:\\\\Python33\\\\python.EXE'" msgstr "" +">>> shutil.which(\"C:\\\\Python33\\\\python\")\n" +"'C:\\\\Python33\\\\python.EXE'" msgid "" "The :class:`bytes` type is now accepted. If *cmd* type is :class:`bytes`, " "the result type is also :class:`bytes`." msgstr "" +"Тип :class:`bytes` тепер прийнятний. Якщо тип *cmd* :class:`bytes`, тип " +"результату також :class:`bytes`." msgid "" "On Windows, the current directory is no longer prepended to the search path " @@ -545,15 +820,25 @@ msgid "" "extension that is in ``PATHEXT``; and filenames that have no extension can " "now be found." msgstr "" +"В Windows текущий каталог больше не добавляется к пути поиска, если *mode* " +"включает ``os.X_OK`` и WinAPI ``NeedCurrentDirectoryForExePathW(cmd)`` имеет " +"значение false, в противном случае текущий каталог добавляется в начало, " +"даже если он уже есть. в пути поиска; ``PATHEXT`` теперь используется, даже " +"если *cmd* включает компонент каталога или заканчивается расширением, " +"которое находится в ``PATHEXT``; и теперь можно найти имена файлов без " +"расширения." msgid "" "This exception collects exceptions that are raised during a multi-file " "operation. For :func:`copytree`, the exception argument is a list of 3-" "tuples (*srcname*, *dstname*, *exception*)." msgstr "" +"Цей виняток збирає винятки, які виникають під час операції з кількома " +"файлами. Для :func:`copytree` аргумент винятку — це список із 3-х кортежів " +"(*srcname*, *dstname*, *exception*)." msgid "Platform-dependent efficient copy operations" -msgstr "" +msgstr "Залежні від платформи ефективні операції копіювання" msgid "" "Starting from Python 3.8, all functions involving a file copy (:func:" @@ -563,9 +848,18 @@ msgid "" "copying operation occurs within the kernel, avoiding the use of userspace " "buffers in Python as in \"``outfd.write(infd.read())``\"." msgstr "" +"Починаючи з Python 3.8, усі функції, пов’язані з копіюванням файлу (:func:" +"`copyfile`, :func:`~shutil.copy`, :func:`copy2`, :func:`copytree` та :func:" +"`move` ) може використовувати специфічні для платформи системні виклики " +"\"швидкого копіювання\" для більш ефективного копіювання файлу (див. :issue:" +"`33671`). \"швидке копіювання\" означає, що операція копіювання відбувається " +"всередині ядра, уникаючи використання буферів простору користувача в Python, " +"як у \"``outfd.write(infd.read())``\"." msgid "On macOS `fcopyfile`_ is used to copy the file content (not metadata)." msgstr "" +"У macOS `fcopyfile`_ використовується для копіювання вмісту файлу (а не " +"метаданих)." msgid "On Linux :func:`os.sendfile` is used." msgstr "" @@ -575,32 +869,45 @@ msgid "" "instead of 64 KiB) and a :func:`memoryview`-based variant of :func:`shutil." "copyfileobj` is used." msgstr "" +"У Windows :func:`shutil.copyfile` використовує більший розмір буфера за " +"замовчуванням (1 МіБ замість 64 КіБ) і використовується варіант :func:" +"`memoryview` на основі :func:`shutil.copyfileobj`." 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:" "`copyfileobj` function internally." msgstr "" +"Якщо операція швидкого копіювання зазнала невдачі і дані не були записані в " +"цільовий файл, програма shutil мовчки повернеться до використання менш " +"ефективної внутрішньої функції :func:`copyfileobj`." msgid "copytree example" -msgstr "" +msgstr "приклад копіювання" msgid "An example that uses the :func:`ignore_patterns` helper::" -msgstr "" +msgstr "Приклад, який використовує помічник :func:`ignore_patterns`::" msgid "" "from shutil import copytree, ignore_patterns\n" "\n" "copytree(source, destination, ignore=ignore_patterns('*.pyc', 'tmp*'))" msgstr "" +"from shutil import copytree, ignore_patterns\n" +"\n" +"copytree(source, destination, ignore=ignore_patterns('*.pyc', 'tmp*'))" msgid "" "This will copy everything except ``.pyc`` files and files or directories " "whose name starts with ``tmp``." msgstr "" +"Буде скопійовано все, крім файлів ``.pyc`` і файлів або каталогів, назва " +"яких починається з ``tmp``." msgid "Another example that uses the *ignore* argument to add a logging call::" msgstr "" +"Інший приклад, який використовує аргумент *ignore* для додавання виклику " +"журналювання::" msgid "" "from shutil import copytree\n" @@ -612,9 +919,17 @@ msgid "" "\n" "copytree(source, destination, ignore=_logpath)" msgstr "" +"from shutil import copytree\n" +"import logging\n" +"\n" +"def _logpath(path, names):\n" +" logging.info('Working in %s', path)\n" +" return [] # nothing will be ignored\n" +"\n" +"copytree(source, destination, ignore=_logpath)" msgid "rmtree example" -msgstr "" +msgstr "приклад rmtree" msgid "" "This example shows how to remove a directory tree on Windows where some of " @@ -622,6 +937,10 @@ msgid "" "the readonly bit and reattempt the remove. Any subsequent failure will " "propagate. ::" msgstr "" +"В этом примере показано, как удалить дерево каталогов в Windows, где для " +"некоторых файлов установлен бит «только для чтения». Он использует обратный " +"вызов onexc, чтобы очистить бит только для чтения и повторить попытку " +"удаления. Любой последующий сбой будет распространяться. ::" msgid "" "import os, stat\n" @@ -634,25 +953,40 @@ msgid "" "\n" "shutil.rmtree(directory, onexc=remove_readonly)" msgstr "" +"import os, stat\n" +"import shutil\n" +"\n" +"def remove_readonly(func, path, _):\n" +" \"Clear the readonly bit and reattempt the removal\"\n" +" os.chmod(path, stat.S_IWRITE)\n" +" func(path)\n" +"\n" +"shutil.rmtree(directory, onexc=remove_readonly)" msgid "Archiving operations" -msgstr "" +msgstr "Архівні операції" msgid "Added support for the *xztar* format." -msgstr "" +msgstr "Додано підтримку формату *xztar*." msgid "" "High-level utilities to create and read compressed and archived files are " "also provided. They rely on the :mod:`zipfile` and :mod:`tarfile` modules." msgstr "" +"Також надаються утиліти високого рівня для створення та читання стиснених і " +"архівованих файлів. Вони покладаються на модулі :mod:`zipfile` і :mod:" +"`tarfile`." msgid "Create an archive file (such as zip or tar) and return its name." msgstr "" +"Створіть архівний файл (наприклад, zip або tar) і поверніть його назву." msgid "" "*base_name* is the name of the file to create, including the path, minus any " "format-specific extension." msgstr "" +"*base_name* — это имя создаваемого файла, включая путь, за вычетом " +"расширения, специфичного для формата." msgid "" "*format* is the archive format: one of \"zip\" (if the :mod:`zlib` module is " @@ -666,6 +1000,9 @@ msgid "" "all paths in the archive will be relative to it; for example, we typically " "chdir into *root_dir* before creating the archive." msgstr "" +"*root_dir* – це каталог, який буде кореневим каталогом архіву, усі шляхи в " +"архіві будуть відносними до нього; наприклад, ми зазвичай chdir в *root_dir* " +"перед створенням архіву." msgid "" "*base_dir* is the directory where we start archiving from; i.e. *base_dir* " @@ -673,32 +1010,45 @@ msgid "" "*base_dir* must be given relative to *root_dir*. See :ref:`shutil-archiving-" "example-with-basedir` for how to use *base_dir* and *root_dir* together." msgstr "" +"*base_dir* - це каталог, з якого ми починаємо архівування; тобто *base_dir* " +"буде загальним префіксом для всіх файлів і каталогів в архіві. *base_dir* " +"має бути задано відносно *root_dir*. Перегляньте :ref:`shutil-archiving-" +"example-with-basedir`, щоб дізнатися, як використовувати *base_dir* і " +"*root_dir* разом." msgid "*root_dir* and *base_dir* both default to the current directory." -msgstr "" +msgstr "*root_dir* і *base_dir* за замовчуванням є поточним каталогом." msgid "" "If *dry_run* is true, no archive is created, but the operations that would " "be executed are logged to *logger*." msgstr "" +"Якщо *dry_run* має значення true, архів не створюється, але операції, які " +"будуть виконані, реєструються в *logger*." msgid "" "*owner* and *group* are used when creating a tar archive. By default, uses " "the current owner and group." msgstr "" +"*власник* і *група* використовуються під час створення архіву tar. За " +"замовчуванням використовуються поточний власник і група." msgid "" "*logger* must be an object compatible with :pep:`282`, usually an instance " "of :class:`logging.Logger`." msgstr "" +"*logger* має бути об’єктом, сумісним з :pep:`282`, зазвичай екземпляром :" +"class:`logging.Logger`." msgid "The *verbose* argument is unused and deprecated." -msgstr "" +msgstr "Аргумент *verbose* не використовується та не підтримується." msgid "" "Raises an :ref:`auditing event ` ``shutil.make_archive`` with " "arguments ``base_name``, ``format``, ``root_dir``, ``base_dir``." msgstr "" +"Викликає :ref:`подію аудиту ` ``shutil.make_archive`` з " +"аргументами ``base_name``, ``format``, ``root_dir``, ``base_dir``." msgid "" "This function is not thread-safe when custom archivers registered with :func:" @@ -706,48 +1056,63 @@ msgid "" "case it temporarily changes the current working directory of the process to " "*root_dir* to perform archiving." msgstr "" +"Эта функция не является потокобезопасной, если пользовательские архиваторы, " +"зарегистрированные с помощью :func:`register_archive_format`, не " +"поддерживают аргумент *root_dir*. В этом случае он временно меняет текущий " +"рабочий каталог процесса на *root_dir* для выполнения архивирования." msgid "" "The modern pax (POSIX.1-2001) format is now used instead of the legacy GNU " "format for archives created with ``format=\"tar\"``." msgstr "" +"Сучасний формат pax (POSIX.1-2001) тепер використовується замість " +"застарілого формату GNU для архівів, створених за допомогою " +"``format=\"tar\"``." msgid "" "This function is now made thread-safe during creation of standard ``.zip`` " "and tar archives." msgstr "" +"Эта функция теперь стала потокобезопасной при создании стандартных архивов ." +"zip и tar." msgid "" "Return a list of supported formats for archiving. Each element of the " "returned sequence is a tuple ``(name, description)``." msgstr "" +"Повернути список підтримуваних форматів для архівування. Кожен елемент " +"повернутої послідовності є кортежем ``(назва, опис)``." msgid "By default :mod:`shutil` provides these formats:" -msgstr "" +msgstr "Типово :mod:`shutil` надає такі формати:" msgid "*zip*: ZIP file (if the :mod:`zlib` module is available)." -msgstr "" +msgstr "*zip*: ZIP-файл (якщо доступний модуль :mod:`zlib`)." msgid "" "*tar*: Uncompressed tar file. Uses POSIX.1-2001 pax format for new archives." msgstr "" +"*tar*: Нестиснутий файл tar. Використовує формат POSIX.1-2001 pax для нових " +"архівів." msgid "*gztar*: gzip'ed tar-file (if the :mod:`zlib` module is available)." -msgstr "" +msgstr "*gztar*: заархівований tar-файл (якщо доступний модуль :mod:`zlib`)." msgid "*bztar*: bzip2'ed tar-file (if the :mod:`bz2` module is available)." -msgstr "" +msgstr "*bztar*: bzip2-файл tar (якщо доступний модуль :mod:`bz2`)." msgid "*xztar*: xz'ed tar-file (if the :mod:`lzma` module is available)." -msgstr "" +msgstr "*xztar*: xz'ed tar-файл (якщо доступний модуль :mod:`lzma`)." msgid "" "You can register new formats or provide your own archiver for any existing " "formats, by using :func:`register_archive_format`." msgstr "" +"Ви можете зареєструвати нові формати або надати власний архіватор для будь-" +"яких існуючих форматів, використовуючи :func:`register_archive_format`." msgid "Register an archiver for the format *name*." -msgstr "" +msgstr "Зареєструйте архіватор для формату *назва*." msgid "" "*function* is the callable that will be used to unpack archives. The " @@ -756,6 +1121,11 @@ msgid "" "Further arguments are passed as keyword arguments: *owner*, *group*, " "*dry_run* and *logger* (as passed in :func:`make_archive`)." msgstr "" +"*функція* — це виклик, який використовуватиметься для розпакування архівів. " +"Викликаний отримає *base_name* файлу для створення, а потім *base_dir* (який " +"за замовчуванням :data:`os.curdir`), щоб розпочати архівування. Подальші " +"аргументи передаються як ключові аргументи: *owner*, *group*, *dry_run* і " +"*logger* (як передано в :func:`make_archive`)." msgid "" "If *function* has the custom attribute ``function.supports_root_dir`` set to " @@ -764,30 +1134,42 @@ msgid "" "*root_dir* before calling *function*. In this case :func:`make_archive` is " "not thread-safe." msgstr "" +"Если *function* имеет пользовательский атрибут function.supports_root_dir, " +"установленный в True, аргумент *root_dir* передается как аргумент ключевого " +"слова. В противном случае текущий рабочий каталог процесса временно " +"изменяется на *root_dir* перед вызовом *function*. В этом случае :func:" +"`make_archive` не является потокобезопасным." msgid "" "If given, *extra_args* is a sequence of ``(name, value)`` pairs that will be " "used as extra keywords arguments when the archiver callable is used." msgstr "" +"Якщо задано, *extra_args* — це послідовність пар ``(ім’я, значення)``, які " +"використовуватимуться як додаткові аргументи ключових слів, коли " +"використовується виклик архіватора." msgid "" "*description* is used by :func:`get_archive_formats` which returns the list " "of archivers. Defaults to an empty string." msgstr "" +"*опис* використовується :func:`get_archive_formats`, який повертає список " +"архіваторів. За замовчуванням порожній рядок." msgid "Added support for functions supporting the *root_dir* argument." -msgstr "" +msgstr "Добавлена ​​поддержка функций, поддерживающих аргумент *root_dir*." msgid "Remove the archive format *name* from the list of supported formats." -msgstr "" +msgstr "Видаліть формат архіву *назва* зі списку підтримуваних форматів." msgid "Unpack an archive. *filename* is the full path of the archive." -msgstr "" +msgstr "Розпакуйте архів. *ім’я файлу* — це повний шлях до архіву." msgid "" "*extract_dir* is the name of the target directory where the archive is " "unpacked. If not provided, the current working directory is used." msgstr "" +"*extract_dir* — назва цільового каталогу, куди розпаковується архів. Якщо не " +"вказано, використовується поточний робочий каталог." msgid "" "*format* is the archive format: one of \"zip\", \"tar\", \"gztar\", " @@ -810,6 +1192,8 @@ msgid "" "Raises an :ref:`auditing event ` ``shutil.unpack_archive`` with " "arguments ``filename``, ``extract_dir``, ``format``." msgstr "" +"Викликає :ref:`подію аудиту ` ``shutil.unpack_archive`` з " +"аргументами ``filename``, ``extract_dir``, ``format``." msgid "" "Never extract archives from untrusted sources without prior inspection. It " @@ -817,74 +1201,98 @@ msgid "" "*extract_dir* argument, e.g. members that have absolute filenames starting " "with \"/\" or filenames with two dots \"..\"." msgstr "" +"Ніколи не витягуйте архіви з ненадійних джерел без попередньої перевірки. " +"Можливо, що файли створюються поза шляхом, указаним у аргументі " +"*extract_dir*, наприклад. члени, які мають абсолютні імена файлів, що " +"починаються з \"/\" або імена файлів із двома крапками \"..\"." msgid "Accepts a :term:`path-like object` for *filename* and *extract_dir*." -msgstr "" +msgstr "Приймає :term:`path-like object` для *filename* і *extract_dir*." msgid "Added the *filter* argument." -msgstr "" +msgstr "Добавлен аргумент *filter*." msgid "" "Registers an unpack format. *name* is the name of the format and " "*extensions* is a list of extensions corresponding to the format, like ``." "zip`` for Zip files." msgstr "" +"Реєструє формат розпакування. *ім’я* — це назва формату, а *розширення* — це " +"список розширень, що відповідають формату, наприклад ``.zip`` для файлів Zip." msgid "" "*function* is the callable that will be used to unpack archives. The " "callable will receive:" msgstr "" +"*функция* — это вызываемая функция, которая будет использоваться для " +"распаковки архивов. Вызываемый получит:" msgid "the path of the archive, as a positional argument;" -msgstr "" +msgstr "путь к архиву, как позиционный аргумент;" msgid "" "the directory the archive must be extracted to, as a positional argument;" msgstr "" +"каталог, в который должен быть распакован архив, в качестве позиционного " +"аргумента;" msgid "" "possibly a *filter* keyword argument, if it was given to :func:" "`unpack_archive`;" msgstr "" +"возможно, аргумент ключевого слова *filter*, если он был передан :func:" +"`unpack_archive`;" msgid "" "additional keyword arguments, specified by *extra_args* as a sequence of " "``(name, value)`` tuples." msgstr "" +"дополнительные аргументы ключевого слова, указанные *extra_args* как " +"последовательность кортежей ``(имя, значение)``." msgid "" "*description* can be provided to describe the format, and will be returned " "by the :func:`get_unpack_formats` function." msgstr "" +"Для опису формату може бути надано *description*, яке буде повернено " +"функцією :func:`get_unpack_formats`." msgid "Unregister an unpack format. *name* is the name of the format." -msgstr "" +msgstr "Скасувати реєстрацію формату розпакування. *ім'я* - це назва формату." msgid "" "Return a list of all registered formats for unpacking. Each element of the " "returned sequence is a tuple ``(name, extensions, description)``." msgstr "" +"Повернути список усіх зареєстрованих форматів для розпакування. Кожен " +"елемент повернутої послідовності є кортежем ``(назва, розширення, опис)``." msgid "" "*zip*: ZIP file (unpacking compressed files works only if the corresponding " "module is available)." msgstr "" +"*zip*: ZIP-файл (розпакування стиснених файлів працює лише за наявності " +"відповідного модуля)." msgid "*tar*: uncompressed tar file." -msgstr "" +msgstr "*tar*: нестиснутий файл tar." msgid "" "You can register new formats or provide your own unpacker for any existing " "formats, by using :func:`register_unpack_format`." msgstr "" +"Ви можете зареєструвати нові формати або надати власний розпаковувач для " +"будь-яких існуючих форматів за допомогою :func:`register_unpack_format`." msgid "Archiving example" -msgstr "" +msgstr "Приклад архівування" msgid "" "In this example, we create a gzip'ed tar-file archive containing all files " "found in the :file:`.ssh` directory of the user::" msgstr "" +"У цьому прикладі ми створюємо архів tar-файлів у форматі gzip, який містить " +"усі файли, знайдені в каталозі :file:`.ssh` користувача::" msgid "" ">>> from shutil import make_archive\n" @@ -894,9 +1302,15 @@ msgid "" ">>> make_archive(archive_name, 'gztar', root_dir)\n" "'/Users/tarek/myarchive.tar.gz'" msgstr "" +">>> from shutil import make_archive\n" +">>> import os\n" +">>> archive_name = os.path.expanduser(os.path.join('~', 'myarchive'))\n" +">>> root_dir = os.path.expanduser(os.path.join('~', '.ssh'))\n" +">>> make_archive(archive_name, 'gztar', root_dir)\n" +"'/Users/tarek/myarchive.tar.gz'" msgid "The resulting archive contains:" -msgstr "" +msgstr "Отриманий архів містить:" msgid "" "$ tar -tzvf /Users/tarek/myarchive.tar.gz\n" @@ -909,15 +1323,27 @@ msgid "" "-rw-r--r-- tarek/staff 397 2008-06-09 13:26:54 ./id_rsa.pub\n" "-rw-r--r-- tarek/staff 37192 2010-02-06 18:23:10 ./known_hosts" msgstr "" +"$ tar -tzvf /Users/tarek/myarchive.tar.gz\n" +"drwx------ tarek/staff 0 2010-02-01 16:23:40 ./\n" +"-rw-r--r-- tarek/staff 609 2008-06-09 13:26:54 ./authorized_keys\n" +"-rwxr-xr-x tarek/staff 65 2008-06-09 13:26:54 ./config\n" +"-rwx------ tarek/staff 668 2008-06-09 13:26:54 ./id_dsa\n" +"-rwxr-xr-x tarek/staff 609 2008-06-09 13:26:54 ./id_dsa.pub\n" +"-rw------- tarek/staff 1675 2008-06-09 13:26:54 ./id_rsa\n" +"-rw-r--r-- tarek/staff 397 2008-06-09 13:26:54 ./id_rsa.pub\n" +"-rw-r--r-- tarek/staff 37192 2010-02-06 18:23:10 ./known_hosts" msgid "Archiving example with *base_dir*" -msgstr "" +msgstr "Приклад архівування з *base_dir*" msgid "" "In this example, similar to the `one above `_, we " "show how to use :func:`make_archive`, but this time with the usage of " "*base_dir*. We now have the following directory structure:" msgstr "" +"У цьому прикладі, подібному до `один вище `_, ми " +"показуємо, як використовувати :func:`make_archive`, але цього разу з " +"використанням *base_dir*. Тепер у нас є така структура каталогу:" msgid "" "$ tree tmp\n" @@ -928,11 +1354,20 @@ msgid "" " └── please_add.txt\n" " └── do_not_add.txt" msgstr "" +"$ tree tmp\n" +"tmp\n" +"└── root\n" +" └── structure\n" +" ├── content\n" +" └── please_add.txt\n" +" └── do_not_add.txt" msgid "" "In the final archive, :file:`please_add.txt` should be included, but :file:" "`do_not_add.txt` should not. Therefore we use the following::" msgstr "" +"У остаточному архіві слід включити :file:`please_add.txt`, а :file:" +"`do_not_add.txt` — ні. Тому ми використовуємо наступне:" msgid "" ">>> from shutil import make_archive\n" @@ -946,9 +1381,19 @@ msgid "" "... )\n" "'/Users/tarek/my_archive.tar'" msgstr "" +">>> from shutil import make_archive\n" +">>> import os\n" +">>> archive_name = os.path.expanduser(os.path.join('~', 'myarchive'))\n" +">>> make_archive(\n" +"... archive_name,\n" +"... 'tar',\n" +"... root_dir='tmp/root',\n" +"... base_dir='structure/content',\n" +"... )\n" +"'/Users/tarek/my_archive.tar'" msgid "Listing the files in the resulting archive gives us:" -msgstr "" +msgstr "Перелік файлів у отриманому архіві дає нам:" msgid "" "$ python -m tarfile -l /Users/tarek/myarchive.tar\n" @@ -960,22 +1405,28 @@ msgstr "" "structure/content/please_add.txt" msgid "Querying the size of the output terminal" -msgstr "" +msgstr "Запит розміру вихідного терміналу" msgid "Get the size of the terminal window." -msgstr "" +msgstr "Отримайте розмір вікна терміналу." msgid "" "For each of the two dimensions, the environment variable, ``COLUMNS`` and " "``LINES`` respectively, is checked. If the variable is defined and the value " "is a positive integer, it is used." msgstr "" +"Для кожного з двох вимірів перевіряється змінна середовища, ``COLUMNS`` і " +"``LINES`` відповідно. Якщо змінна визначена і значення є додатним цілим " +"числом, вона використовується." msgid "" "When ``COLUMNS`` or ``LINES`` is not defined, which is the common case, the " "terminal connected to :data:`sys.__stdout__` is queried by invoking :func:" "`os.get_terminal_size`." msgstr "" +"Якщо ``COLUMNS`` або ``LINES`` не визначені, що є звичайним випадком, " +"термінал, підключений до :data:`sys.__stdout__`, запитується через виклик :" +"func:`os.get_terminal_size`." msgid "" "If the terminal size cannot be successfully queried, either because the " @@ -984,31 +1435,41 @@ msgid "" "defaults to ``(80, 24)`` which is the default size used by many terminal " "emulators." msgstr "" +"Якщо розмір терміналу не може бути успішно запитаний через те, що система не " +"підтримує запити, або тому, що ми не підключені до терміналу, " +"використовується значення, указане в параметрі ``резервного``. ``fallback`` " +"за замовчуванням ``(80, 24)``, який є розміром за замовчуванням, який " +"використовується багатьма емуляторами терміналів." msgid "The value returned is a named tuple of type :class:`os.terminal_size`." msgstr "" +"Повернене значення є іменованим кортежем типу :class:`os.terminal_size`." msgid "" "See also: The Single UNIX Specification, Version 2, `Other Environment " "Variables`_." msgstr "" +"Дивіться також: Єдина специфікація UNIX, версія 2, Інші змінні середовища " +"(`Other Environment Variables`_)." msgid "" "The ``fallback`` values are also used if :func:`os.get_terminal_size` " "returns zeroes." msgstr "" +"Значения ``fallback`` также используются, если :func:`os.get_terminal_size` " +"возвращает нули." msgid "file" msgstr "plik" msgid "copying" -msgstr "" +msgstr "копирование" msgid "copying files" -msgstr "" +msgstr "копирование файлов" msgid "directory" -msgstr "" +msgstr "каталог" msgid "deleting" -msgstr "" +msgstr "удаление" diff --git a/library/signal.po b/library/signal.po index d4bd741804..666874e975 100644 --- a/library/signal.po +++ b/library/signal.po @@ -4,8 +4,7 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2022 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" @@ -13,8 +12,8 @@ msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -108,7 +107,7 @@ msgid "" msgstr "" msgid "Module contents" -msgstr "" +msgstr "Зміст модуля" msgid "" "signal (SIG*), handler (:const:`SIG_DFL`, :const:`SIG_IGN`) and sigmask (:" @@ -390,6 +389,9 @@ msgid "" "attribute of :class:`threading.Thread` objects to get a suitable value for " "*thread_id*." msgstr "" +"Використовуйте :func:`threading.get_ident` або атрибут :attr:`~threading." +"Thread.ident` об’єктів :class:`threading.Thread`, щоб отримати відповідне " +"значення для *thread_id*." msgid "" "If *signalnum* is 0, then no signal is sent, but error checking is still " diff --git a/library/site.po b/library/site.po index de9a6546e9..f286358ce8 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-02-07 14:17+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -210,7 +207,7 @@ msgid "Activation of rlcompleter and history was made automatic." msgstr "" msgid "Module contents" -msgstr "" +msgstr "Зміст модуля" msgid "A list of prefixes for site-packages directories." msgstr "" @@ -333,7 +330,7 @@ msgid "site-packages" msgstr "" msgid "directory" -msgstr "" +msgstr "каталог" msgid "# (hash)" msgstr "# (kratka)" @@ -351,7 +348,7 @@ msgid "package" msgstr "pakiet" msgid "configuration" -msgstr "" +msgstr "конфигурация" msgid "file" msgstr "plik" diff --git a/library/smtplib.po b/library/smtplib.po index 809ce2d7b5..ef012ee4f8 100644 --- a/library/smtplib.po +++ b/library/smtplib.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-02-14 14:17+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -44,6 +43,8 @@ msgid "" "This module does not work or is not available on WebAssembly. See :ref:`wasm-" "availability` for more information." msgstr "" +"Этот модуль не работает или недоступен в WebAssembly. См. :ref:`wasm-" +"availability` для получения дополнительной информации." msgid "" "An :class:`SMTP` instance encapsulates an SMTP connection. It has methods " @@ -103,6 +104,8 @@ msgid "" "If the *timeout* parameter is set to be zero, it will raise a :class:" "`ValueError` to prevent the creation of a non-blocking socket." msgstr "" +"Якщо параметр *timeout* дорівнює нулю, це викличе :class:`ValueError`, щоб " +"запобігти створенню неблокуючого сокета." msgid "" "An :class:`SMTP_SSL` instance behaves exactly the same as instances of :" @@ -118,7 +121,7 @@ msgid "" msgstr "" msgid "*context* was added." -msgstr "" +msgstr "додано *контекст*." msgid "The *source_address* argument was added." msgstr "" @@ -127,6 +130,9 @@ msgid "" "The class now supports hostname check with :attr:`ssl.SSLContext." "check_hostname` and *Server Name Indication* (see :const:`ssl.HAS_SNI`)." msgstr "" +"Класс теперь поддерживает проверку имени хоста с помощью :attr:`ssl." +"SSLContext.check_hostname` и *Индикации имени сервера* (см. :const:`ssl." +"HAS_SNI`)." msgid "" "If the *timeout* parameter is set to be zero, it will raise a :class:" @@ -134,7 +140,7 @@ msgid "" msgstr "" msgid "The deprecated *keyfile* and *certfile* parameters have been removed." -msgstr "" +msgstr "Устаревшие параметры *keyfile* и *certfile* были удалены." msgid "" "The LMTP protocol, which is very similar to ESMTP, is heavily based on the " @@ -664,7 +670,7 @@ msgid "SMTP" msgstr "" msgid "protocol" -msgstr "" +msgstr "протокол" msgid "Simple Mail Transfer Protocol" msgstr "" diff --git a/library/socket.po b/library/socket.po index c958581c76..d8816ada26 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\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: 2025-06-06 14:57+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -38,11 +34,16 @@ msgid "" "on all modern Unix systems, Windows, MacOS, and probably additional " "platforms." msgstr "" +"Цей модуль забезпечує доступ до інтерфейсу BSD *socket*. Він доступний у " +"всіх сучасних системах Unix, Windows, MacOS і, можливо, на додаткових " +"платформах." msgid "" "Some behavior may be platform dependent, since calls are made to the " "operating system socket APIs." msgstr "" +"Деяка поведінка може залежати від платформи, оскільки виклики здійснюються " +"до API сокетів операційної системи." msgid "Availability" msgstr "Dostępność" @@ -51,6 +52,8 @@ msgid "" "This module does not work or is not available on WebAssembly. See :ref:`wasm-" "availability` for more information." msgstr "" +"Этот модуль не работает или недоступен в WebAssembly. См. :ref:`wasm-" +"availability` для получения дополнительной информации." msgid "" "The Python interface is a straightforward transliteration of the Unix system " @@ -66,16 +69,16 @@ msgid "Module :mod:`socketserver`" msgstr "" msgid "Classes that simplify writing network servers." -msgstr "" +msgstr "Класи, які спрощують написання мережевих серверів." msgid "Module :mod:`ssl`" -msgstr "" +msgstr "Модуль :mod:`ssl`" msgid "A TLS/SSL wrapper for socket objects." -msgstr "" +msgstr "Обгортка TLS/SSL для об’єктів сокета." msgid "Socket families" -msgstr "" +msgstr "Сімейства розеток" msgid "" "Depending on the system and the build options, various socket families are " @@ -87,6 +90,9 @@ msgid "" "selected based on the address family specified when the socket object was " "created. Socket addresses are represented as follows:" msgstr "" +"Формат адреси, необхідний для певного об’єкта сокета, вибирається " +"автоматично на основі сімейства адрес, указаного під час створення об’єкта " +"сокета. Адреси сокетів представлені таким чином:" msgid "" "The address of an :const:`AF_UNIX` socket bound to a file system node is " @@ -104,7 +110,7 @@ msgid "" msgstr "" msgid "Writable :term:`bytes-like object` is now accepted." -msgstr "" +msgstr "Записуваний :term:`bytes-like object` тепер приймається." msgid "" "A pair ``(host, port)`` is used for the :const:`AF_INET` address family, " @@ -139,7 +145,7 @@ msgid "" msgstr "" msgid ":const:`AF_NETLINK` sockets are represented as pairs ``(pid, groups)``." -msgstr "" +msgstr ":const:`AF_NETLINK` сокети представлені як пари ``(pid, groups)``." msgid "" "Linux-only support for TIPC is available using the :const:`AF_TIPC` address " @@ -158,6 +164,8 @@ msgid "" "*scope* is one of :const:`TIPC_ZONE_SCOPE`, :const:`TIPC_CLUSTER_SCOPE`, " "and :const:`TIPC_NODE_SCOPE`." msgstr "" +"*scope* є одним із :const:`TIPC_ZONE_SCOPE`, :const:`TIPC_CLUSTER_SCOPE` та :" +"const:`TIPC_NODE_SCOPE`." msgid "" "If *addr_type* is :const:`TIPC_ADDR_NAME`, then *v1* is the server type, " @@ -173,6 +181,8 @@ msgid "" "If *addr_type* is :const:`TIPC_ADDR_ID`, then *v1* is the node, *v2* is the " "reference, and *v3* should be set to 0." msgstr "" +"Якщо *addr_type* дорівнює :const:`TIPC_ADDR_ID`, тоді *v1* є вузлом, *v2* є " +"посиланням, а *v3* має бути встановлено на 0." msgid "" "A tuple ``(interface, )`` is used for the :const:`AF_CAN` address family, " @@ -180,6 +190,11 @@ msgid "" "``'can0'``. The network interface name ``''`` can be used to receive packets " "from all network interfaces of this family." msgstr "" +"Кортеж ``(інтерфейс, )`` використовується для сімейства адрес :const:" +"`AF_CAN`, де *інтерфейс* — це рядок, що представляє назву мережевого " +"інтерфейсу, наприклад ``'can0'``. Ім'я мережевого інтерфейсу ``''`` можна " +"використовувати для отримання пакетів від усіх мережевих інтерфейсів цього " +"сімейства." msgid "" ":const:`CAN_ISOTP` protocol require a tuple ``(interface, rx_addr, " @@ -201,6 +216,12 @@ msgid "" "and unit number of the kernel control are known or if a registered ID is " "used." msgstr "" +"Строка или кортеж ``(id, unit)`` используется для протокола :const:" +"`SYSPROTO_CONTROL` семейства :const:`PF_SYSTEM`. Эта строка представляет " +"собой имя элемента управления ядра с использованием динамически назначаемого " +"идентификатора. Кортеж можно использовать, если известны идентификатор и " +"номер устройства управления ядром или если используется зарегистрированный " +"идентификатор." msgid "" ":const:`AF_BLUETOOTH` supports the following protocols and address formats:" @@ -228,6 +249,8 @@ msgid "" "On FreeBSD, NetBSD and DragonFly BSD it accepts ``bdaddr`` where ``bdaddr`` " "is the Bluetooth address as a string." msgstr "" +"在 FreeBSD, NetBSD 和 DragonFly BSD 上它接受 ``bdaddr`` 其中 ``bdaddr`` 是字" +"符串形式的蓝牙地址。" msgid "NetBSD and DragonFlyBSD support added." msgstr "" @@ -246,6 +269,9 @@ msgid "" "cryptography. An algorithm socket is configured with a tuple of two to four " "elements ``(type, name [, feat [, mask]])``, where:" msgstr "" +":const:`AF_ALG` — це інтерфейс для криптографії ядра на основі сокетів лише " +"для Linux. Сокет алгоритму налаштований за допомогою кортежу з двох-чотирьох " +"елементів ``(type, name [, feat [, mask]])``, де:" msgid "" "*type* is the algorithm type as string, e.g. ``aead``, ``hash``, " @@ -256,36 +282,47 @@ msgid "" "*name* is the algorithm name and operation mode as string, e.g. ``sha256``, " "``hmac(sha256)``, ``cbc(aes)`` or ``drbg_nopr_ctr_aes256``." msgstr "" +"*ім’я* — це назва алгоритму та режим роботи у вигляді рядка, напр. " +"``sha256``, ``hmac(sha256)``, ``cbc(aes)`` або ``drbg_nopr_ctr_aes256``." msgid "*feat* and *mask* are unsigned 32bit integers." -msgstr "" +msgstr "*feat* і *mask* — це 32-розрядні цілі числа без знаку." msgid "Some algorithm types require more recent Kernels." -msgstr "" +msgstr "Для некоторых типов алгоритмов требуются более свежие ядра." msgid "" ":const:`AF_VSOCK` allows communication between virtual machines and their " "hosts. The sockets are represented as a ``(CID, port)`` tuple where the " "context ID or CID and port are integers." msgstr "" +":const:`AF_VSOCK` дозволяє спілкуватися між віртуальними машинами та їх " +"хостами. Сокети представлені як кортеж ``(CID, порт)``, де ідентифікатор " +"контексту або CID і порт є цілими числами." msgid "See :manpage:`vsock(7)`" -msgstr "" +msgstr "См. :manpage:`vsock(7)`" msgid "" ":const:`AF_PACKET` is a low-level interface directly to network devices. The " "addresses are represented by the tuple ``(ifname, proto[, pkttype[, hatype[, " "addr]]])`` where:" msgstr "" +":const:`AF_PACKET` — это низкоуровневый интерфейс непосредственно с сетевыми " +"устройствами. Адреса представлены кортежем ``(ifname, proto[, pkttype[, " +"hatype[, addr]]])``, где:" msgid "*ifname* - String specifying the device name." -msgstr "" +msgstr "*ifname* - Рядок, що визначає назву пристрою." msgid "" "*proto* - The Ethernet protocol number. May be :data:`ETH_P_ALL` to capture " "all protocols, one of the :ref:`ETHERTYPE_* constants ` or any other Ethernet protocol number." msgstr "" +"*proto* — номер протокола Ethernet. Это может быть :data:`ETH_P_ALL` для " +"захвата всех протоколов, одна из констант :ref:`ETHERTYPE_* ` или любой другой номер протокола Ethernet." msgid "*pkttype* - Optional integer specifying the packet type:" msgstr "" @@ -294,7 +331,7 @@ msgid "``PACKET_HOST`` (the default) - Packet addressed to the local host." msgstr "" msgid "``PACKET_BROADCAST`` - Physical-layer broadcast packet." -msgstr "" +msgstr "``PACKET_BROADCAST`` - широкомовний пакет фізичного рівня." msgid "" "``PACKET_MULTICAST`` - Packet sent to a physical-layer multicast address." @@ -309,14 +346,18 @@ msgid "" "``PACKET_OUTGOING`` - Packet originating from the local host that is looped " "back to a packet socket." msgstr "" +"``PACKET_OUTGOING`` – Пакет, що надходить від локального хосту і " +"повертається до сокета пакета." msgid "*hatype* - Optional integer specifying the ARP hardware address type." -msgstr "" +msgstr "*hatype* – додаткове ціле число, що визначає тип апаратної адреси ARP." msgid "" "*addr* - Optional bytes-like object specifying the hardware physical " "address, whose interpretation depends on the device." msgstr "" +"*addr* – необов’язковий байтовий об’єкт, що вказує апаратну фізичну адресу, " +"інтерпретація якої залежить від пристрою." msgid "" ":const:`AF_QIPCRTR` is a Linux-only socket based interface for communicating " @@ -324,6 +365,10 @@ msgid "" "family is represented as a ``(node, port)`` tuple where the *node* and " "*port* are non-negative integers." msgstr "" +":const:`AF_QIPCRTR` — це інтерфейс на основі сокетів лише для Linux для " +"зв’язку зі службами, що працюють на співпроцесорах на платформах Qualcomm. " +"Сімейство адрес представлено як кортеж ``(вузол, порт)``, де *вузол* і " +"*порт* є невід’ємними цілими числами." msgid "" ":const:`IPPROTO_UDPLITE` is a variant of UDP which allows you to specify " @@ -371,7 +416,7 @@ msgid "" msgstr "" msgid "``HV_GUID_LOOPBACK`` - Used as a target to itself." -msgstr "" +msgstr "``HV_GUID_LOOPBACK`` — используется как цель для самого себя." msgid "" "``HV_GUID_PARENT`` - When used as a bind accepts connection from the parent " @@ -390,6 +435,12 @@ msgid "" "results from DNS resolution and/or the host configuration. For " "deterministic behavior use a numeric address in *host* portion." msgstr "" +"Якщо ви використовуєте ім’я хоста в частині *host* адреси сокета IPv4/v6, " +"програма може продемонструвати недетерміновану поведінку, оскільки Python " +"використовує першу адресу, повернуту з вирішення DNS. Адреса сокета буде " +"перетворена по-іншому в фактичну адресу IPv4/v6, залежно від результатів " +"розв’язання DNS та/або конфігурації хоста. Для детермінованої поведінки " +"використовуйте числову адресу в частині *host*." msgid "" "All errors raise exceptions. The normal exceptions for invalid argument " @@ -404,19 +455,19 @@ msgid "" msgstr "" msgid "Module contents" -msgstr "" +msgstr "Зміст модуля" msgid "The module :mod:`socket` exports the following elements." -msgstr "" +msgstr "Модуль :mod:`socket` експортує такі елементи." msgid "Exceptions" msgstr "Wyjątki" msgid "A deprecated alias of :exc:`OSError`." -msgstr "" +msgstr "Застарілий псевдонім :exc:`OSError`." msgid "Following :pep:`3151`, this class was made an alias of :exc:`OSError`." -msgstr "" +msgstr "Після :pep:`3151` цей клас отримав псевдонім :exc:`OSError`." msgid "" "A subclass of :exc:`OSError`, this exception is raised for address-related " @@ -426,6 +477,13 @@ msgid "" "call. *h_errno* is a numeric value, while *string* represents the " "description of *h_errno*, as returned by the :c:func:`hstrerror` C function." msgstr "" +"Підклас :exc:`OSError`, цей виняток виникає для помилок, пов’язаних з " +"адресою, тобто для функцій, які використовують *h_errno* в POSIX C API, " +"включаючи :func:`gethostbyname_ex` і :func:`gethostbyaddr`. Супровідним " +"значенням є пара ``(h_errno, string)``, яка представляє помилку, яку " +"повертає виклик бібліотеки. *h_errno* — це числове значення, тоді як " +"*string* представляє опис *h_errno*, який повертає функція :c:func:" +"`hstrerror` C." msgid "This class was made a subclass of :exc:`OSError`." msgstr "" @@ -473,6 +531,9 @@ msgid "" "addresses for any address family (either IPv4, IPv6, or any other) that can " "be used." msgstr "" +":const:`AF_UNSPEC` означает, что :func:`getaddrinfo` должен возвращать " +"адреса сокетов для любого семейства адресов (IPv4, IPv6 или любого другого), " +"которое можно использовать." msgid "" "These constants represent the socket types, used for the second argument to :" @@ -486,11 +547,16 @@ msgid "" "allow you to set some flags atomically (thus avoiding possible race " "conditions and the need for separate calls)." msgstr "" +"Ці дві константи, якщо їх визначено, можна комбінувати з типами сокетів і " +"дозволити вам встановлювати деякі прапори атомарно (таким чином уникаючи " +"можливих умов змагання та потреби в окремих викликах)." msgid "" "`Secure File Descriptor Handling `_ for a more thorough explanation." msgstr "" +"`Безопасная обработка файловых дескрипторов `_ для более подробного объяснения." msgid "" "Many constants of these forms, documented in the Unix documentation on " @@ -500,11 +566,19 @@ msgid "" "symbols that are defined in the Unix header files are defined; for a few " "symbols, default values are provided." msgstr "" +"Многие константы этих форм, описанные в документации Unix по сокетам и/или " +"протоколу IP, также определены в модуле сокета. Обычно они используются в " +"аргументах методов :meth:`~socket.setsockopt` и :meth:`~socket.getsockopt` " +"объектов сокетов. В большинстве случаев определяются только те символы, " +"которые определены в файлах заголовков Unix; для некоторых символов указаны " +"значения по умолчанию." msgid "" "``SO_DOMAIN``, ``SO_PROTOCOL``, ``SO_PEERSEC``, ``SO_PASSSEC``, " "``TCP_USER_TIMEOUT``, ``TCP_CONGESTION`` were added." msgstr "" +"Додано ``SO_DOMAIN``, ``SO_PROTOCOL``, ``SO_PEERSEC``, ``SO_PASSSEC``, " +"``TCP_USER_TIMEOUT``, ``TCP_CONGESTION``." msgid "" "On Windows, ``TCP_FASTOPEN``, ``TCP_KEEPCNT`` appear if run-time Windows " @@ -512,7 +586,7 @@ msgid "" msgstr "" msgid "``TCP_NOTSENT_LOWAT`` was added." -msgstr "" +msgstr "``TCP_NOTSENT_LOWAT`` було додано." msgid "" "On Windows, ``TCP_KEEPIDLE``, ``TCP_KEEPINTVL`` appear if run-time Windows " @@ -528,6 +602,8 @@ msgid "" "Added ``TCP_CONNECTION_INFO``. On MacOS this constant can be used in the " "same way that ``TCP_INFO`` is used on Linux and BSD." msgstr "" +"Добавлен ``TCP_CONNECTION_INFO``. В MacOS эту константу можно использовать " +"так же, как TCP_INFO в Linux и BSD." msgid "" "Added ``SO_RTABLE`` and ``SO_USER_COOKIE``. On OpenBSD and FreeBSD " @@ -543,12 +619,25 @@ msgid "" "``IP_BLOCK_SOURCE``, ``IP_ADD_SOURCE_MEMBERSHIP``, " "``IP_DROP_SOURCE_MEMBERSHIP``." msgstr "" +"Добавлены SO_RTABLE и SO_USER_COOKIE. В OpenBSD и FreeBSD соответственно эти " +"константы можно использовать так же, как SO_MARK в Linux. Также добавлены " +"отсутствующие параметры TCP-сокета из Linux: ``TCP_MD5SIG``, " +"``TCP_THIN_LINEAR_TIMEOUTS``, ``TCP_THIN_DUPACK``, ``TCP_REPAIR``, " +"``TCP_REPAIR_QUEUE``, ``TCP_QUEUE_SEQ``, ``TCP_REPAIR_OPTIONS`` , " +"``TCP_TIMESTAMP``, ``TCP_CC_INFO``, ``TCP_SAVE_SYN``, ``TCP_SAVED_SYN``, " +"``TCP_REPAIR_WINDOW``, ``TCP_FASTOPEN_CONNECT``, ``TCP_ULP``, " +"``TCP_MD5SIG_EXT``, `` `TCP_FASTOPEN_KEY``, ``TCP_FASTOPEN_NO_COOKIE``, " +"``TCP_ZEROCOPY_RECEIVE``, ``TCP_INQ``, ``TCP_TX_DELAY``. Добавлены " +"IP_PKTINFO, IP_UNBLOCK_SOURCE, IP_BLOCK_SOURCE, IP_ADD_SOURCE_MEMBERSHIP, " +"IP_DROP_SOURCE_MEMBERSHIP." msgid "" "Added ``SO_BINDTOIFINDEX``. On Linux this constant can be used in the same " "way that ``SO_BINDTODEVICE`` is used, but with the index of a network " "interface instead of its name." msgstr "" +"Добавлен ``SO_BINDTOIFINDEX``. В Linux эту константу можно использовать так " +"же, как SO_BINDTODEVICE, но с индексом сетевого интерфейса вместо его имени." msgid "" "Many constants of these forms, documented in the Linux documentation, are " @@ -559,7 +648,7 @@ msgid "NetBSD support was added." msgstr "" msgid "Restored missing ``CAN_RAW_ERR_FILTER`` on Linux." -msgstr "" +msgstr "在 Linux 上恢复缺失的 ``CAN_RAW_ERR_FILTER``。" msgid "" "CAN_BCM, in the CAN protocol family, is the broadcast manager (BCM) " @@ -576,6 +665,9 @@ msgid "" "This allows your application to send both CAN and CAN FD frames; however, " "you must accept both CAN and CAN FD frames when reading from the socket." msgstr "" +"Вмикає підтримку CAN FD у гнізді CAN_RAW. За замовчуванням це вимкнено. Це " +"дозволяє вашій програмі надсилати кадри CAN і CAN FD; однак під час читання " +"з роз’єму ви повинні приймати як CAN, так і CAN FD кадри." msgid "This constant is documented in the Linux documentation." msgstr "" @@ -584,11 +676,15 @@ msgid "" "Joins the applied CAN filters such that only CAN frames that match all given " "CAN filters are passed to user space." msgstr "" +"Об’єднує застосовані фільтри CAN, щоб у простір користувача передавалися " +"лише кадри CAN, які відповідають усім наданим фільтрам CAN." msgid "" "CAN_ISOTP, in the CAN protocol family, is the ISO-TP (ISO 15765-2) protocol. " "ISO-TP constants, documented in the Linux documentation." msgstr "" +"CAN_ISOTP у сімействі протоколів CAN є протоколом ISO-TP (ISO 15765-2). " +"Константи ISO-TP, задокументовані в документації Linux." msgid "" "CAN_J1939, in the CAN protocol family, is the SAE J1939 protocol. J1939 " @@ -599,6 +695,8 @@ msgid "" "These two constants, documented in the FreeBSD divert(4) manual page, are " "also defined in the socket module." msgstr "" +"Эти две константы, описанные на странице руководства FreeBSD divert(4), " +"также определены в модуле сокета." msgid "" ":data:`!ETH_P_ALL` can be used in the :class:`~socket.socket` constructor as " @@ -613,31 +711,41 @@ msgid "" "Constants for Windows' WSAIoctl(). The constants are used as arguments to " "the :meth:`~socket.socket.ioctl` method of socket objects." msgstr "" +"Константи для Windows WSAIoctl(). Константи використовуються як аргументи " +"методу :meth:`~socket.socket.ioctl` об’єктів сокета." msgid "``SIO_LOOPBACK_FAST_PATH`` was added." -msgstr "" +msgstr "``SIO_LOOPBACK_FAST_PATH`` було додано." msgid "" "TIPC related constants, matching the ones exported by the C socket API. See " "the TIPC documentation for more information." msgstr "" +"Константи, пов’язані з TIPC, що збігаються з тими, які експортує API сокета " +"C. Додаткову інформацію див. у документації TIPC." msgid "Constants for Linux Kernel cryptography." -msgstr "" +msgstr "Константи для криптографії ядра Linux." msgid "Constants for Linux host/guest communication." -msgstr "" +msgstr "Константи для зв’язку хост/гость Linux." msgid "" "This constant contains a boolean value which indicates if IPv6 is supported " "on this platform." msgstr "" +"Ця константа містить логічне значення, яке вказує, чи підтримується IPv6 на " +"цій платформі." msgid "" "These are string constants containing Bluetooth addresses with special " "meanings. For example, :const:`BDADDR_ANY` can be used to indicate any " "address when specifying the binding socket with :const:`BTPROTO_RFCOMM`." msgstr "" +"Це рядкові константи, що містять адреси Bluetooth зі спеціальними " +"значеннями. Наприклад, :const:`BDADDR_ANY` можна використовувати для " +"вказівки будь-якої адреси, коли вказується сокет прив’язки за допомогою :" +"const:`BTPROTO_RFCOMM`." msgid "" "For use with :const:`BTPROTO_HCI`. :const:`!HCI_FILTER` is only available on " @@ -649,6 +757,8 @@ msgid "" "Constant for Qualcomm's IPC router protocol, used to communicate with " "service providing remote processors." msgstr "" +"Константа для протоколу маршрутизатора IPC Qualcomm, який використовується " +"для зв’язку з віддаленими процесорами, що надають послуги." msgid "" "LOCAL_CREDS and LOCAL_CREDS_PERSISTENT can be used with SOCK_DGRAM, " @@ -657,11 +767,18 @@ msgid "" "sends for each read, SCM_CREDS2 must be then used for the latter for the " "message type." msgstr "" +"LOCAL_CREDS и LOCAL_CREDS_PERSISTENT могут использоваться с сокетами " +"SOCK_DGRAM, SOCK_STREAM, что эквивалентно Linux/DragonFlyBSD SO_PASSCRED, в " +"то время как LOCAL_CREDS отправляет учетные данные при первом чтении, " +"LOCAL_CREDS_PERSISTENT отправляет при каждом чтении, затем для последнего " +"необходимо использовать SCM_CREDS2 для типа сообщения." msgid "" "Constant to optimize CPU locality, to be used in conjunction with :data:" "`SO_REUSEPORT`." msgstr "" +"Константа для оптимизации локальности ЦП, которая будет использоваться " +"вместе с :data:`SO_REUSEPORT`." msgid "Constants for Windows Hyper-V sockets for host/guest communications." msgstr "" @@ -680,7 +797,7 @@ msgid "Functions" msgstr "Zadania" msgid "Creating sockets" -msgstr "" +msgstr "Створення сокетів" msgid "" "The following functions all create :ref:`socket objects `." @@ -697,6 +814,15 @@ msgid "" "of :const:`CAN_RAW`, :const:`CAN_BCM`, :const:`CAN_ISOTP` or :const:" "`CAN_J1939`." msgstr "" +"Створіть новий сокет, використовуючи вказане сімейство адрес, тип сокета та " +"номер протоколу. Сімейство адрес має бути :const:`AF_INET` (за " +"замовчуванням), :const:`AF_INET6`, :const:`AF_UNIX`, :const:`AF_CAN`, :const:" +"`AF_PACKET` або :const:`AF_RDS`. Тип сокета має бути :const:`SOCK_STREAM` " +"(за замовчуванням), :const:`SOCK_DGRAM`, :const:`SOCK_RAW` або, можливо, " +"одна з інших констант ``SOCK_``. Номер протоколу зазвичай дорівнює нулю і " +"може бути пропущений або у випадку, коли сімейство адрес :const:`AF_CAN`, " +"протокол має бути одним із :const:`CAN_RAW`, :const:`CAN_BCM`, :const:" +"`CAN_ISOTP` або :const:`CAN_J1939`." msgid "" "If *fileno* is specified, the values for *family*, *type*, and *proto* are " @@ -707,9 +833,17 @@ msgid "" "`socket.fromfd`, *fileno* will return the same socket and not a duplicate. " "This may help close a detached socket using :meth:`socket.close`." msgstr "" +"Если указано *fileno*, значения *family*, *type* и *proto* автоматически " +"определяются из указанного файлового дескриптора. Автоматическое обнаружение " +"можно отменить, вызвав функцию с явными аргументами *family*, *type* или " +"*proto*. Это влияет только на то, как Python представляет, например, " +"возвращаемое значение :meth:`socket.getpeername`, но не на реальный ресурс " +"ОС. В отличие от :func:`socket.fromfd`, *fileno* вернет тот же сокет, а не " +"его дубликат. Это может помочь закрыть отсоединенный сокет с помощью :meth:" +"`socket.close`." msgid "The newly created socket is :ref:`non-inheritable `." -msgstr "" +msgstr "Новостворений сокет :ref:`не успадковується `." msgid "" "Raises an :ref:`auditing event ` ``socket.__new__`` with arguments " @@ -717,28 +851,35 @@ msgid "" msgstr "" msgid "The AF_CAN family was added. The AF_RDS family was added." -msgstr "" +msgstr "Додано сімейство AF_CAN. Додано сімейство AF_RDS." msgid "The CAN_BCM protocol was added." msgstr "" msgid "The returned socket is now non-inheritable." -msgstr "" +msgstr "Повернений сокет тепер не успадковується." msgid "The CAN_ISOTP protocol was added." -msgstr "" +msgstr "Додано протокол CAN_ISOTP." msgid "" "When :const:`SOCK_NONBLOCK` or :const:`SOCK_CLOEXEC` bit flags are applied " "to *type* they are cleared, and :attr:`socket.type` will not reflect them. " "They are still passed to the underlying system ``socket()`` call. Therefore," msgstr "" +"Когда битовые флаги :const:`SOCK_NONBLOCK` или :const:`SOCK_CLOEXEC` " +"применяются к *type*, они очищаются, и :attr:`socket.type` не будет их " +"отражать. Они по-прежнему передаются базовому системному вызову Socket(). " +"Поэтому," msgid "" "sock = socket.socket(\n" " socket.AF_INET,\n" " socket.SOCK_STREAM | socket.SOCK_NONBLOCK)" msgstr "" +"sock = socket.socket(\n" +" socket.AF_INET,\n" +" socket.SOCK_STREAM | socket.SOCK_NONBLOCK)" msgid "" "will still create a non-blocking socket on OSes that support " @@ -749,7 +890,7 @@ msgid "The CAN_J1939 protocol was added." msgstr "" msgid "The IPPROTO_MPTCP protocol was added." -msgstr "" +msgstr "Додано протокол IPPROTO_MPTCP." msgid "" "Build a pair of connected socket objects using the given address family, " @@ -760,7 +901,7 @@ msgid "" msgstr "" msgid "The newly created sockets are :ref:`non-inheritable `." -msgstr "" +msgstr "Новостворені сокети :ref:`не успадковуються `." msgid "" "The returned socket objects now support the whole socket API, rather than a " @@ -768,10 +909,10 @@ msgid "" msgstr "" msgid "The returned sockets are now non-inheritable." -msgstr "" +msgstr "Повернені сокети тепер не успадковуються." msgid "Windows support added." -msgstr "" +msgstr "Додано підтримку Windows." msgid "" "Connect to a TCP service listening on the internet *address* (a 2-tuple " @@ -782,18 +923,33 @@ msgid "" "succeeds. This makes it easy to write clients that are compatible to both " "IPv4 and IPv6." msgstr "" +"Підключіться до служби TCP, яка прослуховує *адресу* в Інтернеті (2-кортеж " +"``(хост, порт)``) і поверніть об’єкт сокета. Це функція вищого рівня, ніж :" +"meth:`socket.connect`: якщо *host* є нечисловим ім’ям хоста, вона " +"намагатиметься вирішити його як для :data:`AF_INET`, так і для :data:" +"`AF_INET6`, а потім спробуйте підключитися до всіх можливих адрес по черзі, " +"доки підключення не вдасться. Це полегшує написання клієнтів, сумісних як з " +"IPv4, так і з IPv6." msgid "" "Passing the optional *timeout* parameter will set the timeout on the socket " "instance before attempting to connect. If no *timeout* is supplied, the " "global default timeout setting returned by :func:`getdefaulttimeout` is used." msgstr "" +"Передача додаткового параметра *timeout* встановить час очікування для " +"екземпляра сокета перед спробою підключення. Якщо *тайм-аут* не вказано, " +"використовується глобальне налаштування тайм-ауту за умовчанням, яке " +"повертає :func:`getdefaulttimeout`." msgid "" "If supplied, *source_address* must be a 2-tuple ``(host, port)`` for the " "socket to bind to as its source address before connecting. If host or port " "are '' or 0 respectively the OS default behavior will be used." msgstr "" +"Якщо надано, *source_address* має бути 2-кортежем ``(хост, порт)``, щоб " +"сокет прив’язувався до своєї адреси джерела перед підключенням. Якщо хост " +"або порт мають значення '' або 0 відповідно, буде використано типову " +"поведінку ОС." msgid "" "When a connection cannot be created, an exception is raised. By default, it " @@ -801,9 +957,12 @@ msgid "" "``True``, it is an :exc:`ExceptionGroup` containing the errors of all " "attempts." msgstr "" +"Если соединение не может быть создано, возникает исключение. По умолчанию " +"это исключение из последнего адреса в списке. Если *all_errors* имеет " +"значение True, это :exc:`ExceptionGroup`, содержащий ошибки всех попыток." msgid "*source_address* was added." -msgstr "" +msgstr "*вихідна_адреса* була додана." msgid "*all_errors* was added." msgstr "" @@ -812,6 +971,8 @@ msgid "" "Convenience function which creates a TCP socket bound to *address* (a 2-" "tuple ``(host, port)``) and returns the socket object." msgstr "" +"Удобная функция, которая создает TCP-сокет, привязанный к *адресу* " +"(двухкортежный ``(хост, порт)``) и возвращает объект сокета." msgid "" "*family* should be either :data:`AF_INET` or :data:`AF_INET6`. *backlog* is " @@ -831,6 +992,17 @@ msgid "" "functionality on platforms that enable it by default (e.g. Linux). This " "parameter can be used in conjunction with :func:`has_dualstack_ipv6`:" msgstr "" +"Если *dualstack_ipv6* имеет значение true, *family* имеет значение :data:" +"`AF_INET6` и платформа его поддерживает, сокет сможет принимать как " +"соединения IPv4, так и соединения IPv6, в противном случае будет выдана " +"ошибка :exc:`ValueError`. Предполагается, что большинство платформ POSIX и " +"Windows поддерживают эту функциональность. Когда эта функциональность " +"включена, адрес, возвращаемый :meth:`socket.getpeername` при возникновении " +"соединения IPv4, будет адресом IPv6, представленным как сопоставленный с " +"IPv4 адрес IPv6. Если *dualstack_ipv6* имеет значение false, эта " +"функциональность будет явно отключена на платформах, которые включают ее по " +"умолчанию (например, Linux). Этот параметр можно использовать вместе с :func:" +"`has_dualstack_ipv6`:" msgid "" "import socket\n" @@ -875,9 +1047,11 @@ msgid "" "This is a Python type object that represents the socket object type. It is " "the same as ``type(socket(...))``." msgstr "" +"Це об’єкт типу Python, який представляє тип об’єкта сокета. Це те саме, що " +"``type(socket(...))``." msgid "Other functions" -msgstr "" +msgstr "Інші функції" msgid "The :mod:`socket` module also offers various network-related services:" msgstr "" @@ -907,6 +1081,10 @@ msgid "" "their default values (:data:`AF_UNSPEC`, 0, and 0, respectively) to not " "limit the results. See the note below for details." msgstr "" +"Аргументы *family*, *type* и *proto* можно указать дополнительно, чтобы " +"предоставить параметры и ограничить список возвращаемых адресов. Передайте " +"их значения по умолчанию (:data:`AF_UNSPEC`, 0 и 0 соответственно), чтобы не " +"ограничивать результаты. Подробности смотрите в примечании ниже." msgid "" "The *flags* argument can be one or several of the ``AI_*`` constants, and " @@ -916,7 +1094,7 @@ msgid "" msgstr "" msgid "The function returns a list of 5-tuples with the following structure:" -msgstr "" +msgstr "Функція повертає список із 5-ти кортежів із такою структурою:" msgid "``(family, type, proto, canonname, sockaddr)``" msgstr "" @@ -978,6 +1156,11 @@ msgid "" " (socket.AF_INET, socket.SOCK_STREAM,\n" " 6, '', ('93.184.216.34', 80))]" msgstr "" +">>> socket.getaddrinfo(\"example.org\", 80, proto=socket.IPPROTO_TCP)\n" +"[(socket.AF_INET6, socket.SOCK_STREAM,\n" +" 6, '', ('2606:2800:220:1:248:1893:25c8:1946', 80, 0, 0)),\n" +" (socket.AF_INET, socket.SOCK_STREAM,\n" +" 6, '', ('93.184.216.34', 80))]" msgid "parameters can now be passed using keyword arguments." msgstr "" @@ -986,6 +1169,8 @@ msgid "" "for IPv6 multicast addresses, string representing an address will not " "contain ``%scope_id`` part." msgstr "" +"для багатоадресних адрес IPv6 рядок, що представляє адресу, не міститиме " +"частину ``%scope_id``." msgid "" "Return a fully qualified domain name for *name*. If *name* is omitted or " @@ -996,6 +1181,13 @@ msgid "" "was provided, it is returned unchanged. If *name* was empty or equal to " "``'0.0.0.0'``, the hostname from :func:`gethostname` is returned." msgstr "" +"Повернути повне доменне ім’я для *name*. Якщо *ім’я* опущене або порожнє, " +"воно інтерпретується як локальний хост. Щоб знайти повне ім’я, перевіряється " +"ім’я хоста, яке повертає :func:`gethostbyaddr`, а потім ідуть псевдоніми " +"хоста, якщо вони доступні. Вибрано перше ім’я, яке містить крапку. Якщо " +"повне доменне ім’я недоступне, а було вказано *ім’я*, воно повертається без " +"змін. Якщо *name* було порожнім або дорівнює ``'0.0.0.0'``, повертається " +"ім'я хоста з :func:`gethostname`." msgid "" "Translate a host name to IPv4 address format. The IPv4 address is returned " @@ -1010,6 +1202,8 @@ msgid "" "Raises an :ref:`auditing event ` ``socket.gethostbyname`` with " "argument ``hostname``." msgstr "" +"Викликає :ref:`подію аудиту ` ``socket.gethostbyname`` з " +"аргументом ``hostname``." msgid "" "Translate a host name to IPv4 address format, extended interface. Return a 3-" @@ -1026,11 +1220,15 @@ msgid "" "Return a string containing the hostname of the machine where the Python " "interpreter is currently executing." msgstr "" +"Повертає рядок, що містить ім’я хоста машини, на якій зараз виконується " +"інтерпретатор Python." msgid "" "Raises an :ref:`auditing event ` ``socket.gethostname`` with no " "arguments." msgstr "" +"Викликає :ref:`подію аудиту ` ``socket.gethostname`` без " +"аргументів." msgid "" "Note: :func:`gethostname` doesn't always return the fully qualified domain " @@ -1051,6 +1249,8 @@ msgid "" "Raises an :ref:`auditing event ` ``socket.gethostbyaddr`` with " "argument ``ip_address``." msgstr "" +"Викликає :ref:`подію аудиту ` ``socket.gethostbyaddr`` з " +"аргументом ``ip_address``." msgid "" "Translate a socket address *sockaddr* into a 2-tuple ``(host, port)``. " @@ -1063,15 +1263,22 @@ msgid "" "For IPv6 addresses, ``%scope_id`` is appended to the host part if *sockaddr* " "contains meaningful *scope_id*. Usually this happens for multicast addresses." msgstr "" +"Для адрес IPv6 ``%scope_id`` додається до частини хоста, якщо *sockaddr* " +"містить значимий *scope_id*. Зазвичай це відбувається для багатоадресних " +"адрес." msgid "" "For more information about *flags* you can consult :manpage:`getnameinfo(3)`." msgstr "" +"Для отримання додаткової інформації про *прапори* ви можете звернутися до :" +"manpage:`getnameinfo(3)`." msgid "" "Raises an :ref:`auditing event ` ``socket.getnameinfo`` with " "argument ``sockaddr``." msgstr "" +"Викликає :ref:`подію аудиту ` ``socket.getnameinfo`` з аргументом " +"``sockaddr``." msgid "" "Translate an internet protocol name (for example, ``'icmp'``) to a constant " @@ -1080,28 +1287,44 @@ msgid "" "mode (:const:`SOCK_RAW`); for the normal socket modes, the correct protocol " "is chosen automatically if the protocol is omitted or zero." msgstr "" +"Преобразуйте имя интернет-протокола (например, ``'icmp'``) в константу, " +"подходящую для передачи в качестве (необязательного) третьего аргумента " +"функции :func:`~socket.socket`. Обычно это необходимо только для сокетов, " +"открытых в «необработанном» режиме (:const:`SOCK_RAW`); для обычных режимов " +"сокетов правильный протокол выбирается автоматически, если протокол опущен " +"или равен нулю." msgid "" "Translate an internet service name and protocol name to a port number for " "that service. The optional protocol name, if given, should be ``'tcp'`` or " "``'udp'``, otherwise any protocol will match." msgstr "" +"Перекладіть назву інтернет-сервісу та назву протоколу на номер порту для " +"цієї служби. Додаткова назва протоколу, якщо її вказано, має бути ``'tcp'`` " +"або ``'udp'``, інакше будь-який протокол збігатиметься." msgid "" "Raises an :ref:`auditing event ` ``socket.getservbyname`` with " "arguments ``servicename``, ``protocolname``." msgstr "" +"Викликає :ref:`подію аудиту ` ``socket.getservbyname`` з " +"аргументами ``servicename``, ``protocolname``." msgid "" "Translate an internet port number and protocol name to a service name for " "that service. The optional protocol name, if given, should be ``'tcp'`` or " "``'udp'``, otherwise any protocol will match." msgstr "" +"Перекладіть номер інтернет-порту та назву протоколу на назву служби для цієї " +"служби. Додаткова назва протоколу, якщо її вказано, має бути ``'tcp'`` або " +"``'udp'``, інакше будь-який протокол збігатиметься." msgid "" "Raises an :ref:`auditing event ` ``socket.getservbyport`` with " "arguments ``port``, ``protocolname``." msgstr "" +"Викликає :ref:`подію аудиту ` ``socket.getservbyport`` з " +"аргументами ``port``, ``protocolname``." msgid "" "Convert 32-bit positive integers from network to host byte order. On " @@ -1114,6 +1337,9 @@ msgid "" "machines where the host byte order is the same as network byte order, this " "is a no-op; otherwise, it performs a 2-byte swap operation." msgstr "" +"Перетворення 16-розрядних додатних чисел із мережевого порядку байтів на " +"хост. На машинах, де порядок байтів хоста збігається з порядком байтів у " +"мережі, це заборонено; інакше він виконує 2-байтову операцію обміну." msgid "" "Raises :exc:`OverflowError` if *x* does not fit in a 16-bit unsigned integer." @@ -1130,6 +1356,9 @@ msgid "" "machines where the host byte order is the same as network byte order, this " "is a no-op; otherwise, it performs a 2-byte swap operation." msgstr "" +"Перетворення 16-розрядних додатних чисел із хоста в мережевий порядок " +"байтів. На машинах, де порядок байтів хоста збігається з порядком байтів у " +"мережі, це заборонено; інакше він виконує 2-байтову операцію обміну." msgid "" "Convert an IPv4 address from dotted-quad string format (for example, " @@ -1143,17 +1372,24 @@ msgid "" ":func:`inet_aton` also accepts strings with less than three dots; see the " "Unix manual page :manpage:`inet(3)` for details." msgstr "" +":func:`inet_aton` також приймає рядки з менш ніж трьома крапками; подробиці " +"див. на сторінці посібника Unix :manpage:`inet(3)`." msgid "" "If the IPv4 address string passed to this function is invalid, :exc:" "`OSError` will be raised. Note that exactly what is valid depends on the " "underlying C implementation of :c:func:`inet_aton`." msgstr "" +"Якщо рядок адреси IPv4, переданий цій функції, недійсний, буде викликано :" +"exc:`OSError`. Зауважте, що саме те, що є дійсним, залежить від базової " +"реалізації C :c:func:`inet_aton`." msgid "" ":func:`inet_aton` does not support IPv6, and :func:`inet_pton` should be " "used instead for IPv4/v6 dual stack support." msgstr "" +":func:`inet_aton` не підтримує IPv6, а :func:`inet_pton` слід " +"використовувати замість цього для підтримки подвійного стеку IPv4/v6." msgid "" "Convert a 32-bit packed IPv4 address (a :term:`bytes-like object` four bytes " @@ -1163,6 +1399,13 @@ msgid "" "is the C type for the 32-bit packed binary data this function takes as an " "argument." msgstr "" +"Преобразуйте 32-битный упакованный адрес IPv4 (объект, подобный :term:" +"`bytes` длиной в четыре байта) в его стандартное строковое представление, " +"состоящее из четырех точек (например, '123.45.67.89'). Это полезно при " +"общении с программой, которая использует стандартную библиотеку C и " +"нуждается в объектах типа :c:struct:`in_addr`, который является типом C для " +"32-битных упакованных двоичных данных, которые эта функция принимает в " +"качестве аргумента." msgid "" "If the byte sequence passed to this function is not exactly 4 bytes in " @@ -1177,6 +1420,10 @@ msgid "" "protocol calls for an object of type :c:struct:`in_addr` (similar to :func:" "`inet_aton`) or :c:struct:`in6_addr`." msgstr "" +"Преобразуйте IP-адрес из строкового формата, специфичного для семейства, в " +"упакованный двоичный формат. :func:`inet_pton` полезен, когда библиотека или " +"сетевой протокол вызывает объект типа :c:struct:`in_addr` (аналогично :func:" +"`inet_aton`) или :c:struct:`in6_addr`." msgid "" "Supported values for *address_family* are currently :const:`AF_INET` and :" @@ -1187,7 +1434,7 @@ msgid "" msgstr "" msgid "Windows support added" -msgstr "" +msgstr "Додано підтримку Windows" msgid "" "Convert a packed IP address (a :term:`bytes-like object` of some number of " @@ -1213,9 +1460,17 @@ msgid "" "the last in the buffer. Raises :exc:`OverflowError` if *length* is outside " "the permissible range of values." msgstr "" +"Повертає загальну довжину, без заповнення в кінці, елемента допоміжних даних " +"із пов’язаними даними заданої *довжини*. Це значення часто можна " +"використовувати як розмір буфера для :meth:`~socket.recvmsg` для отримання " +"окремого елемента допоміжних даних, але :rfc:`3542` вимагає, щоб портативні " +"програми використовували :func:`CMSG_SPACE` і таким чином включали простір " +"для заповнення, навіть якщо елемент буде останнім у буфері. Викликає :exc:" +"`OverflowError`, якщо *length* виходить за межі допустимого діапазону " +"значень." msgid "Most Unix platforms." -msgstr "" +msgstr "Большинство платформ Unix." msgid "" "Return the buffer size needed for :meth:`~socket.recvmsg` to receive an " @@ -1225,6 +1480,12 @@ msgid "" "Raises :exc:`OverflowError` if *length* is outside the permissible range of " "values." msgstr "" +"Повертає розмір буфера, необхідний для :meth:`~socket.recvmsg` для отримання " +"елемента допоміжних даних із пов’язаними даними заданої *довжини* разом із " +"будь-яким доповненням у кінці. Буферний простір, необхідний для отримання " +"кількох елементів, є сумою значень :func:`CMSG_SPACE` для відповідної " +"довжини даних. Викликає :exc:`OverflowError`, якщо *length* виходить за межі " +"допустимого діапазону значень." msgid "" "Note that some systems might support ancillary data without providing this " @@ -1241,30 +1502,44 @@ msgid "" "value of ``None`` indicates that new socket objects have no timeout. When " "the socket module is first imported, the default is ``None``." msgstr "" +"Повертає стандартний час очікування в секундах (float) для нових об’єктів " +"сокета. Значення ``None`` вказує на те, що нові об’єкти сокета не мають часу " +"очікування. Коли модуль сокета імпортовано вперше, за замовчуванням буде " +"``None``." msgid "" "Set the default timeout in seconds (float) for new socket objects. When the " "socket module is first imported, the default is ``None``. See :meth:" "`~socket.settimeout` for possible values and their respective meanings." msgstr "" +"Встановіть стандартний час очікування в секундах (float) для нових об’єктів " +"сокета. Коли модуль сокета імпортовано вперше, за замовчуванням буде " +"``None``. Перегляньте :meth:`~socket.settimeout` можливі значення та їх " +"відповідні значення." msgid "" "Set the machine's hostname to *name*. This will raise an :exc:`OSError` if " "you don't have enough rights." msgstr "" +"Встановіть ім’я хоста машини на *name*. Це викличе :exc:`OSError`, якщо у " +"вас недостатньо прав." msgid "" "Raises an :ref:`auditing event ` ``socket.sethostname`` with " "argument ``name``." msgstr "" +"Викликає :ref:`подію аудиту ` ``socket.sethostname`` з аргументом " +"``name``." msgid "" "Return a list of network interface information (index int, name string) " "tuples. :exc:`OSError` if the system call fails." msgstr "" +"Повертає список кортежів інформації про мережевий інтерфейс (index int, name " +"string). :exc:`OSError`, якщо системний виклик не вдається." msgid "Windows support was added." -msgstr "" +msgstr "Додано підтримку Windows." msgid "" "On Windows network interfaces have different names in different contexts " @@ -1287,6 +1562,8 @@ msgid "" "This function returns names of the second form from the list, " "``ethernet_32770`` in this example case." msgstr "" +"Ця функція повертає імена другої форми зі списку, ``ethernet_32770`` у цьому " +"прикладі." msgid "" "Return a network interface index number corresponding to an interface name. :" @@ -1295,6 +1572,7 @@ msgstr "" msgid "\"Interface name\" is a name as documented in :func:`if_nameindex`." msgstr "" +"\"Назва інтерфейсу\" — це назва, задокументована в :func:`if_nameindex`." msgid "" "Return a network interface name corresponding to an interface index number. :" @@ -1306,21 +1584,35 @@ msgid "" "*sock*. The *fds* parameter is a sequence of file descriptors. Consult :meth:" "`~socket.sendmsg` for the documentation of these parameters." msgstr "" +"Отправьте список файловых дескрипторов *fds* через сокет :const:`AF_UNIX` " +"*sock*. Параметр *fds* представляет собой последовательность файловых " +"дескрипторов. Обратитесь к :meth:`~socket.sendmsg` за документацией по этим " +"параметрам." msgid "" "Unix platforms supporting :meth:`~socket.sendmsg` and :const:`SCM_RIGHTS` " "mechanism." msgstr "" +"Платформы Unix, поддерживающие механизм :meth:`~socket.sendmsg` и :const:" +"`SCM_RIGHTS`." msgid "" "Receive up to *maxfds* file descriptors from an :const:`AF_UNIX` socket " "*sock*. Return ``(msg, list(fds), flags, addr)``. Consult :meth:`~socket." "recvmsg` for the documentation of these parameters." msgstr "" +"Получите до *maxfds* файловых дескрипторов из сокета :const:`AF_UNIX` " +"*sock*. Возврат ``(msg, list(fds), flags, addr)``. Обратитесь к :meth:" +"`~socket.recvmsg` для получения документации по этим параметрам." -msgid "Any truncated integers at the end of the list of file descriptors." +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 "Будь-які скорочені цілі числа в кінці списку дескрипторів файлів." + msgid "Socket Objects" msgstr "" @@ -1333,6 +1625,8 @@ msgid "" "Support for the :term:`context manager` protocol was added. Exiting the " "context manager is equivalent to calling :meth:`~socket.close`." msgstr "" +"Додано підтримку протоколу :term:`context manager`. Вихід із контекстного " +"менеджера еквівалентний виклику :meth:`~socket.close`." msgid "" "Accept a connection. The socket must be bound to an address and listening " @@ -1341,9 +1635,14 @@ msgid "" "and *address* is the address bound to the socket on the other end of the " "connection." msgstr "" +"Прийняти підключення. Сокет має бути прив’язаний до адреси та прослуховувати " +"підключення. Поверненим значенням є пара ``(conn, address)``, де *conn* — це " +"*новий* об’єкт сокета, який можна використовувати для надсилання та " +"отримання даних під час з’єднання, а *address* — це адреса, прив’язана до " +"сокета на іншому кінець з'єднання." msgid "The socket is now non-inheritable." -msgstr "" +msgstr "Тепер сокет не успадковується." msgid "" "If the system call is interrupted and the signal handler does not raise an " @@ -1360,6 +1659,8 @@ msgid "" "Raises an :ref:`auditing event ` ``socket.bind`` with arguments " "``self``, ``address``." msgstr "" +"Викликає :ref:`подію аудиту ` ``socket.bind`` з аргументами " +"``self``, ``address``." msgid "" "Mark the socket closed. The underlying system resource (e.g. a file " @@ -1379,17 +1680,24 @@ msgid "" ":exc:`OSError` is now raised if an error occurs when the underlying :c:func:" "`close` call is made." msgstr "" +":exc:`OSError` тепер викликається, якщо виникає помилка під час основного " +"виклику :c:func:`close`." msgid "" ":meth:`close` releases the resource associated with a connection but does " "not necessarily close the connection immediately. If you want to close the " "connection in a timely fashion, call :meth:`shutdown` before :meth:`close`." msgstr "" +":meth:`close` освобождает ресурс, связанный с соединением, но не обязательно " +"немедленно закрывает соединение. Если вы хотите своевременно закрыть " +"соединение, вызовите :meth:`shutdown` перед :meth:`close`." msgid "" "Connect to a remote socket at *address*. (The format of *address* depends on " "the address family --- see above.)" msgstr "" +"Підключіться до віддаленої розетки за *адресою*. (Формат *адреси* залежить " +"від групи адрес --- див. вище.)" msgid "" "If the connection is interrupted by a signal, the method waits until the " @@ -1399,6 +1707,12 @@ msgid "" "`InterruptedError` exception if the connection is interrupted by a signal " "(or the exception raised by the signal handler)." msgstr "" +"Якщо з’єднання перервано сигналом, метод чекає, доки з’єднання не " +"завершиться, або викликає :exc:`TimeoutError` після тайм-ауту, якщо обробник " +"сигналу не викликає виключення, а сокет блокується або має тайм-аут. Для " +"неблокуючих сокетів метод викликає виняток :exc:`InterruptedError`, якщо " +"з’єднання переривається сигналом (або винятком, викликаним обробником " +"сигналу)." msgid "" "Raises an :ref:`auditing event ` ``socket.connect`` with arguments " @@ -1411,6 +1725,10 @@ msgid "" "signal, the signal handler doesn't raise an exception and the socket is " "blocking or has a timeout (see the :pep:`475` for the rationale)." msgstr "" +"Тепер метод очікує, доки з’єднання завершиться, замість того, щоб викликати " +"виняток :exc:`InterruptedError`, якщо з’єднання перервано сигналом, обробник " +"сигналу не викликає виключення, а сокет блокується або має тайм-аут (див. :" +"pep:`475` для обґрунтування)." msgid "" "Like ``connect(address)``, but return an error indicator instead of raising " @@ -1420,15 +1738,24 @@ msgid "" "of the :c:data:`errno` variable. This is useful to support, for example, " "asynchronous connects." msgstr "" +"Подібно до ``connect(address)``, але повертає індикатор помилки замість " +"виклику винятку для помилок, які повертає виклик :c:func:`connect` рівня C " +"(інші проблеми, такі як \"хост не знайдено\", можуть все ще викликають " +"винятки). Індикатор помилки – ``0``, якщо операція виконана успішно, інакше " +"значення змінної :c:data:`errno`. Це корисно для підтримки, наприклад, " +"асинхронних підключень." msgid "" "Put the socket object into closed state without actually closing the " "underlying file descriptor. The file descriptor is returned, and can be " "reused for other purposes." msgstr "" +"Переведіть об’єкт сокета в закритий стан, фактично не закриваючи базовий " +"файловий дескриптор. Файловий дескриптор повертається, і його можна повторно " +"використовувати для інших цілей." msgid "Duplicate the socket." -msgstr "" +msgstr "Дублюйте розетку." msgid "" "Return the socket's file descriptor (a small integer), or -1 on failure. " @@ -1446,6 +1773,9 @@ msgid "" "descriptor or socket's handle: ``True`` if the socket can be inherited in " "child processes, ``False`` if it cannot." msgstr "" +"Отримайте :ref:`inheritable flag ` дескриптора файлу сокета " +"або дескриптора сокета: ``True``, якщо сокет можна успадкувати в дочірніх " +"процесах, ``False``, якщо це неможливо." msgid "" "Return the remote address to which the socket is connected. This is useful " @@ -1459,6 +1789,9 @@ msgid "" "of an IPv4/v6 socket, for instance. (The format of the address returned " "depends on the address family --- see above.)" msgstr "" +"Повернути власну адресу сокета. Це корисно, наприклад, щоб дізнатися номер " +"порту сокета IPv4/v6. (Формат адреси, що повертається, залежить від " +"сімейства адрес --- див. вище.)" msgid "" "Return the value of the given socket option (see the Unix man page :manpage:" @@ -1475,6 +1808,8 @@ msgstr "" msgid "" "Return ``True`` if socket is in blocking mode, ``False`` if in non-blocking." msgstr "" +"Повертає ``True``, якщо сокет знаходиться в режимі блокування, ``False``, " +"якщо він не блокується." msgid "This is equivalent to checking ``socket.gettimeout() != 0``." msgstr "" @@ -1496,6 +1831,9 @@ msgid "" "interface. Please refer to the `Win32 documentation `_ for more information." msgstr "" +"Метод :meth:`ioctl` є обмеженим інтерфейсом системного інтерфейсу WSAIoctl. " +"Будь ласка, зверніться до `документації Win32 `_ для отримання додаткової інформації." msgid "" "On other platforms, the generic :func:`fcntl.fcntl` and :func:`fcntl.ioctl` " @@ -1513,6 +1851,11 @@ msgid "" "unaccepted connections that the system will allow before refusing new " "connections. If not specified, a default reasonable value is chosen." msgstr "" +"Увімкніть сервер для прийняття підключень. Якщо вказано *backlog*, воно має " +"бути принаймні 0 (якщо менше, то встановлюється на 0); він визначає " +"кількість неприйнятих підключень, які система дозволить перед тим, як " +"відхилити нові підключення. Якщо не вказано, вибирається розумне значення за " +"умовчанням." msgid "The *backlog* parameter is now optional." msgstr "" @@ -1536,12 +1879,18 @@ msgid "" "original socket unless all other file objects have been closed and :meth:" "`socket.close` has been called on the socket object." msgstr "" +"Закриття файлового об’єкта, який повертає :meth:`makefile`, не закриє " +"оригінальний сокет, якщо всі інші файлові об’єкти не закриті та :meth:" +"`socket.close` не викликано для об’єкта сокета." msgid "" "On Windows, the file-like object created by :meth:`makefile` cannot be used " "where a file object with a file descriptor is expected, such as the stream " "arguments of :meth:`subprocess.Popen`." msgstr "" +"У Windows файлоподібний об’єкт, створений :meth:`makefile`, не можна " +"використовувати там, де очікується файловий об’єкт із дескриптором файлу, " +"наприклад аргументи потоку :meth:`subprocess.Popen`." msgid "" "Receive data from the socket. The return value is a bytes object " @@ -1551,6 +1900,12 @@ msgid "" "`recv(2)` for the meaning of the optional argument *flags*; it defaults to " "zero." msgstr "" +"Получить данные из сокета. Возвращаемое значение — это байтовый объект, " +"представляющий полученные данные. Максимальный объем данных, принимаемых за " +"один раз, определяется *bufsize*. Возвращенный объект с пустыми байтами " +"указывает на то, что клиент отключился. См. страницу руководства Unix :" +"manpage:`recv(2)`, чтобы узнать значение необязательного аргумента *flags*; " +"по умолчанию он равен нулю." msgid "" "Receive data from the socket. The return value is a pair ``(bytes, " @@ -1560,12 +1915,21 @@ msgid "" "*flags*; it defaults to zero. (The format of *address* depends on the " "address family --- see above.)" msgstr "" +"Отримувати дані з розетки. Поверненим значенням є пара ``(байти, адреса)``, " +"де *байт* — об’єкт байтів, що представляє отримані дані, а *адреса* — адреса " +"сокета, який надсилає дані. Перегляньте сторінку посібника Unix :manpage:" +"`recv(2)` для визначення значення необов’язкового аргументу *flags*; за " +"замовчуванням він дорівнює нулю. (Формат *адреси* залежить від групи адрес " +"--- див. вище.)" msgid "" "For multicast IPv6 address, first item of *address* does not contain " "``%scope_id`` part anymore. In order to get full IPv6 address use :func:" "`getnameinfo`." msgstr "" +"Для багатоадресної адреси IPv6 перший елемент *address* більше не містить " +"частини ``%scope_id``. Щоб отримати повну адресу IPv6, використовуйте :func:" +"`getnameinfo`." msgid "" "Receive normal data (up to *bufsize* bytes) and ancillary data from the " @@ -1576,6 +1940,14 @@ msgid "" "items which do not fit into the buffer might be truncated or discarded. The " "*flags* argument defaults to 0 and has the same meaning as for :meth:`recv`." msgstr "" +"Отримувати звичайні дані (до *bufsize* байтів) і допоміжні дані з сокета. " +"Аргумент *ancbufsize* встановлює розмір у байтах внутрішнього буфера, який " +"використовується для отримання допоміжних даних; за замовчуванням він " +"дорівнює 0, що означає, що допоміжні дані не будуть отримані. Відповідні " +"розміри буферів для допоміжних даних можна обчислити за допомогою :func:" +"`CMSG_SPACE` або :func:`CMSG_LEN`, а елементи, які не вміщаються в буфер, " +"можуть бути скорочені або відкинуті. Аргумент *flags* за умовчанням дорівнює " +"0 і має те саме значення, що й для :meth:`recv`." msgid "" "The return value is a 4-tuple: ``(data, ancdata, msg_flags, address)``. The " @@ -1590,6 +1962,17 @@ msgid "" "receiving socket is unconnected, *address* is the address of the sending " "socket, if available; otherwise, its value is unspecified." msgstr "" +"Повернене значення – це 4-кортеж: ``(data, ancdata, msg_flags, address)``. " +"Елемент *data* — це об’єкт :class:`bytes`, що містить отримані непобічні " +"дані. Елемент *ancdata* — це список із нуля або більше кортежів " +"``(cmsg_level, cmsg_type, cmsg_data)``, що представляють отримані допоміжні " +"дані (керуючі повідомлення): *cmsg_level* і *cmsg_type* — цілі числа, що " +"визначають рівень протоколу та протокол- певного типу відповідно, і " +"*cmsg_data* є об’єктом :class:`bytes`, що містить пов’язані дані. Елемент " +"*msg_flags* — це порозрядне АБО різних прапорів, що вказують на умови " +"отриманого повідомлення; подробиці дивіться в системній документації. Якщо " +"сокет-одержувач не підключений, *адреса* є адресою сокета-відправника, якщо " +"він доступний; інакше його значення не вказано." msgid "" "On some systems, :meth:`sendmsg` and :meth:`recvmsg` can be used to pass " @@ -1602,6 +1985,16 @@ msgid "" "after the system call returns, it will first attempt to close any file " "descriptors received via this mechanism." msgstr "" +"В некоторых системах :meth:`sendmsg` и :meth:`recvmsg` могут использоваться " +"для передачи дескрипторов файлов между процессами через сокет :const:" +"`AF_UNIX`. Когда используется эта возможность (она часто ограничена " +"сокетами :const:`SOCK_STREAM`), :meth:`recvmsg` будет возвращать в своих " +"вспомогательных данных элементы формы ``(socket.SOL_SOCKET, socket." +"SCM_RIGHTS, fds )``, где *fds* — это объект :class:`bytes`, представляющий " +"новые файловые дескрипторы в виде двоичного массива собственного типа C :c:" +"expr:`int`. Если :meth:`recvmsg` вызывает исключение после возврата " +"системного вызова, он сначала попытается закрыть любые файловые дескрипторы, " +"полученные через этот механизм." msgid "" "Some systems do not indicate the truncated length of ancillary data items " @@ -1646,6 +2039,16 @@ msgid "" "on the number of buffers that can be used. The *ancbufsize* and *flags* " "arguments have the same meaning as for :meth:`recvmsg`." msgstr "" +"Отримувати звичайні дані та допоміжні дані з сокета, поводячись так, як це " +"зробив би :meth:`recvmsg`, але розкидати не допоміжні дані в ряд буферів " +"замість повернення нового об’єкта bytes. Аргумент *buffers* має бути " +"ітерованим об’єктами, які експортують записувані буфери (наприклад, об’єкти :" +"class:`bytearray`); вони будуть заповнені послідовними фрагментами " +"непоміжних даних, доки вони не будуть записані або більше не залишиться " +"буферів. Операційна система може встановити обмеження (:func:`~os.sysconf` " +"значення ``SC_IOV_MAX``) на кількість буферів, які можна використовувати. " +"Аргументи *ancbufsize* і *flags* мають те саме значення, що й для :meth:" +"`recvmsg`." msgid "" "The return value is a 4-tuple: ``(nbytes, ancdata, msg_flags, address)``, " @@ -1653,6 +2056,10 @@ msgid "" "into the buffers, and *ancdata*, *msg_flags* and *address* are the same as " "for :meth:`recvmsg`." msgstr "" +"Повернене значення — це 4-кортеж: ``(nbytes, ancdata, msg_flags, address)``, " +"де *nbytes* — загальна кількість байтів непоміжних даних, записаних у " +"буфери, а *ancdata*, *msg_flags* і *адреса* такі самі, як і для :meth:" +"`recvmsg`." msgid "Example::" msgstr "Przykład::" @@ -1687,6 +2094,12 @@ msgid "" "bytes received. See the Unix manual page :manpage:`recv(2)` for the meaning " "of the optional argument *flags*; it defaults to zero." msgstr "" +"Отримайте до *nbytes* байт із сокета, зберігаючи дані в буфері, а не " +"створюючи новий рядок байтів. Якщо *nbytes* не вказано (або 0), отримати до " +"розміру, доступного в даному буфері. Повертає кількість отриманих байтів. " +"Перегляньте сторінку посібника Unix :manpage:`recv(2)` для визначення " +"значення необов’язкового аргументу *flags*; за замовчуванням він дорівнює " +"нулю." msgid "" "Send data to the socket. The socket must be connected to a remote socket. " @@ -1696,6 +2109,13 @@ msgid "" "transmitted, the application needs to attempt delivery of the remaining " "data. For further information on this topic, consult the :ref:`socket-howto`." msgstr "" +"Надіслати дані в сокет. Розетка повинна бути підключена до віддаленої " +"розетки. Необов’язковий аргумент *flags* має те саме значення, що й для :" +"meth:`recv` вище. Повертає кількість надісланих байтів. Додатки відповідають " +"за перевірку того, що всі дані були надіслані; якщо було передано лише " +"частину даних, програма повинна спробувати доставити решту даних. Для " +"отримання додаткової інформації з цієї теми зверніться до :ref:`socket-" +"howto`." msgid "" "Send data to the socket. The socket must be connected to a remote socket. " @@ -1723,6 +2143,8 @@ msgid "" "Raises an :ref:`auditing event ` ``socket.sendto`` with arguments " "``self``, ``address``." msgstr "" +"Викликає :ref:`подію аудиту ` ``socket.sendto`` з аргументами " +"``self``, ``address``." msgid "" "Send normal and ancillary data to the socket, gathering the non-ancillary " @@ -1742,6 +2164,22 @@ msgid "" "destination address for the message. The return value is the number of " "bytes of non-ancillary data sent." msgstr "" +"Надсилайте звичайні та допоміжні дані в сокет, збираючи недопоміжні дані з " +"ряду буферів і об’єднуючи їх в одне повідомлення. Аргумент *buffers* вказує " +"на не допоміжні дані як ітерацію :term:`bytes-подібних об’єктів ` (наприклад, :class:`bytes` об’єктів); операційна система може " +"встановити обмеження (:func:`~os.sysconf` значення ``SC_IOV_MAX``) на " +"кількість буферів, які можна використовувати. Аргумент *ancdata* визначає " +"допоміжні дані (керуючі повідомлення) як ітерацію з нуля або більше кортежів " +"``(cmsg_level, cmsg_type, cmsg_data)``, де *cmsg_level* і *cmsg_type* є " +"цілими числами, що визначають рівень протоколу та протокол- певного типу " +"відповідно, а *cmsg_data* — це байтиподібний об’єкт, що містить пов’язані " +"дані. Зверніть увагу, що деякі системи (зокрема, системи без :func:" +"`CMSG_SPACE`) можуть підтримувати надсилання лише одного керуючого " +"повідомлення на виклик. Аргумент *flags* за умовчанням дорівнює 0 і має те " +"саме значення, що й для :meth:`send`. Якщо вказано *address*, а не ``None``, " +"це встановлює адресу призначення для повідомлення. Повернене значення — це " +"кількість байтів надісланих непоміжних даних." msgid "" "The following function sends the list of file descriptors *fds* over an :" @@ -1790,6 +2228,8 @@ msgid "" "Set blocking or non-blocking mode of the socket: if *flag* is false, the " "socket is set to non-blocking, else to blocking mode." msgstr "" +"Встановіть блокуючий або неблокуючий режим сокета: якщо *flag* має значення " +"false, сокет встановлено в неблокуючий режим, інакше в режим блокування." msgid "" "This method is a shorthand for certain :meth:`~socket.settimeout` calls:" @@ -1799,12 +2239,14 @@ msgid "``sock.setblocking(True)`` is equivalent to ``sock.settimeout(None)``" msgstr "" msgid "``sock.setblocking(False)`` is equivalent to ``sock.settimeout(0.0)``" -msgstr "" +msgstr "``sock.setblocking(False)`` еквівалентний ``sock.settimeout(0.0)``" msgid "" "The method no longer applies :const:`SOCK_NONBLOCK` flag on :attr:`socket." "type`." msgstr "" +"Метод більше не застосовує прапор :const:`SOCK_NONBLOCK` до :attr:`socket." +"type`." msgid "" "Set a timeout on blocking socket operations. The *value* argument can be a " @@ -1819,11 +2261,14 @@ msgid "" "For further information, please consult the :ref:`notes on socket timeouts " "`." msgstr "" +"Щоб отримати додаткову інформацію, зверніться до :ref:`приміток щодо тайм-" +"аутів сокетів `." msgid "" "The method no longer toggles :const:`SOCK_NONBLOCK` flag on :attr:`socket." "type`." msgstr "" +"Метод більше не вмикає прапор :const:`SOCK_NONBLOCK` на :attr:`socket.type`." msgid "" "Set the value of the given socket option (see the Unix manual page :manpage:" @@ -1836,6 +2281,16 @@ msgid "" "*optlen* argument is required. It's equivalent to call :c:func:`setsockopt` " "C function with ``optval=NULL`` and ``optlen=optlen``." msgstr "" +"Установите значение данной опции сокета (см. страницу руководства Unix :" +"manpage:`setsockopt(2)`). В этом модуле определены необходимые символические " +"константы (:ref:`!SO_\\* и т. д. `). Значение может " +"быть целым числом, None или :term:`байтовым объектом`, представляющим буфер. " +"В последнем случае вызывающая сторона должна убедиться, что строка байтов " +"содержит правильные биты (см. дополнительный встроенный модуль :mod:" +"`struct`, чтобы узнать, как кодировать структуры C как строки байтов). Если " +"для *value* установлено значение None, требуется аргумент *optlen*. Это " +"эквивалентно вызову функции C :c:func:`setsockopt` с ``optval=NULL`` и " +"``optlen=optlen``." msgid "setsockopt(level, optname, None, optlen: int) form added." msgstr "" @@ -1861,20 +2316,25 @@ msgid "" "Note that there are no methods :meth:`read` or :meth:`write`; use :meth:" "`~socket.recv` and :meth:`~socket.send` without *flags* argument instead." msgstr "" +"Зверніть увагу, що немає методів :meth:`read` або :meth:`write`; замість " +"цього використовуйте :meth:`~socket.recv` і :meth:`~socket.send` без " +"аргументу *flags*." msgid "" "Socket objects also have these (read-only) attributes that correspond to the " "values given to the :class:`~socket.socket` constructor." msgstr "" +"Об’єкти Socket також мають ці атрибути (лише для читання), які відповідають " +"значенням, наданим конструктору :class:`~socket.socket`." msgid "The socket family." msgstr "" msgid "The socket type." -msgstr "" +msgstr "Тип розетки." msgid "The socket protocol." -msgstr "" +msgstr "Протокол сокета." msgid "Notes on socket timeouts" msgstr "" @@ -1912,7 +2372,7 @@ msgid "" msgstr "" msgid "Timeouts and the ``connect`` method" -msgstr "" +msgstr "Час очікування та метод ``connect``" msgid "" "The :meth:`~socket.connect` operation is also subject to the timeout " @@ -1922,15 +2382,24 @@ msgid "" "connection timeout error of its own regardless of any Python socket timeout " "setting." msgstr "" +"Операція :meth:`~socket.connect` також залежить від параметра тайм-ауту, і " +"загалом рекомендується викликати :meth:`~socket.settimeout` перед викликом :" +"meth:`~socket.connect` або передати параметр часу очікування для :meth:" +"`create_connection`. Однак системний мережевий стек також може повертати " +"власну помилку очікування підключення незалежно від будь-якого параметра " +"часу очікування сокета Python." msgid "Timeouts and the ``accept`` method" -msgstr "" +msgstr "Час очікування та метод ``accept``" msgid "" "If :func:`getdefaulttimeout` is not :const:`None`, sockets returned by the :" "meth:`~socket.accept` method inherit that timeout. Otherwise, the behaviour " "depends on settings of the listening socket:" msgstr "" +"Якщо :func:`getdefaulttimeout` не :const:`None`, сокети, повернуті методом :" +"meth:`~socket.accept`, успадковують цей час очікування. В іншому випадку " +"поведінка залежить від налаштувань прослуховувального сокета:" msgid "" "if the listening socket is in *blocking mode* or in *timeout mode*, the " @@ -1943,6 +2412,10 @@ msgid "" "operating system-dependent. If you want to ensure cross-platform behaviour, " "it is recommended you manually override this setting." msgstr "" +"якщо сокет, що прослуховує, знаходиться в *неблокуючому режимі*, чи є сокет, " +"повернутий :meth:`~socket.accept` у блокуючому чи неблокуючому режимі, " +"залежить від операційної системи. Якщо ви хочете забезпечити кросплатформну " +"поведінку, радимо вручну змінити це налаштування." msgid "Example" msgstr "Przykład" @@ -1979,6 +2452,21 @@ msgid "" " if not data: break\n" " conn.sendall(data)" msgstr "" +"# Echo server program\n" +"import socket\n" +"\n" +"HOST = '' # Symbolic name meaning all available interfaces\n" +"PORT = 50007 # Arbitrary non-privileged port\n" +"with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:\n" +" s.bind((HOST, PORT))\n" +" s.listen(1)\n" +" conn, addr = s.accept()\n" +" with conn:\n" +" print('Connected by', addr)\n" +" while True:\n" +" data = conn.recv(1024)\n" +" if not data: break\n" +" conn.sendall(data)" msgid "" "# Echo client program\n" @@ -1992,6 +2480,16 @@ msgid "" " data = s.recv(1024)\n" "print('Received', repr(data))" msgstr "" +"# Echo client program\n" +"import socket\n" +"\n" +"HOST = 'daring.cwi.nl' # The remote host\n" +"PORT = 50007 # The same port as used by the server\n" +"with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:\n" +" s.connect((HOST, PORT))\n" +" s.sendall(b'Hello, world')\n" +" data = s.recv(1024)\n" +"print('Received', repr(data))" msgid "" "The next two examples are identical to the above two, but support both IPv4 " @@ -2037,6 +2535,39 @@ msgid "" " if not data: break\n" " conn.send(data)" msgstr "" +"# Echo server program\n" +"import socket\n" +"import sys\n" +"\n" +"HOST = None # Symbolic name meaning all available interfaces\n" +"PORT = 50007 # Arbitrary non-privileged port\n" +"s = None\n" +"for res in socket.getaddrinfo(HOST, PORT, socket.AF_UNSPEC,\n" +" socket.SOCK_STREAM, 0, socket.AI_PASSIVE):\n" +" af, socktype, proto, canonname, sa = res\n" +" try:\n" +" s = socket.socket(af, socktype, proto)\n" +" except OSError as msg:\n" +" s = None\n" +" continue\n" +" try:\n" +" s.bind(sa)\n" +" s.listen(1)\n" +" except OSError as msg:\n" +" s.close()\n" +" s = None\n" +" continue\n" +" break\n" +"if s is None:\n" +" print('could not open socket')\n" +" sys.exit(1)\n" +"conn, addr = s.accept()\n" +"with conn:\n" +" print('Connected by', addr)\n" +" while True:\n" +" data = conn.recv(1024)\n" +" if not data: break\n" +" conn.send(data)" msgid "" "# Echo client program\n" @@ -2069,12 +2600,44 @@ msgid "" " data = s.recv(1024)\n" "print('Received', repr(data))" msgstr "" +"# Echo client program\n" +"import socket\n" +"import sys\n" +"\n" +"HOST = 'daring.cwi.nl' # The remote host\n" +"PORT = 50007 # The same port as used by the server\n" +"s = None\n" +"for res in socket.getaddrinfo(HOST, PORT, socket.AF_UNSPEC, socket." +"SOCK_STREAM):\n" +" af, socktype, proto, canonname, sa = res\n" +" try:\n" +" s = socket.socket(af, socktype, proto)\n" +" except OSError as msg:\n" +" s = None\n" +" continue\n" +" try:\n" +" s.connect(sa)\n" +" except OSError as msg:\n" +" s.close()\n" +" s = None\n" +" continue\n" +" break\n" +"if s is None:\n" +" print('could not open socket')\n" +" sys.exit(1)\n" +"with s:\n" +" s.sendall(b'Hello, world')\n" +" data = s.recv(1024)\n" +"print('Received', repr(data))" msgid "" "The next example shows how to write a very simple network sniffer with raw " "sockets on Windows. The example requires administrator privileges to modify " "the interface::" msgstr "" +"У наступному прикладі показано, як написати дуже простий мережевий сніфер із " +"необробленими сокетами у Windows. У прикладі потрібні права адміністратора, " +"щоб змінити інтерфейс:" msgid "" "import socket\n" @@ -2104,6 +2667,10 @@ msgid "" "CAN network using the raw socket protocol. To use CAN with the broadcast " "manager protocol instead, open a socket with::" msgstr "" +"У наступному прикладі показано, як використовувати інтерфейс сокета для " +"зв’язку з мережею CAN за допомогою необробленого протоколу сокета. Щоб " +"замість цього використовувати CAN із протоколом диспетчера трансляції, " +"відкрийте сокет за допомогою:" msgid "socket.socket(socket.AF_CAN, socket.SOCK_DGRAM, socket.CAN_BCM)" msgstr "" @@ -2115,7 +2682,7 @@ msgid "" msgstr "" msgid "This last example might require special privileges::" -msgstr "" +msgstr "Цей останній приклад може вимагати спеціальних привілеїв:" msgid "" "import socket\n" @@ -2157,6 +2724,44 @@ msgid "" " except OSError:\n" " print('Error sending CAN frame')" msgstr "" +"import socket\n" +"import struct\n" +"\n" +"\n" +"# CAN frame packing/unpacking (see 'struct can_frame' in )\n" +"\n" +"can_frame_fmt = \"=IB3x8s\"\n" +"can_frame_size = struct.calcsize(can_frame_fmt)\n" +"\n" +"def build_can_frame(can_id, data):\n" +" can_dlc = len(data)\n" +" data = data.ljust(8, b'\\x00')\n" +" return struct.pack(can_frame_fmt, can_id, can_dlc, data)\n" +"\n" +"def dissect_can_frame(frame):\n" +" can_id, can_dlc, data = struct.unpack(can_frame_fmt, frame)\n" +" return (can_id, can_dlc, data[:can_dlc])\n" +"\n" +"\n" +"# create a raw socket and bind it to the 'vcan0' interface\n" +"s = socket.socket(socket.AF_CAN, socket.SOCK_RAW, socket.CAN_RAW)\n" +"s.bind(('vcan0',))\n" +"\n" +"while True:\n" +" cf, addr = s.recvfrom(can_frame_size)\n" +"\n" +" print('Received: can_id=%x, can_dlc=%x, data=%s' % " +"dissect_can_frame(cf))\n" +"\n" +" try:\n" +" s.send(cf)\n" +" except OSError:\n" +" print('Error sending CAN frame')\n" +"\n" +" try:\n" +" s.send(build_can_frame(0x01, b'\\x01\\x02\\x03'))\n" +" except OSError:\n" +" print('Error sending CAN frame')" msgid "" "Running an example several times with too small delay between executions, " @@ -2164,7 +2769,7 @@ msgid "" msgstr "" msgid "OSError: [Errno 98] Address already in use" -msgstr "" +msgstr "Ошибка ОС: [Errno 98] Адрес уже используется" msgid "" "This is because the previous execution has left the socket in a " @@ -2175,6 +2780,8 @@ msgid "" "There is a :mod:`socket` flag to set, in order to prevent this, :const:" "`socket.SO_REUSEADDR`::" msgstr "" +"Чтобы предотвратить это, необходимо установить флаг :mod:`socket` :const:" +"`socket.SO_REUSEADDR`::" msgid "" "s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n" @@ -2195,6 +2802,8 @@ msgid "" "*An Introductory 4.3BSD Interprocess Communication Tutorial*, by Stuart " "Sechrest" msgstr "" +"*Вступний навчальний посібник із взаємодії між процесами 4.3BSD*, Стюарт " +"Сехрест" msgid "" "*An Advanced 4.3BSD Interprocess Communication Tutorial*, by Samuel J. " @@ -2215,7 +2824,7 @@ msgid "object" msgstr "obiekt" msgid "socket" -msgstr "" +msgstr "socket" msgid "I/O control" msgstr "Kontrola I/O" @@ -2227,4 +2836,4 @@ msgid "module" msgstr "moduł" msgid "struct" -msgstr "" +msgstr "структура" diff --git a/library/socketserver.po b/library/socketserver.po index 440bf345ab..dbb3081a83 100644 --- a/library/socketserver.po +++ b/library/socketserver.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-06-27 14:55+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -25,15 +24,16 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!socketserver` --- A framework for network servers" -msgstr "" +msgstr ":mod:`!socketserver` --- Фреймворк для сетевых серверов." 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 " "servers." msgstr "" +"Модуль :mod:`socketserver` спрощує завдання написання мережевих серверів." msgid "Availability" msgstr "Dostępność" @@ -42,9 +42,11 @@ msgid "" "This module does not work or is not available on WebAssembly. See :ref:`wasm-" "availability` for more information." msgstr "" +"Этот модуль не работает или недоступен в WebAssembly. См. :ref:`wasm-" +"availability` для получения дополнительной информации." msgid "There are four basic concrete server classes:" -msgstr "" +msgstr "Існує чотири основних класи конкретних серверів:" msgid "" "This uses the internet TCP protocol, which provides for continuous streams " @@ -53,18 +55,29 @@ msgid "" "and :meth:`~BaseServer.server_activate`. The other parameters are passed to " "the :class:`BaseServer` base class." msgstr "" +"Для цього використовується інтернет-протокол TCP, який забезпечує " +"безперервні потоки даних між клієнтом і сервером. Якщо *bind_and_activate* " +"має значення true, конструктор автоматично намагається викликати :meth:" +"`~BaseServer.server_bind` і :meth:`~BaseServer.server_activate`. Інші " +"параметри передаються до базового класу :class:`BaseServer`." msgid "" "This uses datagrams, which are discrete packets of information that may " "arrive out of order or be lost while in transit. The parameters are the " "same as for :class:`TCPServer`." msgstr "" +"Для цього використовуються дейтаграми, які є окремими пакетами інформації, " +"які можуть надійти не в порядку або бути втраченими під час передачі. " +"Параметри такі самі, як і для :class:`TCPServer`." msgid "" "These more infrequently used classes are similar to the TCP and UDP classes, " "but use Unix domain sockets; they're not available on non-Unix platforms. " "The parameters are the same as for :class:`TCPServer`." msgstr "" +"Ці менш часто використовувані класи подібні до класів TCP і UDP, але " +"використовують доменні сокети Unix; вони недоступні на платформах, відмінних " +"від Unix. Параметри такі самі, як і для :class:`TCPServer`." msgid "" "These four classes process requests :dfn:`synchronously`; each request must " @@ -75,6 +88,13 @@ msgid "" "each request; the :class:`ForkingMixIn` and :class:`ThreadingMixIn` mix-in " "classes can be used to support asynchronous behaviour." msgstr "" +"Ці чотири класи обробляють запити :dfn:`synchronously`; кожен запит має бути " +"виконано перед початком наступного запиту. Це не підходить, якщо виконання " +"кожного запиту займає багато часу, тому що він вимагає багато обчислень або " +"тому, що він повертає багато даних, які клієнт повільно обробляє. Рішення " +"полягає у створенні окремого процесу або потоку для обробки кожного запиту; " +"змішані класи :class:`ForkingMixIn` і :class:`ThreadingMixIn` можна " +"використовувати для підтримки асинхронної поведінки." msgid "" "Creating a server requires several steps. First, you must create a request " @@ -88,6 +108,16 @@ msgid "" "meth:`~BaseServer.server_close` to close the socket (unless you used a :" "keyword:`!with` statement)." msgstr "" +"Створення сервера вимагає кількох кроків. По-перше, ви повинні створити клас " +"обробника запитів, створивши підклас класу :class:`BaseRequestHandler` і " +"перевизначивши його метод :meth:`~BaseRequestHandler.handle`; цей метод " +"оброблятиме вхідні запити. По-друге, ви повинні створити екземпляр одного з " +"класів сервера, передавши йому адресу сервера та клас обробника запитів. " +"Рекомендовано використовувати сервер у операторі :keyword:`with`. Потім " +"викличте метод :meth:`~BaseServer.handle_request` або :meth:`~BaseServer." +"serve_forever` об’єкта сервера для обробки одного або кількох запитів. " +"Нарешті, викличте :meth:`~BaseServer.server_close`, щоб закрити сокет (якщо " +"ви не використали оператор :keyword:`!with`)." msgid "" "When inheriting from :class:`ThreadingMixIn` for threaded connection " @@ -99,19 +129,31 @@ msgid "" "meaning that Python will not exit until all threads created by :class:" "`ThreadingMixIn` have exited." msgstr "" +"Успадковуючи від :class:`ThreadingMixIn` поведінку потокового з’єднання, ви " +"повинні явно оголосити, як ви хочете, щоб ваші потоки поводилися під час " +"раптового завершення роботи. Клас :class:`ThreadingMixIn` визначає атрибут " +"*daemon_threads*, який вказує, чи повинен сервер чекати завершення потоку. " +"Ви повинні встановити прапорець явно, якщо ви хочете, щоб потоки поводилися " +"автономно; за замовчуванням :const:`False`, що означає, що Python не " +"завершить роботу, доки не завершаться всі потоки, створені :class:" +"`ThreadingMixIn`." msgid "" "Server classes have the same external methods and attributes, no matter what " "network protocol they use." msgstr "" +"Класи серверів мають однакові зовнішні методи та атрибути, незалежно від " +"того, який мережевий протокол вони використовують." msgid "Server Creation Notes" -msgstr "" +msgstr "Примітки щодо створення сервера" msgid "" "There are five classes in an inheritance diagram, four of which represent " "synchronous servers of four types::" msgstr "" +"У діаграмі успадкування є п’ять класів, чотири з яких представляють " +"синхронні сервери чотирьох типів:" msgid "" "+------------+\n" @@ -128,52 +170,85 @@ msgid "" "| UDPServer |------->| UnixDatagramServer |\n" "+-----------+ +--------------------+" msgstr "" +"+------------+\n" +"| BaseServer |\n" +"+------------+\n" +" |\n" +" v\n" +"+-----------+ +------------------+\n" +"| TCPServer |------->| UnixStreamServer |\n" +"+-----------+ +------------------+\n" +" |\n" +" v\n" +"+-----------+ +--------------------+\n" +"| UDPServer |------->| UnixDatagramServer |\n" +"+-----------+ +--------------------+" msgid "" "Note that :class:`UnixDatagramServer` derives from :class:`UDPServer`, not " "from :class:`UnixStreamServer` --- the only difference between an IP and a " "Unix server is the address family." msgstr "" +"Обратите внимание, что :class:`UnixDatagramServer` происходит от :class:" +"`UDPServer`, а не от :class:`UnixStreamServer` --- единственная разница " +"между IP-сервером и сервером Unix - это семейство адресов." msgid "" "Forking and threading versions of each type of server can be created using " "these mix-in classes. For instance, :class:`ThreadingUDPServer` is created " "as follows::" msgstr "" +"Розгалуження та версії потоків кожного типу сервера можна створити за " +"допомогою цих змішаних класів. Наприклад, :class:`ThreadingUDPServer` " +"створюється таким чином:" msgid "" "class ThreadingUDPServer(ThreadingMixIn, UDPServer):\n" " pass" -msgstr "" +msgstr "класс ThreadingUDPServer (ThreadingMixIn, UDPServer): проходить" msgid "" "The mix-in class comes first, since it overrides a method defined in :class:" "`UDPServer`. Setting the various attributes also changes the behavior of " "the underlying server mechanism." msgstr "" +"Клас mix-in стоїть на першому місці, оскільки він замінює метод, визначений " +"у :class:`UDPServer`. Налаштування різних атрибутів також змінює поведінку " +"базового серверного механізму." msgid "" ":class:`ForkingMixIn` and the Forking classes mentioned below are only " "available on POSIX platforms that support :func:`~os.fork`." msgstr "" +":class:`ForkingMixIn` і згадані нижче класи Forking доступні лише на " +"платформах POSIX, які підтримують :func:`~os.fork`." msgid "" ":meth:`ForkingMixIn.server_close ` waits until all " "child processes complete, except if :attr:`block_on_close` attribute is " "``False``." msgstr "" +":meth:`ForkingMixIn.server_close ` ожидает " +"завершения всех дочерних процессов, за исключением случаев, когда атрибут :" +"attr:`block_on_close` имеет значение ``False``." msgid "" ":meth:`ThreadingMixIn.server_close ` waits until " "all non-daemon threads complete, except if :attr:`block_on_close` attribute " "is ``False``." msgstr "" +":meth:`ThreadingMixIn.server_close ` ожидает " +"завершения всех потоков, не являющихся демонами, за исключением случаев, " +"когда атрибут :attr:`block_on_close` имеет значение ``False``." msgid "" "For :class:`ThreadingMixIn` use daemonic threads by setting :data:" "`ThreadingMixIn.daemon_threads ` to ``True`` to not wait " "until threads complete." msgstr "" +"Для :class:`ThreadingMixIn` используйте демонические потоки, установив для :" +"data:`ThreadingMixIn.daemon_threads ` значение ``True``, " +"чтобы не ждать завершения потоков." msgid "" ":meth:`ForkingMixIn.server_close ` and :meth:" @@ -182,14 +257,20 @@ msgid "" "`ForkingMixIn.block_on_close ` class attribute to opt-in for " "the pre-3.7 behaviour." msgstr "" +":meth:`ForkingMixIn.server_close ` и :meth:" +"`ThreadingMixIn.server_close ` теперь ждут " +"завершения всех дочерних процессов и недемонических потоков. Добавьте новый " +"атрибут класса :attr:`ForkingMixIn.block_on_close `, чтобы " +"включить поведение версии до версии 3.7." msgid "These classes are pre-defined using the mix-in classes." -msgstr "" +msgstr "Ці класи попередньо визначені за допомогою змішаних класів." msgid "" "The ``ForkingUnixStreamServer`` and ``ForkingUnixDatagramServer`` classes " "were added." msgstr "" +"Были добавлены классы ForkingUnixStreamServer и ForkingUnixDatagramServer." msgid "" "To implement a service, you must derive a class from :class:" @@ -200,6 +281,13 @@ msgid "" "by using the handler subclasses :class:`StreamRequestHandler` or :class:" "`DatagramRequestHandler`." msgstr "" +"Щоб реалізувати службу, ви повинні отримати клас від :class:" +"`BaseRequestHandler` і перевизначити його метод :meth:`~BaseRequestHandler." +"handle`. Потім ви можете запустити різні версії служби, поєднавши один із " +"класів сервера з класом обробника запитів. Клас обробника запитів має " +"відрізнятися для датаграм або потокових служб. Це можна приховати за " +"допомогою підкласів обробників :class:`StreamRequestHandler` або :class:" +"`DatagramRequestHandler`." msgid "" "Of course, you still have to use your head! For instance, it makes no sense " @@ -209,6 +297,13 @@ msgid "" "each child. In this case, you can use a threading server, but you will " "probably have to use locks to protect the integrity of the shared data." msgstr "" +"Звичайно, вам все одно доведеться використовувати свою голову! Наприклад, " +"немає сенсу використовувати сервер розгалуження, якщо служба містить стан у " +"пам’яті, який можна змінювати різними запитами, оскільки зміни в дочірньому " +"процесі ніколи не досягнуть початкового стану, який зберігається в " +"батьківському процесі та передається кожному дочірньому. . У цьому випадку " +"ви можете використовувати потоковий сервер, але вам, ймовірно, доведеться " +"використовувати блокування для захисту цілісності спільних даних." msgid "" "On the other hand, if you are building an HTTP server where all data is " @@ -218,6 +313,11 @@ msgid "" "all the data it has requested. Here a threading or forking server is " "appropriate." msgstr "" +"З іншого боку, якщо ви створюєте HTTP-сервер, де всі дані зберігаються зовні " +"(наприклад, у файловій системі), синхронний клас, по суті, надаватиме " +"послугу \"глухою\", поки обробляється один запит, що може бути дуже довго, " +"якщо клієнт повільно отримує всі запитувані дані. Тут підійде сервер потоків " +"або розгалуження." msgid "" "In some cases, it may be appropriate to process part of a request " @@ -226,6 +326,11 @@ msgid "" "doing an explicit fork in the request handler class :meth:" "`~BaseRequestHandler.handle` method." msgstr "" +"У деяких випадках може бути доречним обробити частину запиту синхронно, але " +"завершити обробку в розгалуженому дочірньому файлі залежно від даних запиту. " +"Це можна реалізувати за допомогою синхронного сервера та виконання явного " +"розгалуження в методі класу обробника запитів :meth:`~BaseRequestHandler." +"handle`." msgid "" "Another approach to handling multiple simultaneous requests in an " @@ -237,9 +342,17 @@ msgid "" "client can potentially be connected for a long time (if threads or " "subprocesses cannot be used)." msgstr "" +"Другой подход к обработке нескольких одновременных запросов в среде, которая " +"не поддерживает ни потоки, ни :func:`~os.fork` (или там, где они слишком " +"дороги или не подходят для службы), состоит в том, чтобы поддерживать явную " +"таблицу частично завершенных запросов и использовать :mod:`селекторы`, чтобы " +"решить, над каким запросом работать дальше (или обрабатывать ли новый " +"входящий запрос). Это особенно важно для потоковых сервисов, где каждый " +"клиент потенциально может быть подключен в течение длительного времени (если " +"невозможно использовать потоки или подпроцессы)." msgid "Server Objects" -msgstr "" +msgstr "Серверні об’єкти" msgid "" "This is the superclass of all Server objects in the module. It defines the " @@ -247,12 +360,19 @@ msgid "" "done in subclasses. The two parameters are stored in the respective :attr:" "`server_address` and :attr:`RequestHandlerClass` attributes." msgstr "" +"Це суперклас усіх об’єктів сервера в модулі. Він визначає інтерфейс, " +"наведений нижче, але не реалізує більшість методів, що робиться в підкласах. " +"Два параметри зберігаються у відповідних атрибутах :attr:`server_address` і :" +"attr:`RequestHandlerClass`." msgid "" "Return an integer file descriptor for the socket on which the server is " "listening. This function is most commonly passed to :mod:`selectors`, to " "allow monitoring multiple servers in the same process." msgstr "" +"Повертає цілочисельний файловий дескриптор для сокета, який прослуховує " +"сервер. Ця функція найчастіше передається :mod:`selectors`, щоб дозволити " +"моніторинг кількох серверів в одному процесі." msgid "" "Process a single request. This function calls the following methods in " @@ -263,6 +383,13 @@ msgid "" "attr:`timeout` seconds, :meth:`handle_timeout` will be called and :meth:" "`handle_request` will return." msgstr "" +"Обробити один запит. Ця функція викликає наступні методи в порядку: :meth:" +"`get_request`, :meth:`verify_request` і :meth:`process_request`. Якщо " +"наданий користувачем метод :meth:`~BaseRequestHandler.handle` класу " +"обробника викликає виняток, буде викликано метод :meth:`handle_error` " +"сервера. Якщо протягом :attr:`timeout` секунд не буде отримано жодного " +"запиту, буде викликано :meth:`handle_timeout` і :meth:`handle_request` " +"повернеться." msgid "" "Handle requests until an explicit :meth:`shutdown` request. Poll for " @@ -272,24 +399,36 @@ msgid "" "example, the :class:`ForkingMixIn` class uses :meth:`service_actions` to " "clean up zombie child processes." msgstr "" +"Обробляти запити до явного запиту :meth:`shutdown`. Опитування для вимкнення " +"кожні *poll_interval* секунди. Ігнорує атрибут :attr:`timeout`. Він також " +"викликає :meth:`service_actions`, який може використовуватися підкласом або " +"міксином для виконання дій, специфічних для певної служби. Наприклад, клас :" +"class:`ForkingMixIn` використовує :meth:`service_actions` для очищення " +"дочірніх процесів-зомбі." msgid "Added ``service_actions`` call to the ``serve_forever`` method." -msgstr "" +msgstr "Додано виклик ``service_actions`` до методу ``serve_forever``." msgid "" "This is called in the :meth:`serve_forever` loop. This method can be " "overridden by subclasses or mixin classes to perform actions specific to a " "given service, such as cleanup actions." msgstr "" +"Це викликається в циклі :meth:`serve_forever`. Цей метод може бути " +"перевизначений підкласами або класами mixin для виконання дій, специфічних " +"для певної служби, наприклад дій очищення." msgid "" "Tell the :meth:`serve_forever` loop to stop and wait until it does. :meth:" "`shutdown` must be called while :meth:`serve_forever` is running in a " "different thread otherwise it will deadlock." msgstr "" +"Скажіть циклу :meth:`serve_forever` зупинитися та зачекайте, доки він " +"зупиниться. :meth:`shutdown` потрібно викликати, поки :meth:`serve_forever` " +"працює в іншому потоці, інакше він блокується." msgid "Clean up the server. May be overridden." -msgstr "" +msgstr "Очистити сервер. Може бути перевизначено." msgid "" "The family of protocols to which the server's socket belongs. Common " @@ -298,11 +437,18 @@ msgid "" "with class attribute ``address_family = AF_INET6`` set if you want IPv6 " "server classes." msgstr "" +"Семейство протоколов, которым принадлежит сокет сервера. Общие примеры: " +"const: `socket.af_inet`,: const:` socket.af_inet6` и: const: `socket." +"af_unix`. Подкласс классов TCP или UDP -сервера в этом модуле с атрибутом " +"класса `` address_family = af_inet6`` Установите, если вы хотите классы " +"сервера IPv6." msgid "" "The user-provided request handler class; an instance of this class is " "created for each request." msgstr "" +"Клас обробника запитів, наданий користувачем; екземпляр цього класу " +"створюється для кожного запиту." msgid "" "The address on which the server is listening. The format of addresses " @@ -311,18 +457,24 @@ msgid "" "containing a string giving the address, and an integer port number: " "``('127.0.0.1', 80)``, for example." msgstr "" +"Адреса, на якій прослуховується сервер. Формат адреси змінюється в " +"залежності від сімейства протоколів; подробиці дивіться в документації до " +"модуля :mod:`socket`. Для інтернет-протоколів це кортеж, що містить рядок, " +"що вказує адресу, і цілий номер порту: ``('127.0.0.1', 80)``, наприклад." msgid "" "The socket object on which the server will listen for incoming requests." -msgstr "" +msgstr "Об’єкт сокета, на якому сервер прослуховуватиме вхідні запити." msgid "The server classes support the following class variables:" -msgstr "" +msgstr "Класи сервера підтримують наступні змінні класу:" msgid "" "Whether the server will allow the reuse of an address. This defaults to :" "const:`False`, and can be set in subclasses to change the policy." msgstr "" +"Чи дозволить сервер повторне використання адреси. За умовчанням це :const:" +"`False`, і його можна встановити в підкласах, щоб змінити політику." msgid "" "The size of the request queue. If it takes a long time to process a single " @@ -331,34 +483,52 @@ msgid "" "further requests from clients will get a \"Connection denied\" error. The " "default value is usually 5, but this can be overridden by subclasses." msgstr "" +"Розмір черги запитів. Якщо обробка одного запиту займає багато часу, будь-" +"які запити, які надходять, коли сервер зайнятий, розміщуються в черзі, до " +"запитів :attr:`request_queue_size`. Після заповнення черги подальші запити " +"від клієнтів отримуватимуть помилку \"З’єднання відмовлено\". Значення за " +"замовчуванням зазвичай дорівнює 5, але це може бути замінено підкласами." msgid "" "The type of socket used by the server; :const:`socket.SOCK_STREAM` and :" "const:`socket.SOCK_DGRAM` are two common values." msgstr "" +"Тип сокета, який використовує сервер; :const:`socket.SOCK_STREAM` і :const:" +"`socket.SOCK_DGRAM` є двома загальними значеннями." msgid "" "Timeout duration, measured in seconds, or :const:`None` if no timeout is " "desired. If :meth:`handle_request` receives no incoming requests within the " "timeout period, the :meth:`handle_timeout` method is called." msgstr "" +"Тривалість тайм-ауту, вимірюється в секундах, або :const:`None`, якщо тайм-" +"аут не потрібний. Якщо :meth:`handle_request` не отримує вхідних запитів " +"протягом періоду очікування, викликається метод :meth:`handle_timeout`." msgid "" "There are various server methods that can be overridden by subclasses of " "base server classes like :class:`TCPServer`; these methods aren't useful to " "external users of the server object." msgstr "" +"Існують різні методи сервера, які можуть бути замінені підкласами базових " +"класів серверів, наприклад :class:`TCPServer`; ці методи не корисні " +"зовнішнім користувачам серверного об’єкта." msgid "" "Actually processes the request by instantiating :attr:`RequestHandlerClass` " "and calling its :meth:`~BaseRequestHandler.handle` method." msgstr "" +"Фактично обробляє запит, створюючи екземпляр :attr:`RequestHandlerClass` і " +"викликаючи його метод :meth:`~BaseRequestHandler.handle`." msgid "" "Must accept a request from the socket, and return a 2-tuple containing the " "*new* socket object to be used to communicate with the client, and the " "client's address." msgstr "" +"Потрібно прийняти запит від сокета та повернути 2-кортеж, що містить *новий* " +"об’єкт сокета, який буде використовуватися для зв’язку з клієнтом, і адресу " +"клієнта." msgid "" "This function is called if the :meth:`~BaseRequestHandler.handle` method of " @@ -366,9 +536,13 @@ msgid "" "action is to print the traceback to standard error and continue handling " "further requests." msgstr "" +"Ця функція викликається, якщо метод :meth:`~BaseRequestHandler.handle` " +"примірника :attr:`RequestHandlerClass` викликає виняткову ситуацію. Дія за " +"замовчуванням полягає в тому, щоб надрукувати відстеження стандартної " +"помилки та продовжити обробку подальших запитів." msgid "Now only called for exceptions derived from the :exc:`Exception` class." -msgstr "" +msgstr "Тепер викликаються лише винятки, похідні від класу :exc:`Exception`." msgid "" "This function is called when the :attr:`timeout` attribute has been set to a " @@ -377,6 +551,11 @@ msgid "" "collect the status of any child processes that have exited, while in " "threading servers this method does nothing." msgstr "" +"Ця функція викликається, коли для атрибута :attr:`timeout` встановлено " +"значення, відмінне від :const:`None`, і період очікування минув, а запити не " +"надходили. Дія за замовчуванням для розгалужених серверів полягає в зборі " +"статусу будь-яких дочірніх процесів, які вийшли, тоді як у потокових " +"серверах цей метод не робить нічого." msgid "" "Calls :meth:`finish_request` to create an instance of the :attr:" @@ -384,17 +563,26 @@ msgid "" "or thread to handle the request; the :class:`ForkingMixIn` and :class:" "`ThreadingMixIn` classes do this." msgstr "" +"Викликає :meth:`finish_request` для створення екземпляра :attr:" +"`RequestHandlerClass`. За бажання ця функція може створити новий процес або " +"потік для обробки запиту; це роблять класи :class:`ForkingMixIn` і :class:" +"`ThreadingMixIn`." msgid "" "Called by the server's constructor to activate the server. The default " "behavior for a TCP server just invokes :meth:`~socket.socket.listen` on the " "server's socket. May be overridden." msgstr "" +"Викликається конструктором сервера для активації сервера. Поведінка за " +"замовчуванням для TCP-сервера просто викликає :meth:`~socket.socket.listen` " +"у сокеті сервера. Може бути перевизначено." msgid "" "Called by the server's constructor to bind the socket to the desired " "address. May be overridden." msgstr "" +"Викликається конструктором сервера, щоб прив’язати сокет до потрібної " +"адреси. Може бути перевизначено." msgid "" "Must return a Boolean value; if the value is :const:`True`, the request will " @@ -402,14 +590,20 @@ msgid "" "function can be overridden to implement access controls for a server. The " "default implementation always returns :const:`True`." msgstr "" +"Має повертати логічне значення; якщо значення :const:`True`, запит буде " +"оброблено, а якщо значення :const:`False`, запит буде відхилено. Цю функцію " +"можна замінити, щоб реалізувати контроль доступу до сервера. Стандартна " +"реалізація завжди повертає :const:`True`." msgid "" "Support for the :term:`context manager` protocol was added. Exiting the " "context manager is equivalent to calling :meth:`server_close`." msgstr "" +"Додано підтримку протоколу :term:`context manager`. Вихід із контекстного " +"менеджера еквівалентний виклику :meth:`server_close`." msgid "Request Handler Objects" -msgstr "" +msgstr "Об’єкти обробки запитів" msgid "" "This is the superclass of all request handler objects. It defines the " @@ -417,11 +611,17 @@ msgid "" "new :meth:`handle` method, and can override any of the other methods. A new " "instance of the subclass is created for each request." msgstr "" +"Це суперклас усіх об’єктів обробки запитів. Він визначає інтерфейс, " +"наведений нижче. Конкретний підклас обробника запитів повинен визначати " +"новий метод :meth:`handle` і може перевизначати будь-які інші методи. Для " +"кожного запиту створюється новий екземпляр підкласу." msgid "" "Called before the :meth:`handle` method to perform any initialization " "actions required. The default implementation does nothing." msgstr "" +"Викликається перед методом :meth:`handle` для виконання будь-яких необхідних " +"дій ініціалізації. Стандартна реалізація нічого не робить." msgid "" "This function must do all the work required to service a request. The " @@ -430,59 +630,81 @@ msgid "" "address as :attr:`client_address`; and the server instance as :attr:" "`server`, in case it needs access to per-server information." msgstr "" +"Эта функция должна выполнять всю работу, необходимую для обслуживания " +"запроса. Реализация по умолчанию ничего не делает. Ему доступны несколько " +"атрибутов экземпляра; запрос доступен как :attr:`request`; адрес клиента " +"как :attr:`client_address`; и экземпляр сервера как :attr:`server`, на " +"случай, если ему потребуется доступ к информации по каждому серверу." msgid "" "The type of :attr:`request` is different for datagram or stream services. " "For stream services, :attr:`request` is a socket object; for datagram " "services, :attr:`request` is a pair of string and socket." msgstr "" +"Тип :attr:`request` различен для дейтаграммных и потоковых сервисов. Для " +"потоковых сервисов :attr:`request` — это объект сокета; для служб " +"дейтаграмм :attr:`request` — это пара строки и сокета." msgid "" "Called after the :meth:`handle` method to perform any clean-up actions " "required. The default implementation does nothing. If :meth:`setup` raises " "an exception, this function will not be called." msgstr "" +"Викликається після методу :meth:`handle` для виконання будь-яких необхідних " +"дій очищення. Стандартна реалізація нічого не робить. Якщо :meth:`setup` " +"викликає виняток, ця функція не буде викликана." msgid "" "The *new* :class:`socket.socket` object to be used to communicate with the " "client." msgstr "" +"*новый* объект :class:`socket.socket`, который будет использоваться для " +"связи с клиентом." msgid "Client address returned by :meth:`BaseServer.get_request`." -msgstr "" +msgstr "Адрес клиента, возвращаемый :meth:`BaseServer.get_request`." msgid ":class:`BaseServer` object used for handling the request." -msgstr "" +msgstr "Объект :class:`BaseServer`, используемый для обработки запроса." msgid "" "These :class:`BaseRequestHandler` subclasses override the :meth:" "`~BaseRequestHandler.setup` and :meth:`~BaseRequestHandler.finish` methods, " "and provide :attr:`rfile` and :attr:`wfile` attributes." msgstr "" +"Эти подклассы :class:`BaseRequestHandler` переопределяют методы :meth:" +"`~BaseRequestHandler.setup` и :meth:`~BaseRequestHandler.finish` и " +"предоставляют атрибуты :attr:`rfile` и :attr:`wfile`." msgid "" "A file object from which receives the request is read. Support the :class:" "`io.BufferedIOBase` readable interface." msgstr "" +"Читается файловый объект, из которого поступает запрос. Поддержка читаемого " +"интерфейса :class:`io.BufferedIOBase`." msgid "" "A file object to which the reply is written. Support the :class:`io." "BufferedIOBase` writable interface" msgstr "" +"Файловый объект, в который записывается ответ. Поддержка записываемого " +"интерфейса :class:`io.BufferedIOBase`." msgid "" ":attr:`wfile` also supports the :class:`io.BufferedIOBase` writable " "interface." msgstr "" +":attr:`wfile` также поддерживает записываемый интерфейс :class:`io." +"BufferedIOBase`." msgid "Examples" msgstr "Przykłady" msgid ":class:`socketserver.TCPServer` Example" -msgstr "" +msgstr ":class:`socketserver.TCPServer` Приклад" msgid "This is the server side::" -msgstr "" +msgstr "Це сторона сервера::" msgid "" "import socketserver\n" @@ -519,12 +741,48 @@ msgid "" " # interrupt the program with Ctrl-C\n" " server.serve_forever()" msgstr "" +"import socketserver\n" +"\n" +"class MyTCPHandler(socketserver.BaseRequestHandler):\n" +" \"\"\"\n" +" The request handler class for our server.\n" +"\n" +" It is instantiated once per connection to the server, and must\n" +" override the handle() method to implement communication to the\n" +" client.\n" +" \"\"\"\n" +"\n" +" def handle(self):\n" +" # self.request is the TCP socket connected to the client\n" +" pieces = [b'']\n" +" total = 0\n" +" while b'\\n' not in pieces[-1] and total < 10_000:\n" +" pieces.append(self.request.recv(2000))\n" +" total += len(pieces[-1])\n" +" self.data = b''.join(pieces)\n" +" print(f\"Received from {self.client_address[0]}:\")\n" +" print(self.data.decode(\"utf-8\"))\n" +" # just send back the same data, but upper-cased\n" +" self.request.sendall(self.data.upper())\n" +" # after we return, the socket will be closed.\n" +"\n" +"if __name__ == \"__main__\":\n" +" HOST, PORT = \"localhost\", 9999\n" +"\n" +" # Create the server, binding to localhost on port 9999\n" +" with socketserver.TCPServer((HOST, PORT), MyTCPHandler) as server:\n" +" # Activate the server; this will keep running until you\n" +" # interrupt the program with Ctrl-C\n" +" server.serve_forever()" msgid "" "An alternative request handler class that makes use of streams (file-like " "objects that simplify communication by providing the standard file " "interface)::" msgstr "" +"Альтернативний клас обробника запитів, який використовує потоки " +"(файлоподібні об’єкти, які спрощують зв’язок, надаючи стандартний файловий " +"інтерфейс):" msgid "" "class MyTCPHandler(socketserver.StreamRequestHandler):\n" @@ -540,20 +798,40 @@ msgid "" " # to the client\n" " self.wfile.write(self.data.upper())" msgstr "" +"class MyTCPHandler(socketserver.StreamRequestHandler):\n" +"\n" +" def handle(self):\n" +" # self.rfile is a file-like object created by the handler.\n" +" # We can now use e.g. readline() instead of raw recv() calls.\n" +" # We limit ourselves to 10000 bytes to avoid abuse by the sender.\n" +" self.data = self.rfile.readline(10000).rstrip()\n" +" print(f\"{self.client_address[0]} wrote:\")\n" +" print(self.data.decode(\"utf-8\"))\n" +" # Likewise, self.wfile is a file-like object used to write back\n" +" # to the client\n" +" self.wfile.write(self.data.upper())" 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 " "the number of ``recv()`` calls on the server required to receive it." msgstr "" +"A diferença é que a chamada ``readline()`` no segundo manipulador chamará " +"``recv()`` várias vezes até encontrar um caractere de nova linha, enquanto o " +"primeiro manipulador teve que usar um laço ``recv()`` para acumular dados " +"até uma nova linha. Se tivesse usado apenas um único ``recv()`` sem o laço, " +"ele teria retornado apenas o que foi recebido até agora do cliente. O TCP é " +"baseado em fluxo: os dados chegam na ordem em que foram enviados, mas não há " +"correlação entre as chamadas ``send()`` ou ``sendall()`` do cliente e o " +"número de chamadas ``recv()`` no servidor necessárias para recebê-los." msgid "This is the client side::" -msgstr "" +msgstr "Це сторона клієнта::" msgid "" "import socket\n" @@ -575,12 +853,30 @@ msgid "" "print(\"Sent: \", data)\n" "print(\"Received:\", received)" msgstr "" +"import socket\n" +"import sys\n" +"\n" +"HOST, PORT = \"localhost\", 9999\n" +"data = \" \".join(sys.argv[1:])\n" +"\n" +"# Create a socket (SOCK_STREAM means a TCP socket)\n" +"with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:\n" +" # Connect to server and send data\n" +" sock.connect((HOST, PORT))\n" +" sock.sendall(bytes(data, \"utf-8\"))\n" +" sock.sendall(b\"\\n\")\n" +"\n" +" # Receive data from the server and shut down\n" +" received = str(sock.recv(1024), \"utf-8\")\n" +"\n" +"print(\"Sent: \", data)\n" +"print(\"Received:\", received)" msgid "The output of the example should look something like this:" -msgstr "" +msgstr "Результат прикладу має виглядати приблизно так:" msgid "Server:" -msgstr "" +msgstr "сервер:" msgid "" "$ python TCPServer.py\n" @@ -589,9 +885,14 @@ msgid "" "127.0.0.1 wrote:\n" "b'python is nice'" msgstr "" +"$ python TCPServer.py\n" +"127.0.0.1 wrote:\n" +"b'hello world with TCP'\n" +"127.0.0.1 wrote:\n" +"b'python is nice'" msgid "Client:" -msgstr "" +msgstr "Клієнт:" msgid "" "$ python TCPClient.py hello world with TCP\n" @@ -601,9 +902,15 @@ msgid "" "Sent: python is nice\n" "Received: PYTHON IS NICE" msgstr "" +"$ python TCPClient.py hello world with TCP\n" +"Sent: hello world with TCP\n" +"Received: HELLO WORLD WITH TCP\n" +"$ python TCPClient.py python is nice\n" +"Sent: python is nice\n" +"Received: PYTHON IS NICE" msgid ":class:`socketserver.UDPServer` Example" -msgstr "" +msgstr ":class:`socketserver.UDPServer` Приклад" msgid "" "import socketserver\n" @@ -628,6 +935,27 @@ msgid "" " with socketserver.UDPServer((HOST, PORT), MyUDPHandler) as server:\n" " server.serve_forever()" msgstr "" +"import socketserver\n" +"\n" +"class MyUDPHandler(socketserver.BaseRequestHandler):\n" +" \"\"\"\n" +" This class works similar to the TCP handler class, except that\n" +" self.request consists of a pair of data and client socket, and since\n" +" there is no connection the client address must be given explicitly\n" +" when sending data back via sendto().\n" +" \"\"\"\n" +"\n" +" def handle(self):\n" +" data = self.request[0].strip()\n" +" socket = self.request[1]\n" +" print(f\"{self.client_address[0]} wrote:\")\n" +" print(data)\n" +" socket.sendto(data.upper(), self.client_address)\n" +"\n" +"if __name__ == \"__main__\":\n" +" HOST, PORT = \"localhost\", 9999\n" +" with socketserver.UDPServer((HOST, PORT), MyUDPHandler) as server:\n" +" server.serve_forever()" msgid "" "import socket\n" @@ -647,22 +975,42 @@ msgid "" "print(\"Sent: \", data)\n" "print(\"Received:\", received)" msgstr "" +"import socket\n" +"import sys\n" +"\n" +"HOST, PORT = \"localhost\", 9999\n" +"data = \" \".join(sys.argv[1:])\n" +"\n" +"# SOCK_DGRAM is the socket type to use for UDP sockets\n" +"sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)\n" +"\n" +"# As you can see, there is no connect() call; UDP has no connections.\n" +"# Instead, data is directly sent to the recipient via sendto().\n" +"sock.sendto(bytes(data + \"\\n\", \"utf-8\"), (HOST, PORT))\n" +"received = str(sock.recv(1024), \"utf-8\")\n" +"\n" +"print(\"Sent: \", data)\n" +"print(\"Received:\", received)" msgid "" "The output of the example should look exactly like for the TCP server " "example." msgstr "" +"Вихідні дані прикладу мають виглядати точно так само, як для прикладу " +"сервера TCP." msgid "Asynchronous Mixins" -msgstr "" +msgstr "Асинхронні міксини" msgid "" "To build asynchronous handlers, use the :class:`ThreadingMixIn` and :class:" "`ForkingMixIn` classes." msgstr "" +"Для створення асинхронних обробників використовуйте класи :class:" +"`ThreadingMixIn` і :class:`ForkingMixIn`." msgid "An example for the :class:`ThreadingMixIn` class::" -msgstr "" +msgstr "Приклад класу :class:`ThreadingMixIn`::" msgid "" "import socket\n" @@ -710,6 +1058,50 @@ msgid "" "\n" " server.shutdown()" msgstr "" +"import socket\n" +"import threading\n" +"import socketserver\n" +"\n" +"class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler):\n" +"\n" +" def handle(self):\n" +" data = str(self.request.recv(1024), 'ascii')\n" +" cur_thread = threading.current_thread()\n" +" response = bytes(\"{}: {}\".format(cur_thread.name, data), 'ascii')\n" +" self.request.sendall(response)\n" +"\n" +"class ThreadedTCPServer(socketserver.ThreadingMixIn, socketserver." +"TCPServer):\n" +" pass\n" +"\n" +"def client(ip, port, message):\n" +" with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:\n" +" sock.connect((ip, port))\n" +" sock.sendall(bytes(message, 'ascii'))\n" +" response = str(sock.recv(1024), 'ascii')\n" +" print(\"Received: {}\".format(response))\n" +"\n" +"if __name__ == \"__main__\":\n" +" # Port 0 means to select an arbitrary unused port\n" +" HOST, PORT = \"localhost\", 0\n" +"\n" +" server = ThreadedTCPServer((HOST, PORT), ThreadedTCPRequestHandler)\n" +" with server:\n" +" ip, port = server.server_address\n" +"\n" +" # Start a thread with the server -- that thread will then start one\n" +" # more thread for each request\n" +" server_thread = threading.Thread(target=server.serve_forever)\n" +" # Exit the server thread when the main thread terminates\n" +" server_thread.daemon = True\n" +" server_thread.start()\n" +" print(\"Server loop running in thread:\", server_thread.name)\n" +"\n" +" client(ip, port, \"Hello World 1\")\n" +" client(ip, port, \"Hello World 2\")\n" +" client(ip, port, \"Hello World 3\")\n" +"\n" +" server.shutdown()" msgid "" "$ python ThreadedTCPServer.py\n" @@ -718,9 +1110,17 @@ msgid "" "Received: Thread-3: Hello World 2\n" "Received: Thread-4: Hello World 3" msgstr "" +"$ python ThreadedTCPServer.py\n" +"Server loop running in thread: Thread-1\n" +"Received: Thread-2: Hello World 1\n" +"Received: Thread-3: Hello World 2\n" +"Received: Thread-4: Hello World 3" msgid "" "The :class:`ForkingMixIn` class is used in the same way, except that the " "server will spawn a new process for each request. Available only on POSIX " "platforms that support :func:`~os.fork`." msgstr "" +"Клас :class:`ForkingMixIn` використовується так само, за винятком того, що " +"сервер створюватиме новий процес для кожного запиту. Доступно лише на " +"платформах POSIX, які підтримують :func:`~os.fork`." diff --git a/library/sqlite3.po b/library/sqlite3.po index 7b0188ef77..1d342846c0 100644 --- a/library/sqlite3.po +++ b/library/sqlite3.po @@ -4,20 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Igor Zubrycki , 2021 -# Stefan Ocetkiewicz , 2023 -# Waldemar Stoczkowski, 2023 -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -29,9 +25,12 @@ msgstr "" 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 " @@ -41,31 +40,43 @@ msgid "" "application using SQLite and then port the code to a larger database such as " "PostgreSQL or Oracle." msgstr "" +"SQLite — це бібліотека C, яка надає легку дискову базу даних, яка не " +"потребує окремого серверного процесу та дозволяє отримувати доступ до бази " +"даних за допомогою нестандартного варіанту мови запитів SQL. Деякі програми " +"можуть використовувати SQLite для внутрішнього зберігання даних. Також можна " +"створити прототип програми за допомогою SQLite, а потім перенести код у " +"більшу базу даних, таку як PostgreSQL або Oracle." 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." msgstr "" +"Модуль :mod:`!sqlite3` был написан Герхардом Херингом. Он предоставляет " +"интерфейс SQL, соответствующий спецификации DB-API 2.0, описанной :pep:" +"`249`, и требует SQLite 3.15.2 или новее." msgid "This document includes four main sections:" -msgstr "" +msgstr "Цей документ включає в себе 4 головні розділи:" msgid ":ref:`sqlite3-tutorial` teaches how to use the :mod:`!sqlite3` module." msgstr "" +":ref:`sqlite3-tutorial`вчить як використовувати :mod:`!sqlite3` модуль." msgid "" ":ref:`sqlite3-reference` describes the classes and functions this module " "defines." msgstr "" +":ref:`sqlite3-reference` описує класи і функції, які визначає цей модуль" msgid ":ref:`sqlite3-howtos` details how to handle specific tasks." -msgstr "" +msgstr ":ref:`sqlite3-howtos` деталі як вирішувати певні задачі." msgid "" ":ref:`sqlite3-explanation` provides in-depth background on transaction " "control." msgstr "" +":ref:`sqlite3-explanation` надає поглиблений контекст контролю транзакцій." msgid "https://www.sqlite.org" msgstr "https://www.sqlite.org" @@ -74,18 +85,20 @@ msgid "" "The SQLite web page; the documentation describes the syntax and the " "available data types for the supported SQL dialect." msgstr "" +"Halaman web SQLite; dokumentasi menjelaskan sintaks dan tipe data yang " +"tersedia untuk dialek SQL yang didukung." msgid "https://www.w3schools.com/sql/" msgstr "https://www.w3schools.com/sql/" msgid "Tutorial, reference and examples for learning SQL syntax." -msgstr "" +msgstr "Tutorial, referensi, dan contoh untuk mempelajari sintaks SQL." msgid ":pep:`249` - Database API Specification 2.0" -msgstr "" +msgstr ":pep:`249` - Spesifikasi API Basisdata 2.0" msgid "PEP written by Marc-André Lemburg." -msgstr "" +msgstr "PEP ditulis oleh Marc-André Lemburg." msgid "Tutorial" msgstr "Tutorial" @@ -95,6 +108,9 @@ msgid "" "basic :mod:`!sqlite3` functionality. It assumes a fundamental understanding " "of database concepts, including `cursors`_ and `transactions`_." msgstr "" +"На цьому курсі Ви створите базу данних фільмів Монті Пайтон використовуючи " +"базовий функціонал :mod:`!sqlite3`. Це передбачає фундаментальне розуміння " +"концепту баз данних, включаючи `cursors`_ і `transactions`_." msgid "" "First, we need to create a new database and open a database connection to " @@ -102,25 +118,36 @@ msgid "" "create a connection to the database :file:`tutorial.db` in the current " "working directory, implicitly creating it if it does not exist:" msgstr "" +"Во-первых, нам нужно создать новую базу данных и открыть соединение с ней, " +"чтобы позволить :mod:`!sqlite3` работать с ней. Вызовите :func:`sqlite3." +"connect`, чтобы создать соединение с базой данных :file:`tutorial.db` в " +"текущем рабочем каталоге, неявно создав его, если он не существует:" 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 " "the on-disk database." msgstr "" +"Поверненний :class:`Connection` об'єкт ``con`` відображає з'єднання з базою " +"данних на диску." msgid "" "In order to execute SQL statements and fetch results from SQL queries, we " "will need to use a database cursor. Call :meth:`con.cursor() ` to create the :class:`Cursor`:" msgstr "" +"Щоб виконувати SQL викази і отримувати результати із запитів SQL, нам " +"знадобиться використовувати курсор бази даних. Викличте :meth:`con.cursor() " +"` , щоб створити :class:`Cursor`:" msgid "cur = con.cursor()" -msgstr "" +msgstr "cur = con.cursor()" msgid "" "Now that we've got a database connection and a cursor, we can create a " @@ -130,9 +157,15 @@ msgid "" "types is optional. Execute the ``CREATE TABLE`` statement by calling :meth:" "`cur.execute(...) `:" msgstr "" +"Теперь, когда у нас есть соединение с базой данных и курсор, мы можем " +"создать таблицу базы данных «фильм» со столбцами для названия, года выпуска " +"и оценки по отзывам. Для простоты мы можем просто использовать имена " +"столбцов в объявлении таблицы — благодаря функции «гибкой типизации» SQLite " +"указание типов данных не является обязательным. Выполните оператор CREATE " +"TABLE, вызвав :meth:`cur.execute(...) `:" msgid "cur.execute(\"CREATE TABLE movie(title, year, score)\")" -msgstr "" +msgstr "cur.execute(\"CREATE TABLE movie(title, year, score)\")" msgid "" "We can verify that the new table has been created by querying the " @@ -142,6 +175,12 @@ msgid "" "execute>`, assign the result to ``res``, and call :meth:`res.fetchone() " "` to fetch the resulting row:" msgstr "" +"Мы можем убедиться, что новая таблица создана, запросив встроенную в SQLite " +"таблицу sqlite_master, которая теперь должна содержать запись для " +"определения таблицы Movie (подробности см. в разделе «Таблица схемы»). ). " +"Выполните этот запрос, вызвав :meth:`cur.execute(...) `, " +"присвойте результат ``res`` и вызовите :meth:`res.fetchone() ` чтобы получить результирующую строку:" msgid "" ">>> res = cur.execute(\"SELECT name FROM sqlite_master\")\n" @@ -157,18 +196,27 @@ msgid "" "`tuple` containing the table's name. If we query ``sqlite_master`` for a non-" "existent table ``spam``, :meth:`!res.fetchone` will return ``None``:" msgstr "" +"Мы видим, что таблица создана, поскольку запрос возвращает :class:`tuple`, " +"содержащий имя таблицы. Если мы запросим ``sqlite_master`` для " +"несуществующей таблицы ``spam``, :meth:`!res.fetchone` вернет ``None``:" msgid "" ">>> res = cur.execute(\"SELECT name FROM sqlite_master WHERE name='spam'\")\n" ">>> res.fetchone() is None\n" "True" msgstr "" +">>> res = cur.execute(\"SELECT name FROM sqlite_master WHERE name='spam'\")\n" +">>> res.fetchone() is None\n" +"True" msgid "" "Now, add two rows of data supplied as SQL literals by executing an " "``INSERT`` statement, once again by calling :meth:`cur.execute(...) `:" msgstr "" +"Теперь добавьте две строки данных, предоставленных в виде литералов SQL, " +"выполнив оператор INSERT и еще раз вызвав :meth:`cur.execute(...) `:" msgid "" "cur.execute(\"\"\"\n" @@ -177,6 +225,11 @@ msgid "" " ('And Now for Something Completely Different', 1971, 7.5)\n" "\"\"\")" msgstr "" +"cur.execute(\"\"\"\n" +" INSERT INTO movie VALUES\n" +" ('Monty Python and the Holy Grail', 1975, 8.2),\n" +" ('And Now for Something Completely Different', 1971, 7.5)\n" +"\"\"\")" msgid "" "The ``INSERT`` statement implicitly opens a transaction, which needs to be " @@ -184,9 +237,14 @@ msgid "" "controlling-transactions` for details). Call :meth:`con.commit() ` on the connection object to commit the transaction:" msgstr "" +"Оператор INSERT неявно открывает транзакцию, которую необходимо " +"зафиксировать до того, как изменения будут сохранены в базе данных " +"(подробности см. в :ref:`sqlite3-controlling-transactions`). Вызовите :meth:" +"`con.commit() ` на объекте соединения, чтобы " +"зафиксировать транзакцию:" msgid "con.commit()" -msgstr "" +msgstr "con.commit()" msgid "" "We can verify that the data was inserted correctly by executing a ``SELECT`` " @@ -194,6 +252,10 @@ msgid "" "assign the result to ``res``, and call :meth:`res.fetchall() ` to return all resulting rows:" msgstr "" +"Мы можем убедиться, что данные были вставлены правильно, выполнив запрос " +"SELECT. Используйте теперь уже знакомый :meth:`cur.execute(...) `, чтобы присвоить результат ``res``, и вызовите :meth:`res." +"fetchall() ` чтобы вернуть все полученные строки:" msgid "" ">>> res = cur.execute(\"SELECT score FROM movie\")\n" @@ -208,11 +270,15 @@ msgid "" "The result is a :class:`list` of two :class:`!tuple`\\s, one per row, each " "containing that row's ``score`` value." msgstr "" +"Результатом является :class:`list` из двух :class:`!tuple`\\s, по одному на " +"строку, каждый из которых содержит значение ``score`` этой строки." msgid "" "Now, insert three more rows by calling :meth:`cur.executemany(...) `:" msgstr "" +"Теперь вставьте еще три строки, вызвав :meth:`cur.executemany(...) `:" msgid "" "data = [\n" @@ -223,6 +289,13 @@ msgid "" "cur.executemany(\"INSERT INTO movie VALUES(?, ?, ?)\", data)\n" "con.commit() # Remember to commit the transaction after executing INSERT." msgstr "" +"data = [\n" +" (\"Monty Python Live at the Hollywood Bowl\", 1982, 7.9),\n" +" (\"Monty Python's The Meaning of Life\", 1983, 7.5),\n" +" (\"Monty Python's Life of Brian\", 1979, 8.0),\n" +"]\n" +"cur.executemany(\"INSERT INTO movie VALUES(?, ?, ?)\", data)\n" +"con.commit() # Remember to commit the transaction after executing INSERT." msgid "" "Notice that ``?`` placeholders are used to bind ``data`` to the query. " @@ -230,11 +303,18 @@ msgid "" "to bind Python values to SQL statements, to avoid `SQL injection attacks`_ " "(see :ref:`sqlite3-placeholders` for more details)." msgstr "" +"Обратите внимание, что заполнители ``?`` используются для привязки " +"``данных`` к запросу. Всегда используйте заполнители вместо :ref:`string " +"formatting ` для привязки значений Python к операторам SQL, " +"чтобы избежать `атак SQL-инъекцией`_ (более подробную информацию см. в :ref:" +"`sqlite3-placeholders`)." msgid "" "We can verify that the new rows were inserted by executing a ``SELECT`` " "query, this time iterating over the results of the query:" msgstr "" +"Мы можем убедиться, что новые строки были вставлены, выполнив запрос SELECT, " +"на этот раз перебирая результаты запроса:" msgid "" ">>> for row in cur.execute(\"SELECT year, title FROM movie ORDER BY " @@ -246,17 +326,30 @@ msgid "" "(1982, 'Monty Python Live at the Hollywood Bowl')\n" "(1983, \"Monty Python's The Meaning of Life\")" msgstr "" +">>> for row in cur.execute(\"SELECT year, title FROM movie ORDER BY " +"year\"):\n" +"... print(row)\n" +"(1971, 'And Now for Something Completely Different')\n" +"(1975, 'Monty Python and the Holy Grail')\n" +"(1979, \"Monty Python's Life of Brian\")\n" +"(1982, 'Monty Python Live at the Hollywood Bowl')\n" +"(1983, \"Monty Python's The Meaning of Life\")" msgid "" "Each row is a two-item :class:`tuple` of ``(year, title)``, matching the " "columns selected in the query." msgstr "" +"Каждая строка представляет собой кортеж из двух элементов типа «(год, " +"заголовок)», соответствующий столбцам, выбранным в запросе." msgid "" "Finally, verify that the database has been written to disk by calling :meth:" "`con.close() ` to close the existing connection, opening a " "new one, creating a new cursor, then querying the database:" msgstr "" +"Наконец, убедитесь, что база данных записана на диск, вызвав :meth:`con." +"close() `, чтобы закрыть существующее соединение, открыть " +"новое, создать новый курсор, а затем запросить базу данных:" msgid "" ">>> con.close()\n" @@ -271,14 +364,27 @@ msgid "" "released in 1975\n" ">>> new_con.close()" msgstr "" +">>> con.close()\n" +">>> new_con = sqlite3.connect(\"tutorial.db\")\n" +">>> new_cur = new_con.cursor()\n" +">>> res = new_cur.execute(\"SELECT title, year FROM movie ORDER BY score " +"DESC\")\n" +">>> title, year = res.fetchone()\n" +">>> print(f'The highest scoring Monty Python movie is {title!r}, released in " +"{year}')\n" +"The highest scoring Monty Python movie is 'Monty Python and the Holy Grail', " +"released in 1975\n" +">>> new_con.close()" msgid "" "You've now created an SQLite database using the :mod:`!sqlite3` module, " "inserted data and retrieved values from it in multiple ways." msgstr "" +"Теперь вы создали базу данных SQLite, используя модуль :mod:`!sqlite3`, " +"вставили в нее данные и получили из нее значения несколькими способами." msgid ":ref:`sqlite3-howtos` for further reading:" -msgstr "" +msgstr ":ref:`sqlite3-howtos` для дальнейшего чтения:" msgid ":ref:`sqlite3-placeholders`" msgstr ":ref:`sqlite3-placeholders`" @@ -298,15 +404,17 @@ msgstr ":ref:`sqlite3-howto-row-factory`" msgid "" ":ref:`sqlite3-explanation` for in-depth background on transaction control." msgstr "" +":ref:`sqlite3-explanation` для более подробной информации по управлению " +"транзакциями." msgid "Reference" -msgstr "" +msgstr "Referensi" msgid "Module functions" -msgstr "" +msgstr "Функции модуля" msgid "Open a connection to an SQLite database." -msgstr "" +msgstr "Откройте соединение с базой данных SQLite." msgid "Parameters" msgstr "parametry" @@ -316,6 +424,9 @@ msgid "" "create an `SQLite database existing only in memory `_, and open a connection to it." msgstr "" +"Путь к файлу базы данных, который нужно открыть. Вы можете передать ``\":" +"memory:\"``, чтобы создать ``базу данных SQLite, существующую только в " +"памяти `_, и открыть к ней соединение." msgid "" "How many seconds the connection should wait before raising an :exc:" @@ -323,6 +434,10 @@ msgid "" "transaction to modify a table, that table will be locked until the " "transaction is committed. Default five seconds." msgstr "" +"Сколько секунд соединение должно ждать, прежде чем вызвать :exc:" +"`OperationalError`, когда таблица заблокирована. Если другое соединение " +"открывает транзакцию для изменения таблицы, эта таблица будет заблокирована " +"до тех пор, пока транзакция не будет зафиксирована. По умолчанию пять секунд." msgid "" "Control whether and how data types not :ref:`natively supported by SQLite " @@ -332,6 +447,13 @@ msgid "" "`PARSE_COLNAMES` to enable this. Column names takes precedence over declared " "types if both flags are set. By default (``0``), type detection is disabled." msgstr "" +"Контролируйте, будут ли типы данных, не :ref:`изначально поддерживаемые " +"SQLite `, искаться для преобразования в типы Python, " +"используя конвертеры, зарегистрированные с помощью :func:" +"`register_converter`. Установите его в любую комбинацию (используя ``|``, " +"побитовое ИЛИ) :const:`PARSE_DECLTYPES` и :const:`PARSE_COLNAMES`, чтобы " +"включить это. Имена столбцов имеют приоритет над объявленными типами, если " +"установлены оба флага. По умолчанию (``0``) определение типа отключено." msgid "" "Control legacy transaction handling behaviour. See :attr:`Connection." @@ -341,6 +463,13 @@ msgid "" "Has no effect unless :attr:`Connection.autocommit` is set to :const:" "`~sqlite3.LEGACY_TRANSACTION_CONTROL` (the default)." msgstr "" +"Управляйте поведением обработки устаревших транзакций. См. :attr:`Connection." +"isolation_level` и :ref:`sqlite3-transaction-control-isolation-level` для " +"получения дополнительной информации. Может быть ``\"ОТЛОЖЕНО\"`` (по " +"умолчанию), ``\"ЭКСКЛЮЗИВНО\"`` или ``\"НЕМЕДЛЕННО\"``; или ``None``, чтобы " +"неявно запретить открытие транзакций. Не имеет никакого эффекта, если для :" +"attr:`Connection.autocommit` не установлено значение :const:`~sqlite3." +"LEGACY_TRANSACTION_CONTROL` (по умолчанию)." msgid "" "If ``True`` (default), :exc:`ProgrammingError` will be raised if the " @@ -349,16 +478,27 @@ msgid "" "operations may need to be serialized by the user to avoid data corruption. " "See :attr:`threadsafety` for more information." msgstr "" +"Если ``True`` (по умолчанию), :exc:`ProgrammingError` будет вызвано, если " +"соединение с базой данных используется потоком, отличным от того, который " +"его создал. Если ``False``, доступ к соединению может осуществляться в " +"нескольких потоках; Операции записи могут потребоваться сериализовать " +"пользователю, чтобы избежать повреждения данных. См. :attr:`threadsafety` " +"для получения дополнительной информации." msgid "" "A custom subclass of :class:`Connection` to create the connection with, if " "not the default :class:`Connection` class." msgstr "" +"Пользовательский подкласс :class:`Connection` для создания соединения с " +"классом :class:`Connection` (если не с классом по умолчанию)." msgid "" "The number of statements that :mod:`!sqlite3` should internally cache for " "this connection, to avoid parsing overhead. By default, 128 statements." msgstr "" +"Число операторов, которые :mod:`!sqlite3` должен внутренне кэшировать для " +"этого соединения, чтобы избежать накладных расходов на анализ. По умолчанию " +"128 операторов." msgid "" "If set to ``True``, *database* is interpreted as a :abbr:`URI (Uniform " @@ -367,6 +507,11 @@ msgid "" "absolute. The query string allows passing parameters to SQLite, enabling " "various :ref:`sqlite3-uri-tricks`." msgstr "" +"Если установлено значение True, *database* интерпретируется как :abbr:`URI " +"(универсальный идентификатор ресурса)` с путем к файлу и дополнительной " +"строкой запроса. Часть схемы *должна* быть ``\"file:\"``, а путь может быть " +"относительным или абсолютным. Строка запроса позволяет передавать параметры " +"в SQLite, используя различные трюки sqlite3-uri." msgid "" "Control :pep:`249` transaction handling behaviour. See :attr:`Connection." @@ -375,38 +520,52 @@ msgid "" "LEGACY_TRANSACTION_CONTROL`. The default will change to ``False`` in a " "future Python release." msgstr "" +"Управляйте :pep:`249` поведением обработки транзакций. См. :attr:`Connection." +"autocommit` и :ref:`sqlite3-transaction-control-autocommit` для получения " +"дополнительной информации. *autocommit* в настоящее время по умолчанию имеет " +"значение :const:`~sqlite3.LEGACY_TRANSACTION_CONTROL`. В будущем выпуске " +"Python значение по умолчанию изменится на «False»." msgid "Return type" -msgstr "" +msgstr "Тип возврата" msgid "" "Raises an :ref:`auditing event ` ``sqlite3.connect`` with argument " "``database``." msgstr "" +"Викликає :ref:`подію аудиту ` ``sqlite3.connect`` з аргументом " +"``база даних``." msgid "" "Raises an :ref:`auditing event ` ``sqlite3.connect/handle`` with " "argument ``connection_handle``." msgstr "" +"Викликає :ref:`подію аудиту ` ``sqlite3.connect/handle`` з " +"аргументом ``connection_handle``." msgid "Added the *uri* parameter." -msgstr "" +msgstr "Menambahkan parameter *uri*." msgid "" "*database* can now also be a :term:`path-like object`, not only a string." msgstr "" +"*database* тепер також може бути :term:`path-like object`, а не лише рядком." msgid "Added the ``sqlite3.connect/handle`` auditing event." -msgstr "" +msgstr "Додано подію аудиту ``sqlite3.connect/handle``." msgid "Added the *autocommit* parameter." -msgstr "" +msgstr "Добавлен параметр *autocommit*." msgid "" "Positional use of the parameters *timeout*, *detect_types*, " "*isolation_level*, *check_same_thread*, *factory*, *cached_statements*, and " "*uri* is deprecated. They will become keyword-only parameters in Python 3.15." msgstr "" +"Позиционное использование параметров *timeout*, *detect_types*, " +"*isolation_level*, *check_same_thread*, *factory*, *cached_statements* и " +"*uri* устарело. В Python 3.15 они станут параметрами только для ключевых " +"слов." msgid "" "Return ``True`` if the string *statement* appears to contain one or more " @@ -414,6 +573,10 @@ msgid "" "performed, other than checking that there are no unclosed string literals " "and the statement is terminated by a semicolon." msgstr "" +"Возвращайте ``True``, если строка *оператор* содержит один или несколько " +"полных операторов SQL. Никакая синтаксическая проверка или синтаксический " +"анализ не выполняется, кроме проверки отсутствия незамкнутых строковых " +"литералов и завершения оператора точкой с запятой." msgid "For example:" msgstr "Na przykład::" @@ -434,11 +597,16 @@ msgid "" "entered text seems to form a complete SQL statement, or if additional input " "is needed before calling :meth:`~Cursor.execute`." msgstr "" +"Эта функция может быть полезна во время ввода командной строки, чтобы " +"определить, образует ли введенный текст полный оператор SQL, или требуется " +"ли дополнительный ввод перед вызовом :meth:`~Cursor.execute`." msgid "" "See :func:`!runsource` in :source:`Lib/sqlite3/__main__.py` for real-world " "use." msgstr "" +"См. :func:`!runsource` в :source:`Lib/sqlite3/__main__.py` для использования " +"в реальных условиях." msgid "" "Enable or disable callback tracebacks. By default you will not get any " @@ -447,12 +615,21 @@ msgid "" "*flag* set to ``True``. Afterwards, you will get tracebacks from callbacks " "on :data:`sys.stderr`. Use ``False`` to disable the feature again." msgstr "" +"Включите или отключите обратные трассировки обратного вызова. По умолчанию " +"вы не будете получать никаких обратных трассировок в пользовательских " +"функциях, агрегатах, конвертерах, обратных вызовах авторизатора и т. д. Если " +"вы хотите их отладить, вы можете вызвать эту функцию с *flag*, установленным " +"в ``True``. После этого вы получите обратные трассировки от обратных вызовов " +"в :data:`sys.stderr`. Используйте «False», чтобы снова отключить эту функцию." msgid "" "Errors in user-defined function callbacks are logged as unraisable " "exceptions. Use an :func:`unraisable hook handler ` for " "introspection of the failed callback." msgstr "" +"Ошибки в обратных вызовах пользовательских функций регистрируются как " +"невызываемые исключения. Используйте :func:`unraisable обработчик перехвата " +"` для самоанализа неудачного обратного вызова." msgid "" "Register an *adapter* :term:`callable` to adapt the Python type *type* into " @@ -460,6 +637,10 @@ msgid "" "its sole argument, and must return a value of a :ref:`type that SQLite " "natively understands `." msgstr "" +"Зарегистрируйте *адаптер* :term:`callable`, чтобы адаптировать тип *type* " +"Python к типу SQLite. Адаптер вызывается с объектом Python типа *type* в " +"качестве единственного аргумента и должен возвращать значение типа :ref:`, " +"который SQLite изначально понимает, `." msgid "" "Register the *converter* :term:`callable` to convert SQLite objects of type " @@ -469,20 +650,32 @@ msgid "" "parameter *detect_types* of :func:`connect` for information regarding how " "type detection works." msgstr "" +"Зарегистрируйте *converter* :term:`callable` для преобразования объектов " +"SQLite типа *typename* в объект Python определенного типа. Конвертер " +"вызывается для всех значений SQLite типа *typename*; ему передается объект :" +"class:`bytes`, и он должен возвращать объект желаемого типа Python. " +"Обратитесь к параметру *detect_types* функции :func:`connect` для получения " +"информации о том, как работает определение типа." msgid "" "Note: *typename* and the name of the type in your query are matched case-" "insensitively." msgstr "" +"Примечание. *typename* и имя типа в вашем запросе сопоставляются без учета " +"регистра." msgid "Module constants" -msgstr "" +msgstr "Константы модуля" msgid "" "Set :attr:`~Connection.autocommit` to this constant to select old style (pre-" "Python 3.12) transaction control behaviour. See :ref:`sqlite3-transaction-" "control-isolation-level` for more information." msgstr "" +"Установите для :attr:`~Connection.autocommit` эту константу, чтобы выбрать " +"поведение управления транзакциями в старом стиле (до Python 3.12). " +"Дополнительную информацию см. в разделе sqlite3-transaction-control-" +"isolation-level." msgid "" "Pass this flag value to the *detect_types* parameter of :func:`connect` to " @@ -491,6 +684,11 @@ msgid "" "look up a converter function using the first word of the declared type as " "the converter dictionary key. For example:" msgstr "" +"Передайте значение этого флага в параметр *detect_types* функции :func:" +"`connect`, чтобы найти функцию конвертера, используя объявленные типы для " +"каждого столбца. Типы объявляются при создании таблицы базы данных. :mod:`!" +"sqlite3` будет искать функцию конвертера, используя первое слово " +"объявленного типа в качестве ключа словаря конвертера. Например:" msgid "" "CREATE TABLE test(\n" @@ -499,16 +697,25 @@ msgid "" " n number(10) ! will look up a converter named \"number\"\n" " )" msgstr "" +"CREATE TABLE test(\n" +" i integer primary key, ! will look up a converter named \"integer\"\n" +" p point, ! will look up a converter named \"point\"\n" +" n number(10) ! will look up a converter named \"number\"\n" +" )" msgid "" "This flag may be combined with :const:`PARSE_COLNAMES` using the ``|`` " "(bitwise or) operator." msgstr "" +"Этот флаг можно комбинировать с :const:`PARSE_COLNAMES` с помощью оператора " +"``|`` (побитовое или)." msgid "" "Generated fields (for example ``MAX(p)``) are returned as :class:`str`. Use :" "const:`!PARSE_COLNAMES` to enforce types for such queries." msgstr "" +"生成的字段 (例如 ``MAX(p)``) 将作为 :class:`str` 返回。 使用 :const:`!" +"PARSE_COLNAMES` 为这样的查询设置类型。" msgid "" "Pass this flag value to the *detect_types* parameter of :func:`connect` to " @@ -517,54 +724,77 @@ msgid "" "wrapped in double quotes (``\"``) and the type name must be wrapped in " "square brackets (``[]``)." msgstr "" +"Передайте это значение флага параметру *detect_types* :func:`connect` для " +"поиска функции преобразователя, используя имя типа, проанализированное из " +"имени столбца запроса, как ключ словаря преобразователя. Имя столбца запроса " +"должно быть заключено в двойные кавычки (``\"``), а имя типа должно быть " +"заключено в квадратные скобки (``[]``)." msgid "" "SELECT MAX(p) as \"p [point]\" FROM test; ! will look up converter \"point\"" msgstr "" +"SELECT MAX(p) as \"p [point]\" FROM test; ! will look up converter \"point\"" msgid "" "This flag may be combined with :const:`PARSE_DECLTYPES` using the ``|`` " "(bitwise or) operator." msgstr "" +"Этот флаг можно комбинировать с :const:`PARSE_DECLTYPES` с помощью оператора " +"``|`` (побитовое или)." msgid "" "Flags that should be returned by the *authorizer_callback* :term:`callable` " "passed to :meth:`Connection.set_authorizer`, to indicate whether:" msgstr "" +"Флаги, которые должны быть возвращены *authorizer_callback* :term:" +"`callable`, переданным в :meth:`Connection.set_authorizer`, чтобы указать:" msgid "Access is allowed (:const:`!SQLITE_OK`)," -msgstr "" +msgstr "Доступ разрешен (:const:`!SQLITE_OK`)," msgid "" "The SQL statement should be aborted with an error (:const:`!SQLITE_DENY`)" msgstr "" +"Выполнение оператора SQL должно быть прервано с ошибкой (:const:`!" +"SQLITE_DENY`)" msgid "" "The column should be treated as a ``NULL`` value (:const:`!SQLITE_IGNORE`)" msgstr "" +"Столбец следует рассматривать как значение ``NULL`` (:const:`!" +"SQLITE_IGNORE`)." msgid "" "String constant stating the supported DB-API level. Required by the DB-API. " "Hard-coded to ``\"2.0\"``." msgstr "" +"Рядкова константа, що вказує підтримуваний рівень DB-API. Потрібний для DB-" +"API. Жорстко закодований на ``\"2.0\"``." msgid "" "String constant stating the type of parameter marker formatting expected by " "the :mod:`!sqlite3` module. Required by the DB-API. Hard-coded to " "``\"qmark\"``." msgstr "" +"Строковая константа, указывающая тип форматирования маркера параметра, " +"ожидаемый модулем :mod:`!sqlite3`. Требуется для DB-API. Жестко " +"запрограммировано в ``\"qmark\"``." msgid "The ``named`` DB-API parameter style is also supported." -msgstr "" +msgstr "Также поддерживается стиль параметров DB-API ``named``." msgid "" "Version number of the runtime SQLite library as a :class:`string `." msgstr "" +"Номер версии библиотеки времени выполнения SQLite в виде :class:`string " +"`." msgid "" "Version number of the runtime SQLite library as a :class:`tuple` of :class:" "`integers `." msgstr "" +"Номер версии библиотеки времени выполнения SQLite в виде :class:`tuple` из :" +"class:`integers `." msgid "" "Integer constant required by the DB-API 2.0, stating the level of thread " @@ -572,51 +802,65 @@ msgid "" "the default `threading mode `_ the " "underlying SQLite library is compiled with. The SQLite threading modes are:" msgstr "" +"Целочисленная константа, требуемая DB-API 2.0, указывающая уровень " +"потокобезопасности, поддерживаемый модулем :mod:`!sqlite3`. Этот атрибут " +"устанавливается на основе `поточного режима `_ по умолчанию, с которым скомпилирована базовая библиотека SQLite. " +"Режимы потоков SQLite:" msgid "" "**Single-thread**: In this mode, all mutexes are disabled and SQLite is " "unsafe to use in more than a single thread at once." msgstr "" +"**Однопоточный**: в этом режиме все мьютексы отключены, и SQLite небезопасно " +"использовать более чем в одном потоке одновременно." msgid "" "**Multi-thread**: In this mode, SQLite can be safely used by multiple " "threads provided that no single database connection is used simultaneously " "in two or more threads." msgstr "" +"**Многопоточный**: в этом режиме SQLite можно безопасно использовать в " +"нескольких потоках при условии, что ни одно соединение с базой данных не " +"используется одновременно в двух или более потоках." msgid "" "**Serialized**: In serialized mode, SQLite can be safely used by multiple " "threads with no restriction." msgstr "" +"**Сериализация**: в сериализованном режиме SQLite может безопасно " +"использоваться несколькими потоками без ограничений." msgid "" "The mappings from SQLite threading modes to DB-API 2.0 threadsafety levels " "are as follows:" msgstr "" +"Сопоставления режимов потоков SQLite с уровнями безопасности потоков DB-API " +"2.0 следующие:" msgid "SQLite threading mode" -msgstr "" +msgstr "Режим потоков SQLite" msgid ":pep:`threadsafety <0249#threadsafety>`" -msgstr "" +msgstr ":pep:`threadsafety <0249#threadsafety>`" msgid "`SQLITE_THREADSAFE`_" -msgstr "" +msgstr "`SQLITE_THREADSAFE`_" msgid "DB-API 2.0 meaning" -msgstr "" +msgstr "Значение DB-API 2.0" msgid "single-thread" -msgstr "" +msgstr "однопоточный" msgid "0" msgstr "0" msgid "Threads may not share the module" -msgstr "" +msgstr "Потоки не могут совместно использовать модуль" msgid "multi-thread" -msgstr "" +msgstr "многопоточный" msgid "1" msgstr "1" @@ -625,19 +869,21 @@ msgid "2" msgstr "2" msgid "Threads may share the module, but not connections" -msgstr "" +msgstr "Потоки могут совместно использовать модуль, но не соединения." msgid "serialized" -msgstr "" +msgstr "сериализованный" msgid "3" msgstr "3" msgid "Threads may share the module, connections and cursors" -msgstr "" +msgstr "Потоки могут совместно использовать модуль, соединения и курсоры." msgid "Set *threadsafety* dynamically instead of hard-coding it to ``1``." msgstr "" +"Устанавливайте *threadsafety* динамически, а не жестко запрограммируйте его " +"на «1»." msgid "" "Version number of this module as a :class:`string `. This is not the " @@ -659,26 +905,33 @@ msgid "" "These constants are used for the :meth:`Connection.setconfig` and :meth:" "`~Connection.getconfig` methods." msgstr "" +"Эти константы используются для методов :meth:`Connection.setconfig` и :meth:" +"`~Connection.getconfig`." msgid "" "The availability of these constants varies depending on the version of " "SQLite Python was compiled with." msgstr "" +"Доступность этих констант зависит от версии SQLite Python, с которой был " +"скомпилирован." msgid "https://www.sqlite.org/c3ref/c_dbconfig_defensive.html" msgstr "https://www.sqlite.org/c3ref/c_dbconfig_defensive.html" msgid "SQLite docs: Database Connection Configuration Options" -msgstr "" +msgstr "Документация SQLite: Параметры конфигурации подключения к базе данных" msgid "Connection objects" -msgstr "" +msgstr "Объекты подключения" msgid "" "Each open SQLite database is represented by a ``Connection`` object, which " "is created using :func:`sqlite3.connect`. Their main purpose is creating :" "class:`Cursor` objects, and :ref:`sqlite3-controlling-transactions`." msgstr "" +"Каждая открытая база данных SQLite представлена ​​объектом Connection, который " +"создается с помощью :func:`sqlite3.connect`. Их основная цель — создание " +"объектов :class:`Cursor` и :ref:`sqlite3-controlling-transactions`." msgid ":ref:`sqlite3-connection-shortcuts`" msgstr ":ref:`sqlite3-connection-shortcuts`" @@ -687,49 +940,63 @@ msgid "" "A :exc:`ResourceWarning` is emitted if :meth:`close` is not called before a :" "class:`!Connection` object is deleted." msgstr "" +":exc:`ResourceWarning` выдается, если :meth:`close` не вызывается перед " +"удалением объекта :class:`!Connection`." msgid "An SQLite database connection has the following attributes and methods:" -msgstr "" +msgstr "Підключення до бази даних SQLite має такі атрибути та методи:" msgid "" "Create and return a :class:`Cursor` object. The cursor method accepts a " "single optional parameter *factory*. If supplied, this must be a :term:" "`callable` returning an instance of :class:`Cursor` or its subclasses." msgstr "" +"Создайте и верните объект :class:`Cursor`. Метод курсора принимает один " +"необязательный параметр *factory*. Если указано, это должен быть :term:" +"`callable`, возвращающий экземпляр :class:`Cursor` или его подклассов." msgid "" "Open a :class:`Blob` handle to an existing :abbr:`BLOB (Binary Large " "OBject)`." msgstr "" +"Откройте дескриптор :class:`Blob` для существующего :abbr:`BLOB (большого " +"двоичного объекта)`." msgid "The name of the table where the blob is located." -msgstr "" +msgstr "Имя таблицы, в которой находится большой двоичный объект." msgid "The name of the column where the blob is located." -msgstr "" +msgstr "Имя столбца, в котором расположен большой двоичный объект." msgid "The name of the row where the blob is located." -msgstr "" +msgstr "Имя строки, в которой находится большой двоичный объект." msgid "" "Set to ``True`` if the blob should be opened without write permissions. " "Defaults to ``False``." msgstr "" +"Установите значение True, если большой двоичный объект должен быть открыт " +"без разрешений на запись. По умолчанию установлено значение «False»." msgid "" "The name of the database where the blob is located. Defaults to ``\"main\"``." msgstr "" +"Имя базы данных, в которой находится большой двоичный объект. По умолчанию " +"``\"main\"``." msgid "Raises" -msgstr "" +msgstr "Поднимает" msgid "When trying to open a blob in a ``WITHOUT ROWID`` table." -msgstr "" +msgstr "При попытке открыть большой двоичный объект в таблице БЕЗ ROWID." msgid "" "The blob size cannot be changed using the :class:`Blob` class. Use the SQL " "function ``zeroblob`` to create a blob with a fixed size." msgstr "" +"Размер большого двоичного объекта нельзя изменить с помощью класса :class:" +"`Blob`. Используйте функцию SQL «zeroblob», чтобы создать большой двоичный " +"объект фиксированного размера." msgid "" "Commit any pending transaction to the database. If :attr:`autocommit` is " @@ -737,6 +1004,11 @@ msgid "" "attr:`!autocommit` is ``False``, a new transaction is implicitly opened if a " "pending transaction was committed by this method." msgstr "" +"Зафиксируйте любую ожидающую транзакцию в базе данных. Если :attr:" +"`autocommit` имеет значение ``True`` или нет открытой транзакции, этот метод " +"ничего не делает. Если :attr:`!autocommit` имеет значение ``False``, новая " +"транзакция неявно открывается, если ожидающая транзакция была зафиксирована " +"этим методом." msgid "" "Roll back to the start of any pending transaction. If :attr:`autocommit` is " @@ -744,6 +1016,10 @@ msgid "" "attr:`!autocommit` is ``False``, a new transaction is implicitly opened if a " "pending transaction was rolled back by this method." msgstr "" +"Откат к началу любой ожидающей транзакции. Если :attr:`autocommit` имеет " +"значение ``True`` или нет открытой транзакции, этот метод ничего не делает. " +"Если :attr:`!autocommit` имеет значение ``False``, новая транзакция неявно " +"открывается, если ожидающая транзакция была откатана этим методом." msgid "" "Close the database connection. If :attr:`autocommit` is ``False``, any " @@ -752,47 +1028,68 @@ msgid "" "control is executed. Make sure to :meth:`commit` before closing to avoid " "losing pending changes." msgstr "" +"Закройте соединение с базой данных. Если :attr:`autocommit` имеет значение " +"``False``, любая ожидающая транзакция неявно откатывается. Если :attr:`!" +"autocommit` имеет значение ``True`` или :data:`LEGACY_TRANSACTION_CONTROL`, " +"неявный контроль транзакций не выполняется. Обязательно выполните :meth:" +"`commit` перед закрытием, чтобы не потерять ожидающие изменения." msgid "" "Create a new :class:`Cursor` object and call :meth:`~Cursor.execute` on it " "with the given *sql* and *parameters*. Return the new cursor object." msgstr "" +"Створіть новий об’єкт :class:`Cursor` і викличте :meth:`~Cursor.execute` для " +"нього з заданими *sql* і *параметрами*. Повернути новий об’єкт курсору." msgid "" "Create a new :class:`Cursor` object and call :meth:`~Cursor.executemany` on " "it with the given *sql* and *parameters*. Return the new cursor object." msgstr "" +"Створіть новий об’єкт :class:`Cursor` і викличте :meth:`~Cursor.executemany` " +"для нього з заданими *sql* і *параметрами*. Повернути новий об’єкт курсору." msgid "" "Create a new :class:`Cursor` object and call :meth:`~Cursor.executescript` " "on it with the given *sql_script*. Return the new cursor object." msgstr "" +"Створіть новий об’єкт :class:`Cursor` і викличте :meth:`~Cursor." +"executescript` для нього за допомогою заданого *sql_script*. Повернути новий " +"об’єкт курсору." msgid "Create or remove a user-defined SQL function." -msgstr "" +msgstr "Создайте или удалите пользовательскую функцию SQL." msgid "The name of the SQL function." -msgstr "" +msgstr "Имя функции SQL." msgid "" "The number of arguments the SQL function can accept. If ``-1``, it may take " "any number of arguments." msgstr "" +"Количество аргументов, которые может принять функция SQL. Если ``-1``, он " +"может принимать любое количество аргументов." msgid "" "A :term:`callable` that is called when the SQL function is invoked. The " "callable must return :ref:`a type natively supported by SQLite `. Set to ``None`` to remove an existing SQL function." msgstr "" +":term:`callable`, который вызывается при вызове функции SQL. Вызываемый " +"объект должен возвращать :ref:`тип, изначально поддерживаемый SQLite " +"`. Установите значение «Нет», чтобы удалить существующую " +"функцию SQL." msgid "" "If ``True``, the created SQL function is marked as `deterministic `_, which allows SQLite to perform additional " "optimizations." msgstr "" +"Если ``True``, созданная функция SQL помечается как ``детерминированная " +"`_, что позволяет SQLite выполнять " +"дополнительную оптимизацию." msgid "Added the *deterministic* parameter." -msgstr "" +msgstr "Добавлен параметр *детерминированный*." msgid "Example:" msgstr "Przykład:" @@ -808,22 +1105,36 @@ msgid "" "('acbd18db4cc2f85cedef654fccc4a4d8',)\n" ">>> con.close()" msgstr "" +">>> import hashlib\n" +">>> def md5sum(t):\n" +"... return hashlib.md5(t).hexdigest()\n" +">>> con = sqlite3.connect(\":memory:\")\n" +">>> con.create_function(\"md5\", 1, md5sum)\n" +">>> for row in con.execute(\"SELECT md5(?)\", (b\"foo\",)):\n" +"... print(row)\n" +"('acbd18db4cc2f85cedef654fccc4a4d8',)\n" +">>> con.close()" msgid "" "Passing *name*, *narg*, and *func* as keyword arguments is deprecated. These " "parameters will become positional-only in Python 3.15." msgstr "" +"Передача *name*, *narg* и *func* в качестве аргументов ключевых слов не " +"рекомендуется. В Python 3.15 эти параметры станут только позиционными." msgid "Create or remove a user-defined SQL aggregate function." msgstr "" +"Создайте или удалите определяемую пользователем агрегатную функцию SQL." msgid "The name of the SQL aggregate function." -msgstr "" +msgstr "Имя агрегатной функции SQL." msgid "" "The number of arguments the SQL aggregate function can accept. If ``-1``, it " "may take any number of arguments." msgstr "" +"Число аргументов, которые может принять агрегатная функция SQL. Если ``-1``, " +"он может принимать любое количество аргументов." msgid "" "A class must implement the following methods: * ``step()``: Add a row to " @@ -832,25 +1143,36 @@ msgid "" "of arguments that the ``step()`` method must accept is controlled by " "*n_arg*. Set to ``None`` to remove an existing SQL aggregate function." msgstr "" +"Класс должен реализовывать следующие методы: * ``step()``: добавляет строку " +"в агрегат. * ``finalize()``: Возвращает окончательный результат агрегата " +"как :ref:`тип, изначально поддерживаемый SQLite `. Количество " +"аргументов, которые должен принимать метод ``step()``, контролируется " +"*n_arg*. Установите значение «Нет», чтобы удалить существующую агрегатную " +"функцию SQL." msgid "A class must implement the following methods:" -msgstr "" +msgstr "Класс должен реализовать следующие методы:" msgid "``step()``: Add a row to the aggregate." -msgstr "" +msgstr "``step()``: добавьте строку в агрегат." msgid "" "``finalize()``: Return the final result of the aggregate as :ref:`a type " "natively supported by SQLite `." msgstr "" +"``finalize()``: Возвращает окончательный результат агрегата как :ref:`тип, " +"изначально поддерживаемый SQLite `." msgid "" "The number of arguments that the ``step()`` method must accept is controlled " "by *n_arg*." msgstr "" +"Количество аргументов, которые должен принимать метод ``step()``, " +"контролируется *n_arg*." msgid "Set to ``None`` to remove an existing SQL aggregate function." msgstr "" +"Установите значение «Нет», чтобы удалить существующую агрегатную функцию SQL." msgid "" "class MySum:\n" @@ -873,22 +1195,46 @@ msgid "" "\n" "con.close()" msgstr "" +"class MySum:\n" +" def __init__(self):\n" +" self.count = 0\n" +"\n" +" def step(self, value):\n" +" self.count += value\n" +"\n" +" def finalize(self):\n" +" return self.count\n" +"\n" +"con = sqlite3.connect(\":memory:\")\n" +"con.create_aggregate(\"mysum\", 1, MySum)\n" +"cur = con.execute(\"CREATE TABLE test(i)\")\n" +"cur.execute(\"INSERT INTO test(i) VALUES(1)\")\n" +"cur.execute(\"INSERT INTO test(i) VALUES(2)\")\n" +"cur.execute(\"SELECT mysum(i) FROM test\")\n" +"print(cur.fetchone()[0])\n" +"\n" +"con.close()" msgid "" "Passing *name*, *n_arg*, and *aggregate_class* as keyword arguments is " "deprecated. These parameters will become positional-only in Python 3.15." msgstr "" +"Передача *name*, *n_arg* и *aggregate_class* в качестве аргументов ключевых " +"слов устарела. В Python 3.15 эти параметры станут только позиционными." msgid "Create or remove a user-defined aggregate window function." -msgstr "" +msgstr "Создайте или удалите пользовательскую агрегатную оконную функцию." msgid "The name of the SQL aggregate window function to create or remove." msgstr "" +"Имя агрегатной оконной функции SQL, которую необходимо создать или удалить." msgid "" "The number of arguments the SQL aggregate window function can accept. If " "``-1``, it may take any number of arguments." msgstr "" +"Число аргументов, которые может принять агрегатная оконная функция SQL. Если " +"``-1``, он может принимать любое количество аргументов." msgid "" "A class that must implement the following methods: * ``step()``: Add a row " @@ -900,31 +1246,45 @@ msgid "" "*num_params*. Set to ``None`` to remove an existing SQL aggregate window " "function." msgstr "" +"Класс, который должен реализовывать следующие методы: * ``step()``: " +"добавляет строку в текущее окно. * ``value()``: Возвращает текущее значение " +"агрегата. * ``inverse()``: удалить строку из текущего окна. * " +"``finalize()``: Возвращает окончательный результат агрегата как :ref:`тип, " +"изначально поддерживаемый SQLite `. Количество аргументов, " +"которые должны принимать методы ``step()`` и ``value()``, контролируется " +"*num_params*. Установите значение «Нет», чтобы удалить существующую " +"агрегатную оконную функцию SQL." msgid "A class that must implement the following methods:" -msgstr "" +msgstr "Класс, который должен реализовать следующие методы:" msgid "``step()``: Add a row to the current window." -msgstr "" +msgstr "``step()``: добавить строку в текущее окно." msgid "``value()``: Return the current value of the aggregate." -msgstr "" +msgstr "``value()``: Возвращает текущее значение агрегата." msgid "``inverse()``: Remove a row from the current window." -msgstr "" +msgstr "``inverse()``: удалить строку из текущего окна." msgid "" "The number of arguments that the ``step()`` and ``value()`` methods must " "accept is controlled by *num_params*." msgstr "" +"Количество аргументов, которые должны принимать методы ``step()`` и " +"``value()``, контролируется *num_params*." msgid "Set to ``None`` to remove an existing SQL aggregate window function." msgstr "" +"Установите значение «Нет», чтобы удалить существующую агрегатную оконную " +"функцию SQL." msgid "" "If used with a version of SQLite older than 3.25.0, which does not support " "aggregate window functions." msgstr "" +"При использовании с версией SQLite старше 3.25.0, которая не поддерживает " +"агрегатные оконные функции." msgid "" "# Example taken from https://www.sqlite.org/windowfunctions.html#udfwinfunc\n" @@ -972,24 +1332,71 @@ msgid "" "print(cur.fetchall())\n" "con.close()" msgstr "" +"# Example taken from https://www.sqlite.org/windowfunctions.html#udfwinfunc\n" +"class WindowSumInt:\n" +" def __init__(self):\n" +" self.count = 0\n" +"\n" +" def step(self, value):\n" +" \"\"\"Add a row to the current window.\"\"\"\n" +" self.count += value\n" +"\n" +" def value(self):\n" +" \"\"\"Return the current value of the aggregate.\"\"\"\n" +" return self.count\n" +"\n" +" def inverse(self, value):\n" +" \"\"\"Remove a row from the current window.\"\"\"\n" +" self.count -= value\n" +"\n" +" def finalize(self):\n" +" \"\"\"Return the final value of the aggregate.\n" +"\n" +" Any clean-up actions should be placed here.\n" +" \"\"\"\n" +" return self.count\n" +"\n" +"\n" +"con = sqlite3.connect(\":memory:\")\n" +"cur = con.execute(\"CREATE TABLE test(x, y)\")\n" +"values = [\n" +" (\"a\", 4),\n" +" (\"b\", 5),\n" +" (\"c\", 3),\n" +" (\"d\", 8),\n" +" (\"e\", 1),\n" +"]\n" +"cur.executemany(\"INSERT INTO test VALUES(?, ?)\", values)\n" +"con.create_window_function(\"sumint\", 1, WindowSumInt)\n" +"cur.execute(\"\"\"\n" +" SELECT x, sumint(y) OVER (\n" +" ORDER BY x ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING\n" +" ) AS sum_y\n" +" FROM test ORDER BY x\n" +"\"\"\")\n" +"print(cur.fetchall())\n" +"con.close()" msgid "" "Create a collation named *name* using the collating function *callable*. " "*callable* is passed two :class:`string ` arguments, and it should " "return an :class:`integer `:" msgstr "" +"Створіть зіставлення під назвою *name* за допомогою функції зіставлення " +"*callable*. *callable* передається два аргументи :class:`string `, і " +"він має повернути :class:`ціле число `:" msgid "``1`` if the first is ordered higher than the second" -msgstr "" +msgstr "``1``, якщо перший впорядкований вище за другий" msgid "``-1`` if the first is ordered lower than the second" -msgstr "" +msgstr "``-1``, якщо перший впорядкований нижче другого" msgid "``0`` if they are ordered equal" -msgstr "" +msgstr "``0``, якщо вони в порядку рівності" msgid "The following example shows a reverse sorting collation:" -msgstr "" +msgstr "У наступному прикладі показано порівняння зворотного сортування:" msgid "" "def collate_reverse(string1, string2):\n" @@ -1010,20 +1417,43 @@ 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 "" +"Удалите функцию сопоставления, установив для *callable* значение «None»." msgid "" "The collation name can contain any Unicode character. Earlier, only ASCII " "characters were allowed." msgstr "" +"Имя параметра сортировки может содержать любой символ Юникода. Раньше " +"допускались только символы ASCII." msgid "" "Call this method from a different thread to abort any queries that might be " "executing on the connection. Aborted queries will raise an :exc:" "`OperationalError`." msgstr "" +"Вызовите этот метод из другого потока, чтобы прервать любые запросы, которые " +"могут выполняться в соединении. Прерванные запросы вызовут ошибку :exc:" +"`OperationalError`." msgid "" "Register :term:`callable` *authorizer_callback* to be invoked for each " @@ -1032,6 +1462,11 @@ msgid "" "`SQLITE_IGNORE` to signal how access to the column should be handled by the " "underlying SQLite library." msgstr "" +"Зарегистрируйте :term:`callable` *authorizer_callback*, чтобы он вызывался " +"при каждой попытке доступа к столбцу таблицы в базе данных. Обратный вызов " +"должен возвращать один из :const:`SQLITE_OK`, :const:`SQLITE_DENY` или :" +"const:`SQLITE_IGNORE`, чтобы указать, как доступ к столбцу должен " +"обрабатываться базовой библиотекой SQLite." msgid "" "The first argument to the callback signifies what kind of operation is to be " @@ -1041,6 +1476,13 @@ msgid "" "name of the inner-most trigger or view that is responsible for the access " "attempt or ``None`` if this access attempt is directly from input SQL code." msgstr "" +"Первый аргумент обратного вызова указывает, какая операция должна быть " +"авторизована. Второй и третий аргументы будут аргументами или «Нет» в " +"зависимости от первого аргумента. Четвертый аргумент — это имя базы данных " +"(«main», «temp» и т. д.), если применимо. Пятый аргумент — это имя самого " +"внутреннего триггера или представления, которое отвечает за попытку доступа, " +"или «Нет», если эта попытка доступа происходит непосредственно из входного " +"кода SQL." msgid "" "Please consult the SQLite documentation about the possible values for the " @@ -1048,17 +1490,22 @@ msgid "" "the first one. All necessary constants are available in the :mod:`!sqlite3` " "module." msgstr "" +"Пожалуйста, обратитесь к документации SQLite о возможных значениях первого " +"аргумента и значении второго и третьего аргумента в зависимости от первого. " +"Все необходимые константы доступны в модуле :mod:`!sqlite3`." msgid "Passing ``None`` as *authorizer_callback* will disable the authorizer." -msgstr "" +msgstr "Передача None в качестве *authorizer_callback* отключит авторизатор." msgid "Added support for disabling the authorizer using ``None``." -msgstr "" +msgstr "Добавлена ​​поддержка отключения авторизатора с помощью None." msgid "" "Passing *authorizer_callback* as a keyword argument is deprecated. The " "parameter will become positional-only in Python 3.15." msgstr "" +"Передача *authorizer_callback* в качестве аргумента ключевого слова " +"устарела. В Python 3.15 параметр станет только позиционным." msgid "" "Register :term:`callable` *progress_handler* to be invoked for every *n* " @@ -1066,27 +1513,40 @@ msgid "" "get called from SQLite during long-running operations, for example to update " "a GUI." msgstr "" +"Зарегистрируйте :term:`callable` *progress_handler*, который будет " +"вызываться для каждой *n* инструкции виртуальной машины SQLite. Это полезно, " +"если вы хотите, чтобы вас вызывали из SQLite во время длительных операций, " +"например для обновления графического интерфейса." msgid "" "If you want to clear any previously installed progress handler, call the " "method with ``None`` for *progress_handler*." msgstr "" +"Если вы хотите очистить любой ранее установленный обработчик прогресса, " +"вызовите метод с ``None`` для *progress_handler*." msgid "" "Returning a non-zero value from the handler function will terminate the " "currently executing query and cause it to raise a :exc:`DatabaseError` " "exception." msgstr "" +"Возврат ненулевого значения из функции-обработчика завершит текущий запрос и " +"вызовет исключение :exc:`DatabaseError`." msgid "" "Passing *progress_handler* as a keyword argument is deprecated. The " "parameter will become positional-only in Python 3.15." msgstr "" +"Передача *progress_handler* в качестве аргумента ключевого слова устарела. В " +"Python 3.15 параметр станет только позиционным." msgid "" "Register :term:`callable` *trace_callback* to be invoked for each SQL " "statement that is actually executed by the SQLite backend." msgstr "" +"Зарегистрируйте :term:`callable` *trace_callback*, чтобы он вызывался для " +"каждого оператора SQL, который фактически выполняется серверной частью " +"SQLite." msgid "" "The only argument passed to the callback is the statement (as :class:`str`) " @@ -1096,20 +1556,35 @@ msgid "" "` of the :mod:`!sqlite3` module and the " "execution of triggers defined in the current database." msgstr "" +"Единственный аргумент, передаваемый обратному вызову, — это оператор (как :" +"class:`str`), который выполняется. Возвращаемое значение обратного вызова " +"игнорируется. Обратите внимание, что серверная часть не только выполняет " +"операторы, переданные методам :meth:`Cursor.execute`. Другие источники " +"включают в себя :ref:`управление транзакциями ` модуля :mod:`!sqlite3` и выполнение триггеров, определенных в " +"текущей базе данных." msgid "Passing ``None`` as *trace_callback* will disable the trace callback." msgstr "" +"Передача None в качестве *trace_callback* отключит обратный вызов " +"трассировки." msgid "" "Exceptions raised in the trace callback are not propagated. As a development " "and debugging aid, use :meth:`~sqlite3.enable_callback_tracebacks` to enable " "printing tracebacks from exceptions raised in the trace callback." msgstr "" +"Винятки, викликані зворотним викликом трасування, не поширюються. Як " +"допомога при розробці та налагодженні використовуйте :meth:`~sqlite3." +"enable_callback_tracebacks`, щоб увімкнути друк трасування з винятків, " +"викликаних у зворотному виклику трасування." msgid "" "Passing *trace_callback* as a keyword argument is deprecated. The parameter " "will become positional-only in Python 3.15." msgstr "" +"Передача *trace_callback* в качестве аргумента ключевого слова устарела. В " +"Python 3.15 параметр станет только позиционным." msgid "" "Enable the SQLite engine to load SQLite extensions from shared libraries if " @@ -1118,6 +1593,12 @@ msgid "" "implementations. One well-known extension is the fulltext-search extension " "distributed with SQLite." msgstr "" +"Включите механизм SQLite для загрузки расширений SQLite из общих библиотек, " +"если *enabled* имеет значение ``True``; в противном случае запретите " +"загрузку расширений SQLite. Расширения SQLite могут определять новые " +"функции, агрегаты или совершенно новые реализации виртуальных таблиц. Одним " +"из широко известных расширений является расширение полнотекстового поиска, " +"поставляемое вместе с SQLite." msgid "" "The :mod:`!sqlite3` module is not built with loadable extension support by " @@ -1126,14 +1607,21 @@ msgid "" "must pass the :option:`--enable-loadable-sqlite-extensions` option to :" "program:`configure`." msgstr "" +"Модуль :mod:`!sqlite3` по умолчанию не имеет поддержки загружаемых " +"расширений, поскольку на некоторых платформах (особенно macOS) есть " +"библиотеки SQLite, которые компилируются без этой функции. Чтобы получить " +"поддержку загружаемых расширений, вы должны передать параметр :option:`--" +"enable-loadable-sqlite-extensions` в :program:`configure`." msgid "" "Raises an :ref:`auditing event ` ``sqlite3.enable_load_extension`` " "with arguments ``connection``, ``enabled``." msgstr "" +"Викликає :ref:`подію аудиту ` ``sqlite3.enable_load_extension`` з " +"аргументами ``connection``, ``enabled``." msgid "Added the ``sqlite3.enable_load_extension`` auditing event." -msgstr "" +msgstr "Додано подію аудиту sqlite3.enable_load_extension." msgid "" "con.enable_load_extension(True)\n" @@ -1163,43 +1651,83 @@ msgid "" "name MATCH 'pie'\"):\n" " print(row)" msgstr "" +"con.enable_load_extension(True)\n" +"\n" +"# Load the fulltext search extension\n" +"con.execute(\"select load_extension('./fts3.so')\")\n" +"\n" +"# alternatively you can load the extension using an API call:\n" +"# con.load_extension(\"./fts3.so\")\n" +"\n" +"# disable extension loading again\n" +"con.enable_load_extension(False)\n" +"\n" +"# example from SQLite wiki\n" +"con.execute(\"CREATE VIRTUAL TABLE recipe USING fts3(name, ingredients)\")\n" +"con.executescript(\"\"\"\n" +" INSERT INTO recipe (name, ingredients) VALUES('broccoli stew', 'broccoli " +"peppers cheese tomatoes');\n" +" INSERT INTO recipe (name, ingredients) VALUES('pumpkin stew', 'pumpkin " +"onions garlic celery');\n" +" INSERT INTO recipe (name, ingredients) VALUES('broccoli pie', 'broccoli " +"cheese onions flour');\n" +" INSERT INTO recipe (name, ingredients) VALUES('pumpkin pie', 'pumpkin " +"sugar flour butter');\n" +" \"\"\")\n" +"for row in con.execute(\"SELECT rowid, name, ingredients FROM recipe WHERE " +"name MATCH 'pie'\"):\n" +" print(row)" msgid "" "Load an SQLite extension from a shared library. Enable extension loading " "with :meth:`enable_load_extension` before calling this method." msgstr "" +"Загрузите расширение SQLite из общей библиотеки. Включите загрузку " +"расширения с помощью :meth:`enable_load_extension` перед вызовом этого " +"метода." msgid "The path to the SQLite extension." -msgstr "" +msgstr "Путь к расширению SQLite." msgid "" "Entry point name. If ``None`` (the default), SQLite will come up with an " "entry point name of its own; see the SQLite docs `Loading an Extension`_ for " "details." msgstr "" +"Название точки входа. Если «Нет» (по умолчанию), SQLite предложит " +"собственное имя точки входа; подробности см. в документации по SQLite " +"«Загрузка расширения»." msgid "" "Raises an :ref:`auditing event ` ``sqlite3.load_extension`` with " "arguments ``connection``, ``path``." msgstr "" +"Викликає :ref:`подію аудиту ` ``sqlite3.load_extension`` з " +"аргументами ``connection``, ``path``." msgid "Added the ``sqlite3.load_extension`` auditing event." -msgstr "" +msgstr "Додано подію аудиту ``sqlite3.load_extension``." msgid "Added the *entrypoint* parameter." -msgstr "" +msgstr "Добавлен параметр *entrypoint*." msgid "" "Return an :term:`iterator` to dump the database as SQL source code. Useful " "when saving an in-memory database for later restoration. Similar to the ``." "dump`` command in the :program:`sqlite3` shell." msgstr "" +"Верните :term:`iterator`, чтобы выгрузить базу данных в виде исходного кода " +"SQL. Полезно при сохранении базы данных в памяти для последующего " +"восстановления. Аналогично команде ``.dump`` в оболочке :program:`sqlite3`." msgid "" "An optional ``LIKE`` pattern for database objects to dump, e.g. " "``prefix_%``. If ``None`` (the default), all database objects will be " "included." msgstr "" +"Необязательный шаблон ``LIKE`` для объектов базы данных, которые нужно " +"выгрузить, например ``prefix_%``. Если «Нет» (по умолчанию), все объекты " +"базы данных будут включены." msgid "" "# Convert file example.db to SQL dump file dump.sql\n" @@ -1209,28 +1737,38 @@ msgid "" " f.write('%s\\n' % line)\n" "con.close()" msgstr "" +"# Convert file example.db to SQL dump file dump.sql\n" +"con = sqlite3.connect('example.db')\n" +"with open('dump.sql', 'w') as f:\n" +" for line in con.iterdump():\n" +" f.write('%s\\n' % line)\n" +"con.close()" msgid ":ref:`sqlite3-howto-encoding`" msgstr ":ref:`sqlite3-howto-encoding`" msgid "Added the *filter* parameter." -msgstr "" +msgstr "Додано параметр *фільтр*." msgid "Create a backup of an SQLite database." -msgstr "" +msgstr "Создайте резервную копию базы данных SQLite." msgid "" "Works even if the database is being accessed by other clients or " "concurrently by the same connection." msgstr "" +"Работает, даже если к базе данных обращаются другие клиенты или одновременно " +"по тому же соединению." msgid "The database connection to save the backup to." -msgstr "" +msgstr "Соединение с базой данных, в котором сохраняется резервная копия." msgid "" "The number of pages to copy at a time. If equal to or less than ``0``, the " "entire database is copied in a single step. Defaults to ``-1``." msgstr "" +"Количество страниц, копируемых за один раз. Если оно равно или меньше «0», " +"вся база данных копируется за один шаг. По умолчанию ``-1``." msgid "" "If set to a :term:`callable`, it is invoked with three integer arguments for " @@ -1238,20 +1776,31 @@ msgid "" "number of pages still to be copied, and the *total* number of pages. " "Defaults to ``None``." msgstr "" +"Если установлено значение :term:`callable`, он вызывается с тремя " +"целочисленными аргументами для каждой итерации резервного копирования: " +"*статус* последней итерации, *оставшееся* количество страниц, которые еще " +"предстоит скопировать, и *общее* количество страниц. По умолчанию " +"установлено значение «Нет»." msgid "" "The name of the database to back up. Either ``\"main\"`` (the default) for " "the main database, ``\"temp\"`` for the temporary database, or the name of a " "custom database as attached using the ``ATTACH DATABASE`` SQL statement." msgstr "" +"Имя базы данных для резервного копирования. Либо ``\"main\"`` (по умолчанию) " +"для основной базы данных, ``\"temp\"`` для временной базы данных, либо имя " +"пользовательской базы данных, прикрепленное с помощью оператора SQL ``ATTACH " +"DATABASE``." msgid "" "The number of seconds to sleep between successive attempts to back up " "remaining pages." msgstr "" +"Количество секунд ожидания между последовательными попытками резервного " +"копирования оставшихся страниц." msgid "Example 1, copy an existing database into another:" -msgstr "" +msgstr "Пример 1: копирование существующей базы данных в другую:" msgid "" "def progress(status, remaining, total):\n" @@ -1264,9 +1813,18 @@ msgid "" "dst.close()\n" "src.close()" msgstr "" +"def progress(status, remaining, total):\n" +" print(f'Copied {total-remaining} of {total} pages...')\n" +"\n" +"src = sqlite3.connect('example.db')\n" +"dst = sqlite3.connect('backup.db')\n" +"with dst:\n" +" src.backup(dst, pages=1, progress=progress)\n" +"dst.close()\n" +"src.close()" msgid "Example 2, copy an existing database into a transient copy:" -msgstr "" +msgstr "Пример 2: скопируйте существующую базу данных во временную копию:" msgid "" "src = sqlite3.connect('example.db')\n" @@ -1275,20 +1833,27 @@ msgid "" "dst.close()\n" "src.close()" msgstr "" +"src = sqlite3.connect('example.db')\n" +"dst = sqlite3.connect(':memory:')\n" +"src.backup(dst)\n" +"dst.close()\n" +"src.close()" msgid "Get a connection runtime limit." -msgstr "" +msgstr "Получите ограничение времени выполнения соединения." msgid "The `SQLite limit category`_ to be queried." -msgstr "" +msgstr "`Категория ограничения SQLite`_ для запроса." msgid "If *category* is not recognised by the underlying SQLite library." -msgstr "" +msgstr "Если *категория* не распознается базовой библиотекой SQLite." msgid "" "Example, query the maximum length of an SQL statement for :class:" "`Connection` ``con`` (the default is 1000000000):" msgstr "" +"Например, запросите максимальную длину оператора SQL для :class:`Connection` " +"``con`` (по умолчанию — 1000000000):" msgid "" ">>> con.getlimit(sqlite3.SQLITE_LIMIT_SQL_LENGTH)\n" @@ -1303,18 +1868,25 @@ msgid "" "whether or not the limit was changed, the prior value of the limit is " "returned." msgstr "" +"Установите ограничение времени выполнения соединения. Попытки увеличить " +"предел выше его жесткой верхней границы молча обрезаются до жесткой верхней " +"границы. Независимо от того, был ли изменен лимит, возвращается предыдущее " +"значение лимита." msgid "The `SQLite limit category`_ to be set." -msgstr "" +msgstr "`_ Категория ограничения SQLite`_, которую необходимо установить." msgid "" "The value of the new limit. If negative, the current limit is unchanged." msgstr "" +"Значение нового лимита. Если отрицательно, то предел тока не изменяется." msgid "" "Example, limit the number of attached databases to 1 for :class:`Connection` " "``con`` (the default limit is 10):" msgstr "" +"Например, ограничьте количество подключенных баз данных до 1 для :class:" +"`Connection` ``con`` (ограничение по умолчанию — 10):" msgid "" ">>> con.setlimit(sqlite3.SQLITE_LIMIT_ATTACHED, 1)\n" @@ -1328,18 +1900,20 @@ msgstr "" "1" msgid "Query a boolean connection configuration option." -msgstr "" +msgstr "Запросить логический параметр конфигурации соединения." msgid "A :ref:`SQLITE_DBCONFIG code `." -msgstr "" +msgstr "Код SQLITE_DBCONFIG ." msgid "Set a boolean connection configuration option." -msgstr "" +msgstr "Установите логический параметр конфигурации соединения." msgid "" "``True`` if the configuration option should be enabled (default); ``False`` " "if it should be disabled." msgstr "" +"``True``, если опция конфигурации должна быть включена (по умолчанию); " +"``False``, если его следует отключить." msgid "" "Serialize a database into a :class:`bytes` object. For an ordinary on-disk " @@ -1348,14 +1922,21 @@ msgid "" "sequence of bytes which would be written to disk if that database were " "backed up to disk." msgstr "" +"Сериализуйте базу данных в объект :class:`bytes`. Для обычного файла базы " +"данных на диске сериализация представляет собой просто копию дискового " +"файла. Для базы данных в памяти или «временной» базы данных сериализация " +"представляет собой ту же последовательность байтов, которая была бы записана " +"на диск, если бы эта база данных была скопирована на диск." msgid "The database name to be serialized. Defaults to ``\"main\"``." -msgstr "" +msgstr "Имя базы данных для сериализации. По умолчанию ``\"main\"``." msgid "" "This method is only available if the underlying SQLite library has the " "serialize API." msgstr "" +"Этот метод доступен только в том случае, если базовая библиотека SQLite " +"имеет API сериализации." msgid "" "Deserialize a :meth:`serialized ` database into a :class:" @@ -1363,78 +1944,107 @@ msgid "" "database *name*, and reopen *name* as an in-memory database based on the " "serialization contained in *data*." msgstr "" +"Десериализовать :meth:`сериализованную ` базу данных в :class:" +"`Connection`. Этот метод приводит к отключению соединения с базой данных " +"*name* и повторному открытию *name* как базы данных в памяти на основе " +"сериализации, содержащейся в *data*." msgid "A serialized database." -msgstr "" +msgstr "Сериализованная база данных." msgid "The database name to deserialize into. Defaults to ``\"main\"``." -msgstr "" +msgstr "Имя базы данных для десериализации. По умолчанию ``\"main\"``." msgid "" "If the database connection is currently involved in a read transaction or a " "backup operation." msgstr "" +"Если соединение с базой данных в данный момент участвует в транзакции чтения " +"или операции резервного копирования." msgid "If *data* does not contain a valid SQLite database." -msgstr "" +msgstr "Если *data* не содержит действующую базу данных SQLite." msgid "If :func:`len(data) ` is larger than ``2**63 - 1``." -msgstr "" +msgstr "Если :func:`len(data) ` больше, чем ``2**63 - 1``." msgid "" "This method is only available if the underlying SQLite library has the " "deserialize API." msgstr "" +"Этот метод доступен только в том случае, если базовая библиотека SQLite " +"имеет API десериализации." msgid "" "This attribute controls :pep:`249`-compliant transaction behaviour. :attr:`!" "autocommit` has three allowed values:" msgstr "" +"Этот атрибут управляет поведением транзакций, совместимым с :pep:`249`. :" +"attr:`!autocommit` имеет три допустимых значения:" msgid "" "``False``: Select :pep:`249`-compliant transaction behaviour, implying that :" "mod:`!sqlite3` ensures a transaction is always open. Use :meth:`commit` and :" "meth:`rollback` to close transactions." msgstr "" +"``False``: выберите поведение транзакции, совместимое с :pep:`249`, " +"подразумевая, что :mod:`!sqlite3` гарантирует, что транзакция всегда " +"открыта. Используйте :meth:`commit` и :meth:`rollback` для закрытия " +"транзакций." msgid "This is the recommended value of :attr:`!autocommit`." -msgstr "" +msgstr "Это рекомендуемое значение :attr:`!autocommit`." msgid "" "``True``: Use SQLite's `autocommit mode`_. :meth:`commit` and :meth:" "`rollback` have no effect in this mode." msgstr "" +"``True``: используйте ``режим автоматической фиксации`_ SQLite. :meth:" +"`commit` и :meth:`rollback` не действуют в этом режиме." msgid "" ":data:`LEGACY_TRANSACTION_CONTROL`: Pre-Python 3.12 (non-:pep:`249`-" "compliant) transaction control. See :attr:`isolation_level` for more details." msgstr "" +":data:`LEGACY_TRANSACTION_CONTROL`: Управление транзакциями до версии Python " +"3.12 (не :pep:`249`-совместимой). Дополнительную информацию см. в :attr:" +"`isolation_level`." msgid "This is currently the default value of :attr:`!autocommit`." -msgstr "" +msgstr "В настоящее время это значение по умолчанию для :attr:`!autocommit`." msgid "" "Changing :attr:`!autocommit` to ``False`` will open a new transaction, and " "changing it to ``True`` will commit any pending transaction." msgstr "" +"Изменение :attr:`!autocommit` на ``False`` откроет новую транзакцию, а " +"изменение его на ``True`` зафиксирует любую ожидающую транзакцию." msgid "See :ref:`sqlite3-transaction-control-autocommit` for more details." msgstr "" +"Дополнительную информацию см. в :ref:`sqlite3-transaction-control-" +"autocommit`." msgid "" "The :attr:`isolation_level` attribute has no effect unless :attr:" "`autocommit` is :data:`LEGACY_TRANSACTION_CONTROL`." msgstr "" +"Атрибут :attr:`isolation_level` не имеет никакого эффекта, если :attr:" +"`autocommit` не имеет значения :data:`LEGACY_TRANSACTION_CONTROL`." msgid "" "This read-only attribute corresponds to the low-level SQLite `autocommit " "mode`_." msgstr "" +"Этот атрибут только для чтения соответствует низкоуровневому `режиму " +"автоматической фиксации`_ SQLite." msgid "" "``True`` if a transaction is active (there are uncommitted changes), " "``False`` otherwise." msgstr "" +"``True``, если транзакция активна (есть незафиксированные изменения), " +"``False`` в противном случае." msgid "" "Controls the :ref:`legacy transaction handling mode ` is performed." msgstr "" +"Управляет :ref:`устаревшим режимом обработки транзакций ` :mod:`!sqlite3`. Если установлено значение None, " +"транзакции никогда не открываются неявно. Если установлено одно из " +"«ОТЛОЖЕННЫХ», «НЕМЕДЛЕННЫХ» или «ЭКСКЛЮЗИВНЫХ», соответствующих базовому " +"«поведению транзакций SQLite», :ref:`неявное управление транзакциями " +"` выполняется." msgid "" "If not overridden by the *isolation_level* parameter of :func:`connect`, the " "default is ``\"\"``, which is an alias for ``\"DEFERRED\"``." msgstr "" +"Если это не переопределено параметром *isolation_level* функции :func:" +"`connect`, по умолчанию используется ``\"\"``, который является псевдонимом " +"для ``\"DEFERRED\"``." msgid "" "Using :attr:`autocommit` to control transaction handling is recommended over " @@ -1456,6 +2075,10 @@ msgid "" "unless :attr:`autocommit` is set to :data:`LEGACY_TRANSACTION_CONTROL` (the " "default)." msgstr "" +"Использование :attr:`autocommit` для управления обработкой транзакций " +"рекомендуется вместо использования :attr:`!isolation_level`. :attr:`!" +"isolation_level` не имеет никакого эффекта, если для :attr:`autocommit` не " +"установлено значение :data:`LEGACY_TRANSACTION_CONTROL` (по умолчанию)." msgid "" "The initial :attr:`~Cursor.row_factory` for :class:`Cursor` objects created " @@ -1464,26 +2087,37 @@ msgid "" "ones. Is ``None`` by default, meaning each row is returned as a :class:" "`tuple`." msgstr "" +"Начальный :attr:`~Cursor.row_factory` для объектов :class:`Cursor`, " +"созданных из этого соединения. Присвоение этому атрибуту не влияет на :attr:" +"`!row_factory` существующих курсоров, принадлежащих этому соединению, а " +"только на новые. По умолчанию имеет значение None, что означает, что каждая " +"строка возвращается как :class:`tuple`." msgid "See :ref:`sqlite3-howto-row-factory` for more details." -msgstr "" +msgstr "Дополнительную информацию см. в :ref:`sqlite3-howto-row-factory`." msgid "" "A :term:`callable` that accepts a :class:`bytes` parameter and returns a " "text representation of it. The callable is invoked for SQLite values with " "the ``TEXT`` data type. By default, this attribute is set to :class:`str`." msgstr "" +":term:`callable`, который принимает параметр :class:`bytes` и возвращает его " +"текстовое представление. Вызываемый объект вызывается для значений SQLite с " +"типом данных TEXT. По умолчанию для этого атрибута установлено значение :" +"class:`str`." msgid "See :ref:`sqlite3-howto-encoding` for more details." -msgstr "" +msgstr "Дополнительную информацию см. в :ref:`sqlite3-howto-encoding`." msgid "" "Return the total number of database rows that have been modified, inserted, " "or deleted since the database connection was opened." msgstr "" +"Возвращает общее количество строк базы данных, которые были изменены, " +"вставлены или удалены с момента открытия соединения с базой данных." msgid "Cursor objects" -msgstr "" +msgstr "Курсорные объекты" msgid "" "A ``Cursor`` object represents a `database cursor`_ which is used to execute " @@ -1491,34 +2125,48 @@ msgid "" "created using :meth:`Connection.cursor`, or by using any of the :ref:" "`connection shortcut methods `." msgstr "" +"Объект «Курсор» представляет собой «курсор базы данных», который " +"используется для выполнения операторов SQL и управления контекстом операции " +"выборки. Курсоры создаются с помощью :meth:`Connection.cursor` или с помощью " +"любого из :ref:`методов ярлыков соединений `." msgid "" "Cursor objects are :term:`iterators `, meaning that if you :meth:" "`~Cursor.execute` a ``SELECT`` query, you can simply iterate over the cursor " "to fetch the resulting rows:" msgstr "" +"Объекты курсора — это :term:`итераторы `, что означает, что если " +"вы :meth:`~Cursor.execute` запрос ``SELECT``, вы можете просто перебирать " +"курсор для получения результирующих строк:" msgid "" "for row in cur.execute(\"SELECT t FROM data\"):\n" " print(row)" msgstr "" +"for row in cur.execute(\"SELECT t FROM data\"):\n" +" print(row)" msgid "A :class:`Cursor` instance has the following attributes and methods." -msgstr "" +msgstr "Екземпляр :class:`Cursor` має такі атрибути та методи." msgid "" "Execute a single SQL statement, optionally binding Python values using :ref:" "`placeholders `." msgstr "" +"Выполните один оператор SQL, при необходимости привязав значения Python с " +"помощью :ref:`placeholders `." msgid "A single SQL statement." -msgstr "" +msgstr "Один оператор SQL." msgid "" "Python values to bind to placeholders in *sql*. A :class:`!dict` if named " "placeholders are used. A :term:`!sequence` if unnamed placeholders are used. " "See :ref:`sqlite3-placeholders`." msgstr "" +"Значения Python для привязки к заполнителям в *sql*. A :class:`!dict`, если " +"используются именованные заполнители. A :term:`!sequence`, если используются " +"безымянные заполнители. См. :ref:`sqlite3-placeholders`." msgid "If *sql* contains more than one SQL statement." msgstr "" @@ -1529,6 +2177,11 @@ msgid "" "``UPDATE``, ``DELETE``, or ``REPLACE`` statement, and there is no open " "transaction, a transaction is implicitly opened before executing *sql*." msgstr "" +"Если :attr:`~Connection.autocommit` равен :data:" +"`LEGACY_TRANSACTION_CONTROL`, :attr:`~Connection.isolation_level` не равен " +"``None``, *sql* — это ``INSERT``, ``UPDATE` `, ``DELETE`` или ``REPLACE`` и " +"нет открытой транзакции, транзакция неявно открывается перед выполнением " +"*sql*." msgid "" ":exc:`DeprecationWarning` is emitted if :ref:`named placeholders ` :abbr:`DML (Data Manipulation Language)` SQL " "statement *sql*." msgstr "" +"Для каждого элемента в *parameters* повторно выполните :ref:" +"`параметризованный ` :abbr:`DML (язык манипулирования " +"данными)` оператор SQL *sql*." msgid "Uses the same implicit transaction handling as :meth:`~Cursor.execute`." msgstr "" +"Использует ту же неявную обработку транзакций, что и :meth:`~Cursor.execute`." msgid "A single SQL DML statement." -msgstr "" +msgstr "Один оператор SQL DML." msgid "" "An :term:`!iterable` of parameters to bind with the placeholders in *sql*. " "See :ref:`sqlite3-placeholders`." msgstr "" +":term:`!iterable` параметров для привязки к заполнителям в *sql*. См. :ref:" +"`sqlite3-placeholders`." msgid "" "If *sql* contains more than one SQL statement, or is not a DML statement." @@ -1569,11 +2229,19 @@ msgid "" "# cur is an sqlite3.Cursor object\n" "cur.executemany(\"INSERT INTO data VALUES(?)\", rows)" msgstr "" +"rows = [\n" +" (\"row1\",),\n" +" (\"row2\",),\n" +"]\n" +"# cur is an sqlite3.Cursor object\n" +"cur.executemany(\"INSERT INTO data VALUES(?)\", rows)" msgid "" "Any resulting rows are discarded, including DML statements with `RETURNING " "clauses`_." msgstr "" +"Любые результирующие строки отбрасываются, включая операторы DML с " +"предложениями RETURNING_." msgid "" ":exc:`DeprecationWarning` is emitted if :ref:`named placeholders `." -msgstr "" +msgstr "*sql_script* должен быть :class:`string `." msgid "" "# cur is an sqlite3.Cursor object\n" @@ -1603,17 +2276,31 @@ msgid "" " COMMIT;\n" "\"\"\")" msgstr "" +"# cur is an sqlite3.Cursor object\n" +"cur.executescript(\"\"\"\n" +" BEGIN;\n" +" CREATE TABLE person(firstname, lastname, age);\n" +" CREATE TABLE book(title, author, published);\n" +" CREATE TABLE publisher(name, address);\n" +" COMMIT;\n" +"\"\"\")" msgid "" "If :attr:`~Cursor.row_factory` is ``None``, return the next row query result " "set as a :class:`tuple`. Else, pass it to the row factory and return its " "result. Return ``None`` if no more data is available." msgstr "" +"Если :attr:`~Cursor.row_factory` имеет значение ``None``, вернуть следующий " +"набор результатов запроса строки как :class:`tuple`. В противном случае " +"передайте его фабрике строк и верните результат. Верните None, если данных " +"больше нет." msgid "" "Return the next set of rows of a query result as a :class:`list`. Return an " "empty list if no more rows are available." msgstr "" +"Возвращает следующий набор строк результата запроса в виде :class:`list`. " +"Верните пустой список, если больше нет доступных строк." msgid "" "The number of rows to fetch per call is specified by the *size* parameter. " @@ -1621,6 +2308,10 @@ msgid "" "be fetched. If fewer than *size* rows are available, as many rows as are " "available are returned." msgstr "" +"Количество строк, извлекаемых за один вызов, определяется параметром *size*. " +"Если *size* не задано, :attr:`arraysize` определяет количество извлекаемых " +"строк. Если доступно меньше строк *size*, возвращается столько строк, " +"сколько доступно." msgid "" "Note there are performance considerations involved with the *size* " @@ -1628,30 +2319,43 @@ msgid "" "attribute. If the *size* parameter is used, then it is best for it to retain " "the same value from one :meth:`fetchmany` call to the next." msgstr "" +"Зауважте, що з параметром *size* пов’язані міркування щодо продуктивності. " +"Для оптимальної продуктивності зазвичай найкраще використовувати атрибут " +"arraysize. Якщо використовується параметр *size*, то найкраще, щоб він " +"зберігав те саме значення від одного виклику :meth:`fetchmany` до наступного." 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` " "attribute can affect the performance of this operation." msgstr "" +"Возвращает все (оставшиеся) строки результата запроса в виде :class:`list`. " +"Верните пустой список, если нет доступных строк. Обратите внимание, что " +"атрибут :attr:`arraysize` может повлиять на производительность этой операции." msgid "Close the cursor now (rather than whenever ``__del__`` is called)." -msgstr "" +msgstr "Закрийте курсор зараз (а не під час кожного виклику ``__del__``)." msgid "" "The cursor will be unusable from this point forward; a :exc:" "`ProgrammingError` exception will be raised if any operation is attempted " "with the cursor." msgstr "" +"Курсор стане непридатним для використання з цього моменту; виняток :exc:" +"`ProgrammingError` буде викликано, якщо будь-яка операція буде виконана з " +"курсором." msgid "Required by the DB-API. Does nothing in :mod:`!sqlite3`." -msgstr "" +msgstr "Требуется для DB-API. Ничего не делает в :mod:`!sqlite3`." msgid "" "Read/write attribute that controls the number of rows returned by :meth:" "`fetchmany`. The default value is 1 which means a single row would be " "fetched per call." msgstr "" +"Атрибут читання/запису, який контролює кількість рядків, які повертає :meth:" +"`fetchmany`. Значення за замовчуванням дорівнює 1, що означає, що за виклик " +"буде отримано один рядок." msgid "" "Read-only attribute that provides the SQLite database :class:`Connection` " @@ -1659,6 +2363,10 @@ msgid "" "`con.cursor() ` will have a :attr:`connection` attribute " "that refers to *con*:" msgstr "" +"Атрибут только для чтения, который предоставляет базу данных SQLite :class:" +"`Connection`, принадлежащую курсору. Объект :class:`Cursor`, созданный " +"вызовом :meth:`con.cursor() `, будет иметь атрибут :attr:" +"`connection`, который ссылается на *con*:" msgid "" ">>> con = sqlite3.connect(\":memory:\")\n" @@ -1667,15 +2375,26 @@ msgid "" "True\n" ">>> con.close()" msgstr "" +">>> con = sqlite3.connect(\":memory:\")\n" +">>> cur = con.cursor()\n" +">>> cur.connection == con\n" +"True\n" +">>> con.close()" msgid "" "Read-only attribute that provides the column names of the last query. To " "remain compatible with the Python DB API, it returns a 7-tuple for each " "column where the last six items of each tuple are ``None``." msgstr "" +"Атрибут только для чтения, который предоставляет имена столбцов последнего " +"запроса. Чтобы оставаться совместимым с API БД Python, он возвращает 7-" +"кортеж для каждого столбца, где последние шесть элементов каждого кортежа " +"имеют значение «Нет»." msgid "It is set for ``SELECT`` statements without any matching rows as well." msgstr "" +"Він також встановлений для операторів ``SELECT`` без будь-яких відповідних " +"рядків." msgid "" "Read-only attribute that provides the row id of the last inserted row. It is " @@ -1685,12 +2404,18 @@ msgid "" "``lastrowid`` is left unchanged. The initial value of ``lastrowid`` is " "``None``." msgstr "" +"Атрибут только для чтения, который предоставляет идентификатор последней " +"вставленной строки. Он обновляется только после успешных операторов INSERT " +"или REPLACE с использованием метода :meth:`execute`. Для других операторов " +"после :meth:`executemany` или :meth:`executescript`, или если вставка не " +"удалась, значение ``lastrowid`` остается неизменным. Начальное значение " +"«lastrowid» — «Нет»." msgid "Inserts into ``WITHOUT ROWID`` tables are not recorded." -msgstr "" +msgstr "Вставки в таблиці ``БЕЗ ROWID`` не записуються." msgid "Added support for the ``REPLACE`` statement." -msgstr "" +msgstr "Додано підтримку оператора REPLACE." msgid "" "Read-only attribute that provides the number of modified rows for " @@ -1700,6 +2425,12 @@ msgid "" "methods, after the statement has run to completion. This means that any " "resulting rows must be fetched in order for :attr:`!rowcount` to be updated." msgstr "" +"Атрибут только для чтения, который предоставляет количество измененных строк " +"для операторов INSERT, UPDATE, DELETE и REPLACE; для других операторов, " +"включая запросы :abbr:`CTE (Common Table Expression)`, равно ``-1``. Он " +"обновляется методами :meth:`execute` и :meth:`executemany` только после " +"завершения выполнения оператора. Это означает, что все результирующие строки " +"должны быть извлечены для обновления :attr:`!rowcount`." msgid "" "Control how a row fetched from this :class:`!Cursor` is represented. If " @@ -1708,15 +2439,23 @@ msgid "" "arguments, a :class:`Cursor` object and the :class:`!tuple` of row values, " "and returns a custom object representing an SQLite row." msgstr "" +"Управляйте представлением строки, полученной из этого :class:`!Cursor`. Если " +"``None``, строка представлена ​​как :class:`tuple`. Можно установить " +"включенный :class:`sqlite3.Row`; или :term:`callable`, который принимает два " +"аргумента: объект :class:`Cursor` и :class:`!tuple` значений строк, и " +"возвращает пользовательский объект, представляющий строку SQLite." msgid "" "Defaults to what :attr:`Connection.row_factory` was set to when the :class:`!" "Cursor` was created. Assigning to this attribute does not affect :attr:" "`Connection.row_factory` of the parent connection." msgstr "" +"По умолчанию установлено то, что :attr:`Connection.row_factory` было " +"установлено при создании :class:`!Cursor`. Назначение этого атрибута не " +"влияет на :attr:`Connection.row_factory` родительского соединения." msgid "Row objects" -msgstr "" +msgstr "Строковые объекты" msgid "" "A :class:`!Row` instance serves as a highly optimized :attr:`~Connection." @@ -1724,23 +2463,32 @@ msgid "" "equality testing, :func:`len`, and :term:`mapping` access by column name and " "index." msgstr "" +"Экземпляр :class:`!Row` служит высокооптимизированной :attr:`~Connection." +"row_factory` для объектов :class:`Connection`. Он поддерживает итерацию, " +"проверку на равенство, доступ :func:`len` и :term:`mapping` по имени столбца " +"и индексу." msgid "" "Two :class:`!Row` objects compare equal if they have identical column names " "and values." msgstr "" +"Два объекта :class:`!Row` сравниваются равными, если они имеют одинаковые " +"имена и значения столбцов." msgid "" "Return a :class:`list` of column names as :class:`strings `. " "Immediately after a query, it is the first member of each tuple in :attr:" "`Cursor.description`." msgstr "" +"Верните список имен столбцов в виде :class:`strings `. Сразу после " +"запроса он становится первым членом каждого кортежа в :attr:`Cursor." +"description`." msgid "Added support of slicing." -msgstr "" +msgstr "Menambahkan dukungan dari pemotongan." msgid "Blob objects" -msgstr "" +msgstr "Объекты BLOB-объектов" msgid "" "A :class:`Blob` instance is a :term:`file-like object` that can read and " @@ -1748,11 +2496,18 @@ msgid "" "`len(blob) ` to get the size (number of bytes) of the blob. Use indices " "and :term:`slices ` for direct access to the blob data." msgstr "" +"Экземпляр :class:`Blob` — это :term:`файлоподобный объект`, который может " +"читать и записывать данные в SQLite :abbr:`BLOB (большой двоичный объект)`. " +"Вызовите :func:`len(blob) `, чтобы получить размер (количество байтов) " +"большого двоичного объекта. Используйте индексы и :term:`slices ` для " +"прямого доступа к данным большого двоичного объекта." msgid "" "Use the :class:`Blob` as a :term:`context manager` to ensure that the blob " "handle is closed after use." msgstr "" +"Используйте :class:`Blob` в качестве :term:`контекстного менеджера`, чтобы " +"гарантировать, что дескриптор BLOB-объекта будет закрыт после использования." msgid "" "con = sqlite3.connect(\":memory:\")\n" @@ -1774,15 +2529,36 @@ msgid "" "print(greeting) # outputs \"b'Hello, world!'\"\n" "con.close()" msgstr "" +"con = sqlite3.connect(\":memory:\")\n" +"con.execute(\"CREATE TABLE test(blob_col blob)\")\n" +"con.execute(\"INSERT INTO test(blob_col) VALUES(zeroblob(13))\")\n" +"\n" +"# Write to our blob, using two write operations:\n" +"with con.blobopen(\"test\", \"blob_col\", 1) as blob:\n" +" blob.write(b\"hello, \")\n" +" blob.write(b\"world.\")\n" +" # Modify the first and last bytes of our blob\n" +" blob[0] = ord(\"H\")\n" +" blob[-1] = ord(\"!\")\n" +"\n" +"# Read the contents of our blob\n" +"with con.blobopen(\"test\", \"blob_col\", 1) as blob:\n" +" greeting = blob.read()\n" +"\n" +"print(greeting) # outputs \"b'Hello, world!'\"\n" +"con.close()" msgid "Close the blob." -msgstr "" +msgstr "Закройте blob." msgid "" "The blob will be unusable from this point onward. An :class:`~sqlite3." "Error` (or subclass) exception will be raised if any further operation is " "attempted with the blob." msgstr "" +"С этого момента большой двоичный объект станет непригоден для использования. " +"Исключение :class:`~sqlite3.Error` (или подкласса) будет вызвано при попытке " +"какой-либо дальнейшей операции с большим двоичным объектом." msgid "" "Read *length* bytes of data from the blob at the current offset position. If " @@ -1790,15 +2566,23 @@ msgid "" "will be returned. When *length* is not specified, or is negative, :meth:" "`~Blob.read` will read until the end of the blob." msgstr "" +"Считайте *длину* байтов данных из большого двоичного объекта в текущей " +"позиции смещения. Если достигнут конец большого двоичного объекта, будут " +"возвращены данные до :abbr:`EOF (конец файла)`. Если *длина* не указана или " +"имеет отрицательное значение, :meth:`~Blob.read` будет читать до конца " +"большого двоичного объекта." msgid "" "Write *data* to the blob at the current offset. This function cannot change " "the blob length. Writing beyond the end of the blob will raise :exc:" "`ValueError`." msgstr "" +"Запишите *данные* в большой двоичный объект по текущему смещению. Эта " +"функция не может изменить длину большого двоичного объекта. Запись за " +"пределами BLOB-объекта вызовет :exc:`ValueError`." msgid "Return the current access position of the blob." -msgstr "" +msgstr "Верните текущую позицию доступа к большому двоичному объекту." msgid "" "Set the current access position of the blob to *offset*. The *origin* " @@ -1806,21 +2590,29 @@ msgid "" "values for *origin* are :const:`os.SEEK_CUR` (seek relative to the current " "position) and :const:`os.SEEK_END` (seek relative to the blob’s end)." msgstr "" +"Установите текущую позицию доступа к большому двоичному объекту как " +"*offset*. Аргумент *origin* по умолчанию имеет значение :const:`os.SEEK_SET` " +"(абсолютное позиционирование больших двоичных объектов). Другими значениями " +"*origin* являются :const:`os.SEEK_CUR` (поиск относительно текущей позиции) " +"и :const:`os.SEEK_END` (поиск относительно конца большого двоичного объекта)." msgid "PrepareProtocol objects" -msgstr "" +msgstr "Объекты подготовки протокола" msgid "" "The PrepareProtocol type's single purpose is to act as a :pep:`246` style " "adaption protocol for objects that can :ref:`adapt themselves ` to :ref:`native SQLite types `." msgstr "" +"Единственная цель типа ПодготовкаПротокол — действовать как протокол " +"адаптации стиля :pep:`246` для объектов, которые могут :ref:`адаптироваться " +"` к :ref:`родным типам SQLite `." msgid "Exceptions" msgstr "Wyjątki" msgid "The exception hierarchy is defined by the DB-API 2.0 (:pep:`249`)." -msgstr "" +msgstr "Ієрархія винятків визначається DB-API 2.0 (:pep:`249`)." msgid "" "This exception is not currently raised by the :mod:`!sqlite3` module, but " @@ -1828,33 +2620,48 @@ msgid "" "defined function truncates data while inserting. ``Warning`` is a subclass " "of :exc:`Exception`." msgstr "" +"Это исключение в настоящее время не вызывается модулем :mod:`!sqlite3`, но " +"может быть вызвано приложениями, использующими :mod:`!sqlite3`, например, " +"если определяемая пользователем функция усекает данные при вставке. " +"``Warning`` является подклассом :exc:`Exception`." msgid "" "The base class of the other exceptions in this module. Use this to catch all " "errors with one single :keyword:`except` statement. ``Error`` is a subclass " "of :exc:`Exception`." msgstr "" +"Базовий клас інших винятків у цьому модулі. Використовуйте це, щоб " +"перехопити всі помилки за допомогою одного оператора :keyword:`except`. " +"``Error`` є підкласом :exc:`Exception`." msgid "" "If the exception originated from within the SQLite library, the following " "two attributes are added to the exception:" msgstr "" +"Если исключение возникло из библиотеки SQLite, к исключению добавляются " +"следующие два атрибута:" msgid "" "The numeric error code from the `SQLite API `_" -msgstr "" +msgstr "Числовой код ошибки из `SQLite API `_" msgid "" "The symbolic name of the numeric error code from the `SQLite API `_" msgstr "" +"Символическое имя числового кода ошибки из `SQLite API `_" msgid "" "Exception raised for misuse of the low-level SQLite C API. In other words, " "if this exception is raised, it probably indicates a bug in the :mod:`!" "sqlite3` module. ``InterfaceError`` is a subclass of :exc:`Error`." msgstr "" +"Исключение возникло из-за неправильного использования низкоуровневого API " +"SQLite C. Другими словами, если это исключение возникает, это, вероятно, " +"указывает на ошибку в модуле :mod:`!sqlite3`. ``InterfaceError`` является " +"подклассом :exc:`Error`." msgid "" "Exception raised for errors that are related to the database. This serves as " @@ -1862,12 +2669,18 @@ msgid "" "implicitly through the specialised subclasses. ``DatabaseError`` is a " "subclass of :exc:`Error`." msgstr "" +"Виняток створено для помилок, пов’язаних із базою даних. Це служить базовим " +"винятком для кількох типів помилок бази даних. Він виникає лише неявно через " +"спеціалізовані підкласи. ``DatabaseError`` є підкласом :exc:`Error`." msgid "" "Exception raised for errors caused by problems with the processed data, like " "numeric values out of range, and strings which are too long. ``DataError`` " "is a subclass of :exc:`DatabaseError`." msgstr "" +"Виняток створено для помилок, спричинених проблемами з обробленими даними, " +"як-от числові значення поза межами діапазону та надто довгі рядки. " +"``DataError`` є підкласом :exc:`DatabaseError`." msgid "" "Exception raised for errors that are related to the database's operation, " @@ -1875,17 +2688,27 @@ msgid "" "database path is not found, or a transaction could not be processed. " "``OperationalError`` is a subclass of :exc:`DatabaseError`." msgstr "" +"Виняток створено для помилок, які пов’язані з роботою бази даних і не " +"обов’язково знаходяться під контролем програміста. Наприклад, шлях до бази " +"даних не знайдено або транзакцію не вдалося обробити. ``OperationalError`` є " +"підкласом :exc:`DatabaseError`." msgid "" "Exception raised when the relational integrity of the database is affected, " "e.g. a foreign key check fails. It is a subclass of :exc:`DatabaseError`." msgstr "" +"Виняток виникає, коли порушується реляційна цілісність бази даних, " +"наприклад. не вдається перевірити зовнішній ключ. Це підклас :exc:" +"`DatabaseError`." msgid "" "Exception raised when SQLite encounters an internal error. If this is " "raised, it may indicate that there is a problem with the runtime SQLite " "library. ``InternalError`` is a subclass of :exc:`DatabaseError`." msgstr "" +"Виняток виникає, коли SQLite стикається з внутрішньою помилкою. Якщо це " +"виникає, це може означати, що існує проблема з бібліотекою SQLite під час " +"виконання. ``InternalError`` є підкласом :exc:`DatabaseError`." msgid "" "Exception raised for :mod:`!sqlite3` API programming errors, for example " @@ -1893,6 +2716,10 @@ msgid "" "closed :class:`Connection`. ``ProgrammingError`` is a subclass of :exc:" "`DatabaseError`." msgstr "" +"Исключение возникает из-за ошибок программирования API :mod:`!sqlite3`, " +"например, предоставления неправильного количества привязок к запросу или " +"попытки работы с закрытым :class:`Соединением`. ``ProgrammingError`` " +"является подклассом :exc:`DatabaseError`." msgid "" "Exception raised in case a method or database API is not supported by the " @@ -1901,24 +2728,34 @@ msgid "" "does not support deterministic functions. ``NotSupportedError`` is a " "subclass of :exc:`DatabaseError`." msgstr "" +"Исключение возникает в случае, если метод или API базы данных не " +"поддерживается базовой библиотекой SQLite. Например, установите для " +"параметра *deterministic* значение True в :meth:`~Connection." +"create_function`, если базовая библиотека SQLite не поддерживает " +"детерминированные функции. ``NotSupportedError`` является подклассом :exc:" +"`DatabaseError`." msgid "SQLite and Python types" -msgstr "" +msgstr "SQLite dan tipe Python" msgid "" "SQLite natively supports the following types: ``NULL``, ``INTEGER``, " "``REAL``, ``TEXT``, ``BLOB``." msgstr "" +"SQLite спочатку підтримує такі типи: ``NULL``, ``INTEGER``, ``REAL``, " +"``TEXT``, ``BLOB``." msgid "" "The following Python types can thus be sent to SQLite without any problem:" msgstr "" +"Таким чином, такі типи Python можна без будь-яких проблем надсилати до " +"SQLite:" msgid "Python type" msgstr "" msgid "SQLite type" -msgstr "" +msgstr "tipe SQLite" msgid "``None``" msgstr "``None`` - z ang. - ``Żaden``" @@ -1930,31 +2767,32 @@ msgid ":class:`int`" msgstr ":class:`int`" msgid "``INTEGER``" -msgstr "" +msgstr "``INTEGER``" msgid ":class:`float`" msgstr ":class:`float`" msgid "``REAL``" -msgstr "" +msgstr "``REAL``" msgid ":class:`str`" msgstr ":class:`str`" msgid "``TEXT``" -msgstr "" +msgstr "``TEXT``" msgid ":class:`bytes`" msgstr ":class:`bytes`" msgid "``BLOB``" -msgstr "" +msgstr "``BLOB``" msgid "This is how SQLite types are converted to Python types by default:" -msgstr "" +msgstr "Ось як типи SQLite перетворюються на типи Python за замовчуванням:" msgid "depends on :attr:`~Connection.text_factory`, :class:`str` by default" msgstr "" +"залежить від :attr:`~Connection.text_factory`, :class:`str` за замовчуванням" msgid "" "The type system of the :mod:`!sqlite3` module is extensible in two ways: you " @@ -1963,39 +2801,55 @@ msgid "" "convert SQLite types to Python types via :ref:`converters `." msgstr "" +"Система типов модуля :mod:`!sqlite3` расширяется двумя способами: вы можете " +"хранить дополнительные типы Python в базе данных SQLite через :ref:`object " +"адаптеры `, и вы можете позволить :mod Модуль :`!sqlite3` " +"преобразует типы SQLite в типы Python с помощью :ref:`converters `." msgid "Default adapters and converters (deprecated)" -msgstr "" +msgstr "Адаптеры и конвертеры по умолчанию (устарело)" msgid "" "The default adapters and converters are deprecated as of Python 3.12. " "Instead, use the :ref:`sqlite3-adapter-converter-recipes` and tailor them to " "your needs." msgstr "" +"Адаптеры и конвертеры по умолчанию устарели, начиная с Python 3.12. Вместо " +"этого используйте sqlite3-adapter-converter-recipes и адаптируйте их к своим " +"потребностям." msgid "The deprecated default adapters and converters consist of:" -msgstr "" +msgstr "Устаревшие адаптеры и преобразователи по умолчанию состоят из:" msgid "" "An adapter for :class:`datetime.date` objects to :class:`strings ` in " "`ISO 8601`_ format." msgstr "" +"Адаптер для объектов :class:`datetime.date` к :class:`strings ` в " +"формате `ISO 8601`_." msgid "" "An adapter for :class:`datetime.datetime` objects to strings in ISO 8601 " "format." msgstr "" +"Адаптер для объектов :class:`datetime.datetime` к строкам в формате ISO 8601." msgid "" "A converter for :ref:`declared ` \"date\" types to :" "class:`datetime.date` objects." msgstr "" +"Конвертер для объявленных ` типов даты в объекты :class:" +"`datetime.date`." msgid "" "A converter for declared \"timestamp\" types to :class:`datetime.datetime` " "objects. Fractional parts will be truncated to 6 digits (microsecond " "precision)." msgstr "" +"Конвертер объявленных типов «меток времени» в объекты :class:`datetime." +"datetime`. Дробные части будут усечены до 6 цифр (с точностью до " +"микросекунды)." msgid "" "The default \"timestamp\" converter ignores UTC offsets in the database and " @@ -2003,33 +2857,40 @@ msgid "" "offsets in timestamps, either leave converters disabled, or register an " "offset-aware converter with :func:`register_converter`." msgstr "" +"Конвертер \"міток часу\" за замовчуванням ігнорує зміщення UTC у базі даних " +"і завжди повертає простий об’єкт :class:`datetime.datetime`. Щоб зберегти " +"зміщення UTC у мітках часу, залиште конвертери вимкненими або зареєструйте " +"конвертер із зсувом за допомогою :func:`register_converter`." msgid "Command-line interface" -msgstr "" +msgstr "Интерфейс командной строки" msgid "" "The :mod:`!sqlite3` module can be invoked as a script, using the " "interpreter's :option:`-m` switch, in order to provide a simple SQLite " "shell. The argument signature is as follows::" msgstr "" +"Модуль :mod:`!sqlite3` можно вызвать как скрипт, используя переключатель " +"интерпретатора :option:`-m`, чтобы обеспечить простую оболочку SQLite. " +"Сигнатура аргумента следующая:" msgid "python -m sqlite3 [-h] [-v] [filename] [sql]" -msgstr "" +msgstr "python -m sqlite3 [-h] [-v] [filename] [sql]" msgid "Type ``.quit`` or CTRL-D to exit the shell." -msgstr "" +msgstr "Введите ``.quit`` или CTRL-D, чтобы выйти из оболочки." msgid "Print CLI help." -msgstr "" +msgstr "Распечатать справку CLI." msgid "Print underlying SQLite library version." -msgstr "" +msgstr "Распечатайте базовую версию библиотеки SQLite." msgid "How-to guides" -msgstr "" +msgstr "Практические руководства" msgid "How to use placeholders to bind values in SQL queries" -msgstr "" +msgstr "Как использовать заполнители для привязки значений в запросах SQL" msgid "" "SQL operations usually need to use values from Python variables. However, " @@ -2037,6 +2898,11 @@ msgid "" "vulnerable to `SQL injection attacks`_. For example, an attacker can simply " "close the single quote and inject ``OR TRUE`` to select all rows::" msgstr "" +"В операциях SQL обычно необходимо использовать значения переменных Python. " +"Однако остерегайтесь использования строковых операций Python для сборки " +"запросов, поскольку они уязвимы для атак с использованием SQL-инъекций. " +"Например, злоумышленник может просто закрыть одинарную кавычку и ввести ``OR " +"TRUE``, чтобы выбрать все строки:" msgid "" ">>> # Never do this -- insecure!\n" @@ -2047,6 +2913,13 @@ msgid "" "SELECT * FROM stocks WHERE symbol = '' OR TRUE; --'\n" ">>> cur.execute(sql)" msgstr "" +">>> # Never do this -- insecure!\n" +">>> symbol = input()\n" +"' OR TRUE; --\n" +">>> sql = \"SELECT * FROM stocks WHERE symbol = '%s'\" % symbol\n" +">>> print(sql)\n" +"SELECT * FROM stocks WHERE symbol = '' OR TRUE; --'\n" +">>> cur.execute(sql)" msgid "" "Instead, use the DB-API's parameter substitution. To insert a variable into " @@ -2054,6 +2927,10 @@ msgid "" "values into the query by providing them as a :class:`tuple` of values to the " "second argument of the cursor's :meth:`~Cursor.execute` method." msgstr "" +"Вместо этого используйте подстановку параметров DB-API. Чтобы вставить " +"переменную в строку запроса, используйте заполнитель в строке и подставьте " +"фактические значения в запрос, предоставив их в виде :class:`tuple` значений " +"для второго аргумента :meth:`~Cursor курсора. .execute` метод." msgid "" "An SQL statement may use one of two kinds of placeholders: question marks " @@ -2064,6 +2941,14 @@ msgid "" "which must contain keys for all named parameters; any extra items are " "ignored. Here's an example of both styles:" msgstr "" +"В операторе SQL может использоваться один из двух типов заполнителей: " +"вопросительные знаки (стиль qmark) или именованные заполнители (именованный " +"стиль). Для стиля qmark *параметры* должны быть :term:`sequence`, длина " +"которого должна соответствовать количеству заполнителей, иначе возникнет :" +"exc:`ProgrammingError`. Для именованного стиля *parameters* должен быть " +"экземпляром :class:`dict` (или подкласса), который должен содержать ключи " +"для всех именованных параметров; любые дополнительные элементы игнорируются. " +"Вот пример обоих стилей:" msgid "" "con = sqlite3.connect(\":memory:\")\n" @@ -2084,20 +2969,42 @@ msgid "" "print(cur.fetchall())\n" "con.close()" msgstr "" +"con = sqlite3.connect(\":memory:\")\n" +"cur = con.execute(\"CREATE TABLE lang(name, first_appeared)\")\n" +"\n" +"# This is the named style used with executemany():\n" +"data = (\n" +" {\"name\": \"C\", \"year\": 1972},\n" +" {\"name\": \"Fortran\", \"year\": 1957},\n" +" {\"name\": \"Python\", \"year\": 1991},\n" +" {\"name\": \"Go\", \"year\": 2009},\n" +")\n" +"cur.executemany(\"INSERT INTO lang VALUES(:name, :year)\", data)\n" +"\n" +"# This is the qmark style used in a SELECT query:\n" +"params = (1972,)\n" +"cur.execute(\"SELECT * FROM lang WHERE first_appeared = ?\", params)\n" +"print(cur.fetchall())\n" +"con.close()" msgid "" ":pep:`249` numeric placeholders are *not* supported. If used, they will be " "interpreted as named placeholders." msgstr "" +":pep:`249` числовые заполнители *не* поддерживаются. Если они используются, " +"они будут интерпретироваться как именованные заполнители." msgid "How to adapt custom Python types to SQLite values" -msgstr "" +msgstr "Как адаптировать пользовательские типы Python к значениям SQLite" msgid "" "SQLite supports only a limited set of data types natively. To store custom " "Python types in SQLite databases, *adapt* them to one of the :ref:`Python " "types SQLite natively understands `." msgstr "" +"SQLite изначально поддерживает только ограниченный набор типов данных. Чтобы " +"хранить пользовательские типы Python в базах данных SQLite, *адаптируйте* их " +"к одному из :ref:`типов Python, SQLite изначально понимает `." msgid "" "There are two ways to adapt Python objects to SQLite types: letting your " @@ -2107,9 +3014,16 @@ msgid "" "developer, it may make more sense to take direct control by registering " "custom adapter functions." msgstr "" +"Есть два способа адаптировать объекты Python к типам SQLite: позволить " +"вашему объекту адаптироваться самостоятельно или использовать *вызываемый " +"адаптер*. Последнее будет иметь приоритет над первым. Для библиотеки, " +"которая экспортирует пользовательский тип, возможно, имеет смысл разрешить " +"этому типу адаптироваться. Разработчику приложений, возможно, имеет смысл " +"взять на себя прямой контроль путем регистрации пользовательских функций " +"адаптера." msgid "How to write adaptable objects" -msgstr "" +msgstr "Как писать адаптируемые объекты" msgid "" "Suppose we have a :class:`!Point` class that represents a pair of " @@ -2119,6 +3033,12 @@ msgid "" "``__conform__(self, protocol)`` method which returns the adapted value. The " "object passed to *protocol* will be of type :class:`PrepareProtocol`." msgstr "" +"Предположим, у нас есть класс :class:`!Point`, который представляет пару " +"координат ``x`` и ``y`` в декартовой системе координат. Пара координат будет " +"храниться в базе данных в виде текстовой строки с использованием точки с " +"запятой для разделения координат. Это можно реализовать, добавив метод " +"``__conform__(self, протокол)``, который возвращает адаптированное значение. " +"Объект, передаваемый в *protocol*, будет иметь тип :class:`PrepareProtocol`." msgid "" "class Point:\n" @@ -2136,15 +3056,32 @@ msgid "" "print(cur.fetchone()[0])\n" "con.close()" msgstr "" +"class Point:\n" +" def __init__(self, x, y):\n" +" self.x, self.y = x, y\n" +"\n" +" def __conform__(self, protocol):\n" +" if protocol is sqlite3.PrepareProtocol:\n" +" return f\"{self.x};{self.y}\"\n" +"\n" +"con = sqlite3.connect(\":memory:\")\n" +"cur = con.cursor()\n" +"\n" +"cur.execute(\"SELECT ?\", (Point(4.0, -3.2),))\n" +"print(cur.fetchone()[0])\n" +"con.close()" msgid "How to register adapter callables" -msgstr "" +msgstr "Как зарегистрировать вызываемые объекты адаптера" msgid "" "The other possibility is to create a function that converts the Python " "object to an SQLite-compatible type. This function can then be registered " "using :func:`register_adapter`." msgstr "" +"Другая возможность — создать функцию, которая преобразует объект Python в " +"тип, совместимый с SQLite. Эту функцию затем можно зарегистрировать с " +"помощью :func:`register_adapter`." msgid "" "class Point:\n" @@ -2163,56 +3100,91 @@ msgid "" "print(cur.fetchone()[0])\n" "con.close()" msgstr "" +"class Point:\n" +" def __init__(self, x, y):\n" +" self.x, self.y = x, y\n" +"\n" +"def adapt_point(point):\n" +" return f\"{point.x};{point.y}\"\n" +"\n" +"sqlite3.register_adapter(Point, adapt_point)\n" +"\n" +"con = sqlite3.connect(\":memory:\")\n" +"cur = con.cursor()\n" +"\n" +"cur.execute(\"SELECT ?\", (Point(1.0, 2.5),))\n" +"print(cur.fetchone()[0])\n" +"con.close()" msgid "How to convert SQLite values to custom Python types" -msgstr "" +msgstr "Как преобразовать значения SQLite в пользовательские типы Python" msgid "" "Writing an adapter lets you convert *from* custom Python types *to* SQLite " "values. To be able to convert *from* SQLite values *to* custom Python types, " "we use *converters*." msgstr "" +"Написание адаптера позволяет конвертировать *из* пользовательских типов " +"Python *в* значения SQLite. Чтобы иметь возможность конвертировать *из* " +"значений SQLite *в* пользовательские типы Python, мы используем *конвертеры*." msgid "" "Let's go back to the :class:`!Point` class. We stored the x and y " "coordinates separated via semicolons as strings in SQLite." msgstr "" +"Давайте вернемся к классу :class:`!Point`. Мы сохранили координаты x и y, " +"разделенные точкой с запятой, в виде строк в SQLite." msgid "" "First, we'll define a converter function that accepts the string as a " "parameter and constructs a :class:`!Point` object from it." msgstr "" +"Сначала мы определим функцию-конвертер, которая принимает строку в качестве " +"параметра и создает из нее объект :class:`!Point`." msgid "" "Converter functions are **always** passed a :class:`bytes` object, no matter " "the underlying SQLite data type." msgstr "" +"Функциям преобразователя **всегда** передается объект :class:`bytes`, " +"независимо от базового типа данных SQLite." msgid "" "def convert_point(s):\n" " x, y = map(float, s.split(b\";\"))\n" " return Point(x, y)" msgstr "" +"def convert_point(s):\n" +" x, y = map(float, s.split(b\";\"))\n" +" return Point(x, y)" msgid "" "We now need to tell :mod:`!sqlite3` when it should convert a given SQLite " "value. This is done when connecting to a database, using the *detect_types* " "parameter of :func:`connect`. There are three options:" msgstr "" +"Теперь нам нужно сообщить :mod:`!sqlite3`, когда ему следует преобразовать " +"данное значение SQLite. Это делается при подключении к базе данных с " +"использованием параметра *detect_types* функции :func:`connect`. Есть три " +"варианта:" msgid "Implicit: set *detect_types* to :const:`PARSE_DECLTYPES`" msgstr "" +"Неявно: установите для *detect_types* значение :const:`PARSE_DECLTYPES`" msgid "Explicit: set *detect_types* to :const:`PARSE_COLNAMES`" -msgstr "" +msgstr "Явно: установите для *detect_types* значение :const:`PARSE_COLNAMES`" msgid "" "Both: set *detect_types* to ``sqlite3.PARSE_DECLTYPES | sqlite3." "PARSE_COLNAMES``. Column names take precedence over declared types." msgstr "" +"Оба: установите для *detect_types* значение ``sqlite3.PARSE_DECLTYPES | " +"sqlite3.PARSE_COLNAMES``. Имена столбцов имеют приоритет над объявленными " +"типами." msgid "The following example illustrates the implicit and explicit approaches:" -msgstr "" +msgstr "Следующий пример иллюстрирует неявный и явный подходы:" msgid "" "class Point:\n" @@ -2254,12 +3226,52 @@ msgid "" "cur.close()\n" "con.close()" msgstr "" +"class Point:\n" +" def __init__(self, x, y):\n" +" self.x, self.y = x, y\n" +"\n" +" def __repr__(self):\n" +" return f\"Point({self.x}, {self.y})\"\n" +"\n" +"def adapt_point(point):\n" +" return f\"{point.x};{point.y}\"\n" +"\n" +"def convert_point(s):\n" +" x, y = list(map(float, s.split(b\";\")))\n" +" return Point(x, y)\n" +"\n" +"# Register the adapter and converter\n" +"sqlite3.register_adapter(Point, adapt_point)\n" +"sqlite3.register_converter(\"point\", convert_point)\n" +"\n" +"# 1) Parse using declared types\n" +"p = Point(4.0, -3.2)\n" +"con = sqlite3.connect(\":memory:\", detect_types=sqlite3.PARSE_DECLTYPES)\n" +"cur = con.execute(\"CREATE TABLE test(p point)\")\n" +"\n" +"cur.execute(\"INSERT INTO test(p) VALUES(?)\", (p,))\n" +"cur.execute(\"SELECT p FROM test\")\n" +"print(\"with declared types:\", cur.fetchone()[0])\n" +"cur.close()\n" +"con.close()\n" +"\n" +"# 2) Parse using column names\n" +"con = sqlite3.connect(\":memory:\", detect_types=sqlite3.PARSE_COLNAMES)\n" +"cur = con.execute(\"CREATE TABLE test(p)\")\n" +"\n" +"cur.execute(\"INSERT INTO test(p) VALUES(?)\", (p,))\n" +"cur.execute('SELECT p AS \"p [point]\" FROM test')\n" +"print(\"with column names:\", cur.fetchone()[0])\n" +"cur.close()\n" +"con.close()" msgid "Adapter and converter recipes" -msgstr "" +msgstr "Рецепты адаптеров и преобразователей" msgid "This section shows recipes for common adapters and converters." msgstr "" +"В этом разделе показаны рецепты для распространенных адаптеров и " +"преобразователей." msgid "" "import datetime\n" @@ -2271,7 +3283,7 @@ 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" @@ -2299,7 +3311,7 @@ msgid "" msgstr "" msgid "How to use connection shortcut methods" -msgstr "" +msgstr "Как использовать методы быстрого подключения" msgid "" "Using the :meth:`~Connection.execute`, :meth:`~Connection.executemany`, and :" @@ -2311,6 +3323,13 @@ msgid "" "iterate over it directly using only a single call on the :class:`Connection` " "object." msgstr "" +"Используя методы :meth:`~Connection.execute`, :meth:`~Connection." +"executemany` и :meth:`~Connection.executescript` класса :class:`Connection`, " +"ваш код можно написать более кратко. потому что вам не нужно явно создавать " +"(часто лишние) объекты :class:`Cursor`. Вместо этого объекты :class:`Cursor` " +"создаются неявно, и эти методы быстрого доступа возвращают объекты курсора. " +"Таким образом, вы можете выполнить оператор ``SELECT`` и перебирать его " +"напрямую, используя только один вызов объекта :class:`Connection`." msgid "" "# Create and fill the table.\n" @@ -2334,9 +3353,29 @@ msgid "" "# the connection object should be closed manually\n" "con.close()" msgstr "" +"# Create and fill the table.\n" +"con = sqlite3.connect(\":memory:\")\n" +"con.execute(\"CREATE TABLE lang(name, first_appeared)\")\n" +"data = [\n" +" (\"C++\", 1985),\n" +" (\"Objective-C\", 1984),\n" +"]\n" +"con.executemany(\"INSERT INTO lang(name, first_appeared) VALUES(?, ?)\", " +"data)\n" +"\n" +"# Print the table contents\n" +"for row in con.execute(\"SELECT name, first_appeared FROM lang\"):\n" +" print(row)\n" +"\n" +"print(\"I just deleted\", con.execute(\"DELETE FROM lang\").rowcount, " +"\"rows\")\n" +"\n" +"# close() is not a shortcut method and it's not called automatically;\n" +"# the connection object should be closed manually\n" +"con.close()" msgid "How to use the connection context manager" -msgstr "" +msgstr "Как использовать менеджер контекста соединения" msgid "" "A :class:`Connection` object can be used as a context manager that " @@ -2348,18 +3387,32 @@ msgid "" "is ``False``, a new transaction is implicitly opened after committing or " "rolling back." msgstr "" +"Объект :class:`Connection` можно использовать в качестве контекстного " +"менеджера, который автоматически фиксирует или откатывает открытые " +"транзакции при выходе из тела контекстного менеджера. Если тело оператора :" +"keyword:`with` завершается без исключений, транзакция фиксируется. Если эта " +"фиксация не удалась или если тело оператора ``with`` вызывает " +"неперехваченное исключение, транзакция откатывается. Если :attr:`~Connection." +"autocommit` имеет значение ``False``, новая транзакция неявно открывается " +"после фиксации или отката." msgid "" "If there is no open transaction upon leaving the body of the ``with`` " "statement, or if :attr:`~Connection.autocommit` is ``True``, the context " "manager does nothing." msgstr "" +"Если после выхода из тела оператора ``with`` нет открытой транзакции или " +"если :attr:`~Connection.autocommit` имеет значение ``True``, контекстный " +"менеджер ничего не делает." msgid "" "The context manager neither implicitly opens a new transaction nor closes " "the connection. If you need a closing context manager, consider using :meth:" "`contextlib.closing`." msgstr "" +"Менеджер контекста не открывает новую транзакцию неявно и не закрывает " +"соединение. Если вам нужен менеджер закрывающего контекста, рассмотрите " +"возможность использования :meth:`contextlib.closing`." msgid "" "con = sqlite3.connect(\":memory:\")\n" @@ -2383,15 +3436,35 @@ msgid "" "# so the connection object should be closed manually\n" "con.close()" msgstr "" +"con = sqlite3.connect(\":memory:\")\n" +"con.execute(\"CREATE TABLE lang(id INTEGER PRIMARY KEY, name VARCHAR " +"UNIQUE)\")\n" +"\n" +"# Successful, con.commit() is called automatically afterwards\n" +"with con:\n" +" con.execute(\"INSERT INTO lang(name) VALUES(?)\", (\"Python\",))\n" +"\n" +"# con.rollback() is called after the with block finishes with an exception,\n" +"# the exception is still raised and must be caught\n" +"try:\n" +" with con:\n" +" con.execute(\"INSERT INTO lang(name) VALUES(?)\", (\"Python\",))\n" +"except sqlite3.IntegrityError:\n" +" print(\"couldn't add Python twice\")\n" +"\n" +"# Connection object used as context manager only commits or rollbacks " +"transactions,\n" +"# so the connection object should be closed manually\n" +"con.close()" msgid "How to work with SQLite URIs" -msgstr "" +msgstr "Как работать с URI SQLite" msgid "Some useful URI tricks include:" -msgstr "" +msgstr "Некоторые полезные приемы URI включают в себя:" msgid "Open a database in read-only mode:" -msgstr "" +msgstr "Откройте базу данных в режиме только для чтения:" msgid "" ">>> con = sqlite3.connect(\"file:tutorial.db?mode=ro\", uri=True)\n" @@ -2400,20 +3473,30 @@ msgid "" "OperationalError: attempt to write a readonly database\n" ">>> con.close()" msgstr "" +">>> con = sqlite3.connect(\"file:tutorial.db?mode=ro\", uri=True)\n" +">>> con.execute(\"CREATE TABLE readonly(data)\")\n" +"Traceback (most recent call last):\n" +"OperationalError: attempt to write a readonly database\n" +">>> con.close()" msgid "" "Do not implicitly create a new database file if it does not already exist; " "will raise :exc:`~sqlite3.OperationalError` if unable to create a new file:" msgstr "" +"Не создавайте неявно новый файл базы данных, если он еще не существует; " +"вызовет :exc:`~sqlite3.OperationalError`, если не удастся создать новый файл:" msgid "" ">>> con = sqlite3.connect(\"file:nosuchdb.db?mode=rw\", uri=True)\n" "Traceback (most recent call last):\n" "OperationalError: unable to open database file" msgstr "" +">>> con = sqlite3.connect(\"file:nosuchdb.db?mode=rw\", uri=True)\n" +"Traceback (most recent call last):\n" +"OperationalError: unable to open database file" msgid "Create a shared named in-memory database:" -msgstr "" +msgstr "Создайте общую именованную базу данных в памяти:" msgid "" "db = \"file:mem1?mode=memory&cache=shared\"\n" @@ -2428,20 +3511,37 @@ msgid "" "con1.close()\n" "con2.close()" msgstr "" +"db = \"file:mem1?mode=memory&cache=shared\"\n" +"con1 = sqlite3.connect(db, uri=True)\n" +"con2 = sqlite3.connect(db, uri=True)\n" +"with con1:\n" +" con1.execute(\"CREATE TABLE shared(data)\")\n" +" con1.execute(\"INSERT INTO shared VALUES(28)\")\n" +"res = con2.execute(\"SELECT data FROM shared\")\n" +"assert res.fetchone() == (28,)\n" +"\n" +"con1.close()\n" +"con2.close()" msgid "" "More information about this feature, including a list of parameters, can be " "found in the `SQLite URI documentation`_." msgstr "" +"Дополнительную информацию об этой функции, включая список параметров, можно " +"найти в `документации по URI SQLite`_." msgid "How to create and use row factories" -msgstr "" +msgstr "Как создавать и использовать фабрики строк" msgid "" "By default, :mod:`!sqlite3` represents each row as a :class:`tuple`. If a :" "class:`!tuple` does not suit your needs, you can use the :class:`sqlite3." "Row` class or a custom :attr:`~Cursor.row_factory`." msgstr "" +"По умолчанию :mod:`!sqlite3` представляет каждую строку как :class:`tuple`. " +"Если :class:`!tuple` не соответствует вашим потребностям, вы можете " +"использовать класс :class:`sqlite3.Row` или собственный :attr:`~Cursor." +"row_factory`." msgid "" "While :attr:`!row_factory` exists as an attribute both on the :class:" @@ -2449,6 +3549,10 @@ msgid "" "`Connection.row_factory`, so all cursors created from the connection will " "use the same row factory." msgstr "" +"Хотя :attr:`!row_factory` существует как атрибут как в :class:`Cursor`, так " +"и в :class:`Connection`, рекомендуется установить :class:`Connection." +"row_factory`, чтобы все курсоры, созданные из соединение будет использовать " +"ту же фабрику строк." msgid "" ":class:`!Row` provides indexed and case-insensitive named access to columns, " @@ -2456,6 +3560,10 @@ msgid "" "To use :class:`!Row` as a row factory, assign it to the :attr:`!row_factory` " "attribute:" msgstr "" +":class:`!Row` обеспечивает индексированный и нечувствительный к регистру " +"именованный доступ к столбцам с минимальными затратами памяти и влиянием на " +"производительность по сравнению с :class:`!tuple`. Чтобы использовать :class:" +"`!Row` в качестве фабрики строк, назначьте его атрибуту :attr:`!row_factory`:" msgid "" ">>> con = sqlite3.connect(\":memory:\")\n" @@ -2465,7 +3573,7 @@ msgstr "" ">>> con.row_factory = sqlite3.Row" msgid "Queries now return :class:`!Row` objects:" -msgstr "" +msgstr "Запросы теперь возвращают объекты :class:`!Row`:" msgid "" ">>> res = con.execute(\"SELECT 'Earth' AS name, 6378 AS radius\")\n" @@ -2480,6 +3588,17 @@ msgid "" "6378\n" ">>> con.close()" msgstr "" +">>> res = con.execute(\"SELECT 'Earth' AS name, 6378 AS radius\")\n" +">>> row = res.fetchone()\n" +">>> row.keys()\n" +"['name', 'radius']\n" +">>> row[0] # Access by index.\n" +"'Earth'\n" +">>> row[\"name\"] # Access by name.\n" +"'Earth'\n" +">>> row[\"RADIUS\"] # Column names are case-insensitive.\n" +"6378\n" +">>> con.close()" msgid "" "The ``FROM`` clause can be omitted in the ``SELECT`` statement, as in the " @@ -2487,21 +3606,33 @@ msgid "" "defined by expressions, e.g. literals, with the given aliases ``expr AS " "alias``." msgstr "" +"Предложение FROM может быть опущено в операторе SELECT, как в приведенном " +"выше примере. В таких случаях SQLite возвращает одну строку со столбцами, " +"определенными выражениями, например литералами, с заданными псевдонимами " +"``expr AS alias``." msgid "" "You can create a custom :attr:`~Cursor.row_factory` that returns each row as " "a :class:`dict`, with column names mapped to values:" msgstr "" +"Вы можете создать собственный :attr:`~Cursor.row_factory`, который " +"возвращает каждую строку как :class:`dict`, с именами столбцов, " +"сопоставленными со значениями:" msgid "" "def dict_factory(cursor, row):\n" " fields = [column[0] for column in cursor.description]\n" " return {key: value for key, value in zip(fields, row)}" msgstr "" +"def dict_factory(cursor, row):\n" +" fields = [column[0] for column in cursor.description]\n" +" return {key: value for key, value in zip(fields, row)}" msgid "" "Using it, queries now return a :class:`!dict` instead of a :class:`!tuple`:" msgstr "" +"Используя его, запросы теперь возвращают :class:`!dict` вместо :class:`!" +"tuple`:" msgid "" ">>> con = sqlite3.connect(\":memory:\")\n" @@ -2511,9 +3642,15 @@ msgid "" "{'a': 1, 'b': 2}\n" ">>> con.close()" msgstr "" +">>> con = sqlite3.connect(\":memory:\")\n" +">>> con.row_factory = dict_factory\n" +">>> for row in con.execute(\"SELECT 1 AS a, 2 AS b\"):\n" +"... print(row)\n" +"{'a': 1, 'b': 2}\n" +">>> con.close()" msgid "The following row factory returns a :term:`named tuple`:" -msgstr "" +msgstr "Следующая фабрика строк возвращает именованный кортеж:" msgid "" "from collections import namedtuple\n" @@ -2523,9 +3660,15 @@ msgid "" " cls = namedtuple(\"Row\", fields)\n" " return cls._make(row)" msgstr "" +"from collections import namedtuple\n" +"\n" +"def namedtuple_factory(cursor, row):\n" +" fields = [column[0] for column in cursor.description]\n" +" cls = namedtuple(\"Row\", fields)\n" +" return cls._make(row)" msgid ":func:`!namedtuple_factory` can be used as follows:" -msgstr "" +msgstr ":func:`!namedtuple_factory` можно использовать следующим образом:" msgid "" ">>> con = sqlite3.connect(\":memory:\")\n" @@ -2540,15 +3683,29 @@ msgid "" "2\n" ">>> con.close()" msgstr "" +">>> con = sqlite3.connect(\":memory:\")\n" +">>> con.row_factory = namedtuple_factory\n" +">>> cur = con.execute(\"SELECT 1 AS a, 2 AS b\")\n" +">>> row = cur.fetchone()\n" +">>> row\n" +"Row(a=1, b=2)\n" +">>> row[0] # Indexed access.\n" +"1\n" +">>> row.b # Attribute access.\n" +"2\n" +">>> con.close()" msgid "" "With some adjustments, the above recipe can be adapted to use a :class:" "`~dataclasses.dataclass`, or any other custom class, instead of a :class:" "`~collections.namedtuple`." msgstr "" +"С некоторыми изменениями приведенный выше рецепт можно адаптировать для " +"использования :class:`~dataclasses.dataclass` или любого другого " +"пользовательского класса вместо :class:`~collections.namedtuple`." msgid "How to handle non-UTF-8 text encodings" -msgstr "" +msgstr "Как обрабатывать текстовые кодировки, отличные от UTF-8" msgid "" "By default, :mod:`!sqlite3` uses :class:`str` to adapt SQLite values with " @@ -2556,6 +3713,11 @@ msgid "" "fail for other encodings and invalid UTF-8. You can use a custom :attr:" "`~Connection.text_factory` to handle such cases." msgstr "" +"По умолчанию :mod:`!sqlite3` использует :class:`str` для адаптации значений " +"SQLite к типу данных ``TEXT``. Это хорошо работает для текста в кодировке " +"UTF-8, но может не работать для других кодировок и недопустимого UTF-8. Для " +"обработки таких случаев вы можете использовать собственный :attr:" +"`~Connection.text_factory`." msgid "" "Because of SQLite's `flexible typing`_, it is not uncommon to encounter " @@ -2566,22 +3728,34 @@ msgid "" "data:`!con` connected to this database, we can decode the Latin-2 encoded " "text using this :attr:`~Connection.text_factory`:" msgstr "" +"Благодаря «гибкой типизации» SQLite нередко можно встретить столбцы таблицы " +"с типом данных «ТЕКСТ», содержащими кодировки, отличные от UTF-8, или даже " +"произвольные данные. Для демонстрации предположим, что у нас есть база " +"данных с текстом в кодировке ISO-8859-2 (Latin-2), например таблица статей " +"чешско-английского словаря. Предполагая, что теперь у нас есть экземпляр :" +"class:`Connection` :py:data:`!con`, подключенный к этой базе данных, мы " +"можем декодировать текст в кодировке Latin-2, используя этот :attr:" +"`~Connection.text_factory`:" msgid "con.text_factory = lambda data: str(data, encoding=\"latin2\")" -msgstr "" +msgstr "con.text_factory = lambda data: str(data, encoding=\"latin2\")" msgid "" "For invalid UTF-8 or arbitrary data in stored in ``TEXT`` table columns, you " "can use the following technique, borrowed from the :ref:`unicode-howto`:" msgstr "" +"Для недопустимых UTF-8 или произвольных данных, хранящихся в столбцах " +"таблицы ``TEXT``, вы можете использовать следующий метод, заимствованный из :" +"ref:`unicode-howto`:" msgid "con.text_factory = lambda data: str(data, errors=\"surrogateescape\")" -msgstr "" +msgstr "con.text_factory = lambda data: str(data, errors=\"surrogateescape\")" msgid "" "The :mod:`!sqlite3` module API does not support strings containing " "surrogates." msgstr "" +"API модуля :mod:`!sqlite3` не поддерживает строки, содержащие суррогаты." msgid ":ref:`unicode-howto`" msgstr ":ref:`unicode-howto`" @@ -2590,7 +3764,7 @@ msgid "Explanation" msgstr "Wytłumaczenie" msgid "Transaction control" -msgstr "" +msgstr "Контроль транзакций" msgid "" ":mod:`!sqlite3` offers multiple methods of controlling whether, when and how " @@ -2598,20 +3772,30 @@ msgid "" "control-autocommit` is recommended, while :ref:`sqlite3-transaction-control-" "isolation-level` retains the pre-Python 3.12 behaviour." msgstr "" +":mod:`!sqlite3` предлагает несколько методов контроля того, когда и как " +"открываются и закрываются транзакции базы данных. Рекомендуется " +"использовать :ref:`sqlite3-transaction-control-autocommit`, в то время как :" +"ref:`sqlite3-transaction-control-isolation-level` сохраняет поведение до " +"Python 3.12." msgid "Transaction control via the ``autocommit`` attribute" -msgstr "" +msgstr "Управление транзакциями через атрибут autocommit." msgid "" "The recommended way of controlling transaction behaviour is through the :" "attr:`Connection.autocommit` attribute, which should preferably be set using " "the *autocommit* parameter of :func:`connect`." msgstr "" +"Рекомендуемый способ управления поведением транзакции — через атрибут :attr:" +"`Connection.autocommit`, который желательно устанавливать с помощью " +"параметра *autocommit* функции :func:`connect`." msgid "" "It is suggested to set *autocommit* to ``False``, which implies :pep:`249`-" "compliant transaction control. This means:" msgstr "" +"Предлагается установить для *autocommit* значение «False», что подразумевает " +"контроль транзакций, совместимый с :pep:`249`. Это означает:" msgid "" ":mod:`!sqlite3` ensures that a transaction is always open, so :func:" @@ -2620,17 +3804,24 @@ msgid "" "one, for the latter two). :mod:`!sqlite3` uses ``BEGIN DEFERRED`` statements " "when opening transactions." msgstr "" +":mod:`!sqlite3` гарантирует, что транзакция всегда открыта, поэтому :func:" +"`connect`, :meth:`Connection.commit` и :meth:`Connection.rollback` неявно " +"откроют новую транзакцию (сразу после закрытие отложенного, для последних " +"двух). :mod:`!sqlite3` использует операторы ``BEGIN DEFERRED`` при открытии " +"транзакций." msgid "Transactions should be committed explicitly using :meth:`!commit`." -msgstr "" +msgstr "Транзакции должны фиксироваться явно с использованием :meth:`!commit`." msgid "Transactions should be rolled back explicitly using :meth:`!rollback`." -msgstr "" +msgstr "Транзакции следует откатывать явно с помощью :meth:`!rollback`." msgid "" "An implicit rollback is performed if the database is :meth:`~Connection." "close`-ed with pending changes." msgstr "" +"Неявный откат выполняется, если база данных :meth:`~Connection.close` с " +"ожидающими изменениями." msgid "" "Set *autocommit* to ``True`` to enable SQLite's `autocommit mode`_. In this " @@ -2639,21 +3830,33 @@ msgid "" "compliant :attr:`Connection.autocommit` attribute; use :attr:`Connection." "in_transaction` to query the low-level SQLite autocommit mode." msgstr "" +"Установите для *autocommit* значение ``True``, чтобы включить ``режим " +"автофиксации`_ SQLite. В этом режиме :meth:`Connection.commit` и :meth:" +"`Connection.rollback` не действуют. Обратите внимание, что режим " +"автоматической фиксации SQLite отличается от :pep:`249`-совместимого " +"атрибута :attr:`Connection.autocommit`; используйте :attr:`Connection." +"in_transaction` для запроса режима автофиксации низкоуровневого SQLite." msgid "" "Set *autocommit* to :data:`LEGACY_TRANSACTION_CONTROL` to leave transaction " "control behaviour to the :attr:`Connection.isolation_level` attribute. See :" "ref:`sqlite3-transaction-control-isolation-level` for more information." msgstr "" +"Установите для *autocommit* значение :data:`LEGACY_TRANSACTION_CONTROL`, " +"чтобы оставить управление транзакциями атрибуту :attr:`Connection." +"isolation_level`. Дополнительную информацию см. в разделе sqlite3-" +"transaction-control-isolation-level." msgid "Transaction control via the ``isolation_level`` attribute" -msgstr "" +msgstr "Контроль транзакций через атрибутisolation_level." msgid "" "The recommended way of controlling transactions is via the :attr:" "`~Connection.autocommit` attribute. See :ref:`sqlite3-transaction-control-" "autocommit`." msgstr "" +"Рекомендуемый способ управления транзакциями — через атрибут :attr:" +"`~Connection.autocommit`. См. :ref:`sqlite3-transaction-control-autocommit`." msgid "" "If :attr:`Connection.autocommit` is set to :data:" @@ -2661,6 +3864,10 @@ msgid "" "controlled using the :attr:`Connection.isolation_level` attribute. " "Otherwise, :attr:`!isolation_level` has no effect." msgstr "" +"Если для :attr:`Connection.autocommit` установлено значение :data:" +"`LEGACY_TRANSACTION_CONTROL` (по умолчанию), поведение транзакции " +"контролируется с помощью атрибута :attr:`Connection.isolation_level`. В " +"противном случае :attr:`!isolation_level` не имеет никакого эффекта." msgid "" "If the connection attribute :attr:`~Connection.isolation_level` is not " @@ -2674,6 +3881,15 @@ msgid "" "sqlite3` implicitly executes – via the :attr:`~Connection.isolation_level` " "attribute." msgstr "" +"Если атрибут соединения :attr:`~Connection.isolation_level` не равен " +"``None``, новые транзакции неявно открываются до того, как :meth:`~Cursor." +"execute` и :meth:`~Cursor.executemany` выполнит ``INSERT операторы ``, " +"``UPDATE``, ``DELETE`` или ``REPLACE``; для других операторов неявная " +"обработка транзакций не выполняется. Используйте методы :meth:`~Connection." +"commit` и :meth:`~Connection.rollback` для фиксации и отката ожидающих " +"транзакций соответственно. Вы можете выбрать базовое ``поведение транзакции " +"SQLite`_, то есть, будет ли и какой тип операторов ``BEGIN`` :mod:`!sqlite3` " +"выполняться неявно, через атрибут :attr:`~Connection.isolation_level`." msgid "" "If :attr:`~Connection.isolation_level` is set to ``None``, no transactions " @@ -2683,28 +3899,41 @@ msgid "" "library autocommit mode can be queried using the :attr:`~Connection." "in_transaction` attribute." msgstr "" +"Если :attr:`~Connection.isolation_level` установлен в ``None``, никакие " +"транзакции неявно не открываются вообще. Это оставляет базовую библиотеку " +"SQLite в `режиме автоматической фиксации`_, но также позволяет пользователю " +"выполнять собственную обработку транзакций с использованием явных операторов " +"SQL. Базовый режим автофиксации библиотеки SQLite можно запросить с помощью " +"атрибута :attr:`~Connection.in_transaction`." msgid "" "The :meth:`~Cursor.executescript` method implicitly commits any pending " "transaction before execution of the given SQL script, regardless of the " "value of :attr:`~Connection.isolation_level`." msgstr "" +"Метод :meth:`~Cursor.executescript` неявно фиксирует любую ожидающую " +"транзакцию перед выполнением данного SQL-скрипта, независимо от значения :" +"attr:`~Connection.isolation_level`." msgid "" ":mod:`!sqlite3` used to implicitly commit an open transaction before DDL " "statements. This is no longer the case." msgstr "" +":mod:`!sqlite3` используется для неявной фиксации открытой транзакции перед " +"операторами DDL. Это уже не так." msgid "" "The recommended way of controlling transactions is now via the :attr:" "`~Connection.autocommit` attribute." msgstr "" +"Рекомендуемый способ управления транзакциями теперь — через атрибут :attr:" +"`~Connection.autocommit`." msgid "? (question mark)" -msgstr "" +msgstr "? (знак питання)" msgid "in SQL statements" -msgstr "" +msgstr "в операторах SQL" msgid ": (colon)" msgstr ": (dwukropek)" diff --git a/library/ssl.po b/library/ssl.po index e613c644d2..64b0c29124 100644 --- a/library/ssl.po +++ b/library/ssl.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Igor Zubrycki , 2021 -# Maciej Olko , 2021 -# Michał Biliński , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-02-21 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -61,6 +58,8 @@ msgid "" "This module does not work or is not available on WebAssembly. See :ref:`wasm-" "availability` for more information." msgstr "" +"Этот модуль не работает или недоступен в WebAssembly. См. :ref:`wasm-" +"availability` для получения дополнительной информации." msgid "" "This section documents the objects and functions in the ``ssl`` module; for " @@ -374,7 +373,7 @@ msgid "" msgstr "" msgid "Writable :term:`bytes-like object` is now accepted." -msgstr "" +msgstr "Записуваний :term:`bytes-like object` тепер приймається." msgid "Certificate handling" msgstr "" @@ -2839,7 +2838,7 @@ msgid "Session object used by :attr:`~SSLSocket.session`." msgstr "" msgid "Security considerations" -msgstr "" +msgstr "Міркування безпеки" msgid "Best defaults" msgstr "" diff --git a/library/stat.po b/library/stat.po index 85012fc8f4..839dcb27c2 100644 --- a/library/stat.po +++ b/library/stat.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/library/statistics.po b/library/statistics.po index 195799f1ea..9ebbf5d8d0 100644 --- a/library/statistics.po +++ b/library/statistics.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Igor Zubrycki , 2021 -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-02-21 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -26,15 +24,17 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!statistics` --- Mathematical statistics functions" -msgstr "" +msgstr ":mod:`!statistics` --- Функции математической статистики" 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 " "numeric (:class:`~numbers.Real`-valued) data." msgstr "" +"Цей модуль надає функції для обчислення математичної статистики числових (:" +"class:`~numbers.Real`-значних) даних." msgid "" "The module is not intended to be a competitor to third-party libraries such " @@ -43,6 +43,11 @@ msgid "" "statisticians such as Minitab, SAS and Matlab. It is aimed at the level of " "graphing and scientific calculators." msgstr "" +"Модуль не предназначен для конкуренции со сторонними библиотеками, такими " +"как `NumPy `_, `SciPy `_ или " +"проприетарными полнофункциональными статистические пакеты, предназначенные " +"для профессиональных статистиков, такие как Minitab, SAS и Matlab. Он " +"ориентирован на уровень графических и научных калькуляторов." msgid "" "Unless explicitly noted, these functions support :class:`int`, :class:" @@ -53,6 +58,13 @@ msgid "" "you may be able to use :func:`map` to ensure a consistent result, for " "example: ``map(float, input_data)``." msgstr "" +"Якщо не зазначено явно, ці функції підтримують :class:`int`, :class:" +"`float`, :class:`~decimal.Decimal` і :class:`~fractions.Fraction`. Поведінка " +"з іншими типами (у числовій вежі чи ні) наразі не підтримується. Колекції з " +"сумішшю типів також не визначені та залежать від реалізації. Якщо ваші " +"вхідні дані складаються зі змішаних типів, ви можете використовувати :func:" +"`map`, щоб забезпечити послідовний результат, наприклад: ``map(float, " +"input_data)``." msgid "" "Some datasets use ``NaN`` (not a number) values to represent missing data. " @@ -63,6 +75,13 @@ msgid "" "``quantiles()``. The ``NaN`` values should be stripped before calling these " "functions::" msgstr "" +"В некоторых наборах данных для представления недостающих данных используются " +"значения NaN (а не числа). Поскольку NaN имеют необычную семантику " +"сравнения, они вызывают неожиданное или неопределенное поведение " +"статистических функций, которые сортируют данные или подсчитывают вхождения. " +"Затронутые функции: ``median()``, ``median_low()``, ``median_high()``, " +"``median_grouped()``, ``mode()``, ``multimode()` ` и ``квантили()``. " +"Значения ``NaN`` должны быть удалены перед вызовом этих функций:" msgid "" ">>> from statistics import median\n" @@ -85,162 +104,194 @@ msgid "" ">>> median(clean) # This result is now well defined\n" "18.75" msgstr "" +">>> from statistics import median\n" +">>> from math import isnan\n" +">>> from itertools import filterfalse\n" +"\n" +">>> data = [20.7, float('NaN'),19.2, 18.3, float('NaN'), 14.4]\n" +">>> sorted(data) # This has surprising behavior\n" +"[20.7, nan, 14.4, 18.3, 19.2, nan]\n" +">>> median(data) # This result is unexpected\n" +"16.35\n" +"\n" +">>> sum(map(isnan, data)) # Number of missing values\n" +"2\n" +">>> clean = list(filterfalse(isnan, data)) # Strip NaN values\n" +">>> clean\n" +"[20.7, 19.2, 18.3, 14.4]\n" +">>> sorted(clean) # Sorting now works as expected\n" +"[14.4, 18.3, 19.2, 20.7]\n" +">>> median(clean) # This result is now well defined\n" +"18.75" msgid "Averages and measures of central location" -msgstr "" +msgstr "Середні значення та міри центрального розташування" msgid "" "These functions calculate an average or typical value from a population or " "sample." msgstr "" +"Ці функції обчислюють середнє або типове значення з генеральної сукупності " +"чи вибірки." msgid ":func:`mean`" msgstr ":func:`mean`" msgid "Arithmetic mean (\"average\") of data." -msgstr "" +msgstr "Середнє арифметичне (\"середнє\") даних." msgid ":func:`fmean`" msgstr ":func:`fmean`" msgid "Fast, floating-point arithmetic mean, with optional weighting." msgstr "" +"Быстрое среднее арифметическое с плавающей запятой и дополнительным " +"взвешиванием." msgid ":func:`geometric_mean`" msgstr ":func:`geometric_mean`" msgid "Geometric mean of data." -msgstr "" +msgstr "Середнє геометричне даних." msgid ":func:`harmonic_mean`" msgstr ":func:`harmonic_mean`" msgid "Harmonic mean of data." -msgstr "" +msgstr "Середнє гармонійне даних." msgid ":func:`kde`" msgstr ":func:`kde`" msgid "Estimate the probability density distribution of the data." -msgstr "" +msgstr "Оцените распределение плотности вероятности данных." msgid ":func:`kde_random`" msgstr ":func:`kde_random`" msgid "Random sampling from the PDF generated by kde()." -msgstr "" +msgstr "Случайная выборка из PDF-файла, созданного с помощью kde()." msgid ":func:`median`" msgstr ":func:`median`" msgid "Median (middle value) of data." -msgstr "" +msgstr "Медіана (середнє значення) даних." msgid ":func:`median_low`" msgstr ":func:`median_low`" msgid "Low median of data." -msgstr "" +msgstr "Низька медіана даних." msgid ":func:`median_high`" msgstr ":func:`median_high`" msgid "High median of data." -msgstr "" +msgstr "Висока медіана даних." msgid ":func:`median_grouped`" msgstr ":func:`median_grouped`" msgid "Median (50th percentile) of grouped data." -msgstr "" +msgstr "Медиана (50-й процентиль) сгруппированных данных." msgid ":func:`mode`" msgstr ":func:`mode`" msgid "Single mode (most common value) of discrete or nominal data." msgstr "" +"Одиночний режим (найпоширеніше значення) дискретних або номінальних даних." msgid ":func:`multimode`" msgstr ":func:`multimode`" msgid "List of modes (most common values) of discrete or nominal data." msgstr "" +"Список режимів (найпоширеніших значень) дискретних або номінальних даних." msgid ":func:`quantiles`" msgstr ":func:`quantiles`" msgid "Divide data into intervals with equal probability." -msgstr "" +msgstr "Розділіть дані на інтервали з рівною ймовірністю." msgid "Measures of spread" -msgstr "" +msgstr "Міри поширення" msgid "" "These functions calculate a measure of how much the population or sample " "tends to deviate from the typical or average values." msgstr "" +"Ці функції обчислюють міру того, наскільки генеральна сукупність або вибірка " +"має тенденцію відхилятися від типових чи середніх значень." msgid ":func:`pstdev`" msgstr ":func:`pstdev`" msgid "Population standard deviation of data." -msgstr "" +msgstr "Стандартне відхилення сукупності даних." msgid ":func:`pvariance`" msgstr ":func:`pvariance`" msgid "Population variance of data." -msgstr "" +msgstr "Популяційна дисперсія даних." msgid ":func:`stdev`" msgstr ":func:`stdev`" msgid "Sample standard deviation of data." -msgstr "" +msgstr "Стандартне відхилення вибірки даних." msgid ":func:`variance`" msgstr ":func:`variance`" msgid "Sample variance of data." -msgstr "" +msgstr "Вибіркова дисперсія даних." msgid "Statistics for relations between two inputs" -msgstr "" +msgstr "Статистика для відносин між двома вхідними даними" msgid "" "These functions calculate statistics regarding relations between two inputs." msgstr "" +"Ці функції обчислюють статистичні дані щодо зв’язків між двома входами." msgid ":func:`covariance`" msgstr ":func:`covariance`" msgid "Sample covariance for two variables." -msgstr "" +msgstr "Вибіркова коваріація для двох змінних." msgid ":func:`correlation`" msgstr ":func:`correlation`" msgid "Pearson and Spearman's correlation coefficients." -msgstr "" +msgstr "Коэффициенты корреляции Пирсона и Спирмена." msgid ":func:`linear_regression`" msgstr ":func:`linear_regression`" msgid "Slope and intercept for simple linear regression." -msgstr "" +msgstr "Нахил і відрізок для простої лінійної регресії." msgid "Function details" -msgstr "" +msgstr "Деталі функції" msgid "" "Note: The functions do not require the data given to them to be sorted. " "However, for reading convenience, most of the examples show sorted sequences." msgstr "" +"Примітка. Функції не вимагають сортування наданих їм даних. Однак для " +"зручності читання більшість прикладів показують відсортовані послідовності." msgid "" "Return the sample arithmetic mean of *data* which can be a sequence or " "iterable." msgstr "" +"Повертає зразкове середнє арифметичне *даних*, яке може бути послідовністю " +"або ітерованим." msgid "" "The arithmetic mean is the sum of the data divided by the number of data " @@ -248,12 +299,15 @@ msgid "" "many different mathematical averages. It is a measure of the central " "location of the data." msgstr "" +"Середнє арифметичне — це сума даних, поділена на кількість точок даних. Його " +"зазвичай називають \"середнім\", хоча це лише одне з багатьох різних " +"математичних середніх. Це міра центрального розташування даних." msgid "If *data* is empty, :exc:`StatisticsError` will be raised." -msgstr "" +msgstr "Якщо *data* порожній, буде викликано :exc:`StatisticsError`." msgid "Some examples of use:" -msgstr "" +msgstr "Деякі приклади використання:" msgid "" ">>> mean([1, 2, 3, 4, 4])\n" @@ -269,6 +323,18 @@ msgid "" ">>> mean([D(\"0.5\"), D(\"0.75\"), D(\"0.625\"), D(\"0.375\")])\n" "Decimal('0.5625')" msgstr "" +">>> mean([1, 2, 3, 4, 4])\n" +"2.8\n" +">>> mean([-1.0, 2.5, 3.25, 5.75])\n" +"2.625\n" +"\n" +">>> from fractions import Fraction as F\n" +">>> mean([F(3, 7), F(1, 21), F(5, 3), F(1, 3)])\n" +"Fraction(13, 21)\n" +"\n" +">>> from decimal import Decimal as D\n" +">>> mean([D(\"0.5\"), D(\"0.75\"), D(\"0.625\"), D(\"0.375\")])\n" +"Decimal('0.5625')" msgid "" "The mean is strongly affected by `outliers `_, see :func:`median`." msgstr "" +"На середнє значення сильно впливають `викиди `_ і не обов’язково є типовим прикладом точок даних. Для більш " +"надійного, хоча й менш ефективного вимірювання `центральної тенденції " +"`_, див. :func:`median`." msgid "" "The sample mean gives an unbiased estimate of the true population mean, so " @@ -284,15 +354,26 @@ msgid "" "the entire population rather than a sample, then ``mean(data)`` is " "equivalent to calculating the true population mean μ." msgstr "" +"Середнє значення вибірки дає неупереджену оцінку справжнього середнього " +"значення генеральної сукупності, так що, узявши середнє значення за всіма " +"можливими вибірками, \"середнє (вибірка)\" збігається зі справжнім середнім " +"значенням усієї генеральної сукупності. Якщо *data* представляє всю " +"генеральну сукупність, а не вибірку, тоді ``середнє (дані)`` еквівалентно " +"обчисленню справжнього середнього µ генеральної сукупності." msgid "Convert *data* to floats and compute the arithmetic mean." msgstr "" +"Перетворіть *дані* на числа з плаваючою точкою та обчисліть середнє " +"арифметичне." msgid "" "This runs faster than the :func:`mean` function and it always returns a :" "class:`float`. The *data* may be a sequence or iterable. If the input " "dataset is empty, raises a :exc:`StatisticsError`." msgstr "" +"Це працює швидше, ніж функція :func:`mean`, і завжди повертає :class:" +"`float`. *Дані* можуть бути послідовністю або ітерованими. Якщо вхідний " +"набір даних порожній, виникає :exc:`StatisticsError`." msgid "" ">>> fmean([3.5, 4.0, 5.25])\n" @@ -306,6 +387,9 @@ msgid "" "for a course by weighting quizzes at 20%, homework at 20%, a midterm exam at " "30%, and a final exam at 30%:" msgstr "" +"Поддерживается дополнительное взвешивание. Например, профессор выставляет " +"оценку за курс, взвешивая тесты в 20 %, домашние задания в 20 %, " +"промежуточный экзамен в 30 % и выпускной экзамен в 30 %:" msgid "" ">>> grades = [85, 92, 83, 91]\n" @@ -313,34 +397,50 @@ msgid "" ">>> fmean(grades, weights)\n" "87.6" msgstr "" +">>> grades = [85, 92, 83, 91]\n" +">>> weights = [0.20, 0.20, 0.30, 0.30]\n" +">>> fmean(grades, weights)\n" +"87.6" msgid "" "If *weights* is supplied, it must be the same length as the *data* or a :exc:" "`ValueError` will be raised." msgstr "" +"Если указан *weights*, он должен быть той же длины, что и *data*, иначе " +"будет выдано :exc:`ValueError`." msgid "Added support for *weights*." -msgstr "" +msgstr "Додано підтримку *ваги*." msgid "Convert *data* to floats and compute the geometric mean." msgstr "" +"Перетворіть *дані* на числа з плаваючою точкою та обчисліть середнє " +"геометричне." msgid "" "The geometric mean indicates the central tendency or typical value of the " "*data* using the product of the values (as opposed to the arithmetic mean " "which uses their sum)." msgstr "" +"Середнє геометричне вказує на центральну тенденцію або типове значення " +"*даних* за допомогою добутку значень (на відміну від середнього " +"арифметичного, яке використовує їх суму)." msgid "" "Raises a :exc:`StatisticsError` if the input dataset is empty, if it " "contains a zero, or if it contains a negative value. The *data* may be a " "sequence or iterable." msgstr "" +"Викликає :exc:`StatisticsError`, якщо вхідний набір даних порожній, містить " +"нуль або містить від’ємне значення. *Дані* можуть бути послідовністю або " +"ітерованими." msgid "" "No special efforts are made to achieve exact results. (However, this may " "change in the future.)" msgstr "" +"Особливих зусиль для досягнення точних результатів не докладається. (Однак " +"це може змінитися в майбутньому.)" msgid "" ">>> round(geometric_mean([54, 24, 36]), 1)\n" @@ -354,6 +454,9 @@ msgid "" "numbers. If *weights* is omitted or ``None``, then equal weighting is " "assumed." msgstr "" +"Возвращает среднее гармоническое значение *данных*, последовательности или " +"итерации действительных чисел. Если *weights* опущено или ``None``, то " +"предполагается равный вес." msgid "" "The harmonic mean is the reciprocal of the arithmetic :func:`mean` of the " @@ -361,17 +464,26 @@ msgid "" "*b* and *c* will be equivalent to ``3/(1/a + 1/b + 1/c)``. If one of the " "values is zero, the result will be zero." msgstr "" +"Середнє гармонічне є зворотним арифметичним :func:`mean` зворотних величин " +"даних. Наприклад, середнє гармонійне трьох значень *a*, *b* і *c* буде " +"еквівалентним ``3/(1/a + 1/b + 1/c)``. Якщо одне зі значень дорівнює нулю, " +"результат буде нульовим." msgid "" "The harmonic mean is a type of average, a measure of the central location of " "the data. It is often appropriate when averaging ratios or rates, for " "example speeds." msgstr "" +"Середнє гармонічне — це тип середнього значення, міра центрального " +"розташування даних. Це часто доцільно під час усереднення співвідношень або " +"швидкості, наприклад швидкості." msgid "" "Suppose a car travels 10 km at 40 km/hr, then another 10 km at 60 km/hr. " "What is the average speed?" msgstr "" +"Припустимо, автомобіль проїжджає 10 км зі швидкістю 40 км/год, потім ще 10 " +"км зі швидкістю 60 км/год. Яка середня швидкість?" msgid "" ">>> harmonic_mean([40, 60])\n" @@ -385,6 +497,9 @@ msgid "" "to 60 km/hr for the remaining 30 km of the journey. What is the average " "speed?" msgstr "" +"Припустімо, що автомобіль їде зі швидкістю 40 км/год протягом 5 км, а коли " +"рух припиниться, розвиває швидкість до 60 км/год протягом решти 30 км шляху. " +"Яка середня швидкість?" msgid "" ">>> harmonic_mean([40, 60], weights=[5, 30])\n" @@ -397,12 +512,17 @@ msgid "" ":exc:`StatisticsError` is raised if *data* is empty, any element is less " "than zero, or if the weighted sum isn't positive." msgstr "" +":exc:`StatisticsError` виникає, якщо *data* порожні, будь-який елемент менше " +"нуля або якщо зважена сума не додатна." msgid "" "The current algorithm has an early-out when it encounters a zero in the " "input. This means that the subsequent inputs are not tested for validity. " "(This behavior may change in the future.)" msgstr "" +"Поточний алгоритм має ранній вихід, коли він зустрічає нуль у вхідних даних. " +"Це означає, що наступні вхідні дані не перевіряються на дійсність. (Ця " +"поведінка може змінитися в майбутньому.)" msgid "" "`Kernel Density Estimation (KDE) `_: создание непрерывной " +"функции плотности вероятности или кумулятивной функции распределения на " +"основе дискретных выборок. ." msgid "" "The basic idea is to smooth the data using `a kernel function `_. to help draw inferences about a " "population from a sample." msgstr "" +"Основная идея состоит в том, чтобы сгладить данные с помощью `функции ядра " +"`_. помочь сделать выводы " +"о популяции на основе выборки." msgid "" "The degree of smoothing is controlled by the scaling parameter *h* which is " "called the bandwidth. Smaller values emphasize local features while larger " "values give smoother results." msgstr "" +"Степень сглаживания контролируется параметром масштабирования *h*, который " +"называется полосой пропускания. Меньшие значения подчеркивают местные " +"особенности, а большие значения дают более плавные результаты." msgid "" "The *kernel* determines the relative weights of the sample data points. " "Generally, the choice of kernel shape does not matter as much as the more " "influential bandwidth smoothing parameter." msgstr "" +"*Ядро* определяет относительные веса выборочных точек данных. Как правило, " +"выбор формы ядра не имеет такого большого значения, как более влиятельный " +"параметр сглаживания полосы пропускания." msgid "" "Kernels that give some weight to every sample point include *normal* " "(*gauss*), *logistic*, and *sigmoid*." msgstr "" +"Ядра, которые придают некоторый вес каждой точке выборки, включают " +"*нормальный* (*гаусс*), *логистический* и *сигмовидный*." msgid "" "Kernels that only give weight to sample points within the bandwidth include " "*rectangular* (*uniform*), *triangular*, *parabolic* (*epanechnikov*), " "*quartic* (*biweight*), *triweight*, and *cosine*." msgstr "" +"Ядра, которые придают вес только точкам выборки в пределах полосы " +"пропускания, включают *прямоугольные* (*равномерные*), *треугольные*, " +"*параболические* (*епанечниковы*), *четвертичные* (*двойные*), *трехвесные* " +"и *косинусные. *." msgid "" "If *cumulative* is true, will return a cumulative distribution function." msgstr "" +"Если *cumulative* имеет значение true, вернет кумулятивную функцию " +"распределения." msgid "" "A :exc:`StatisticsError` will be raised if the *data* sequence is empty." msgstr "" +"Ошибка :exc:`StatisticsError` будет выдана, если последовательность *data* " +"пуста." msgid "" "`Wikipedia has an example `_, где мы можем использовать :func:`kde` " +"для генерации и построения функции плотности вероятности, оцененной на " +"основе небольшой выборки:" msgid "" ">>> sample = [-2.1, -1.3, -0.4, 1.9, 5.1, 6.2]\n" @@ -461,41 +608,60 @@ msgid "" ">>> xarr = [i/100 for i in range(-750, 1100)]\n" ">>> yarr = [f_hat(x) for x in xarr]" msgstr "" +">>> sample = [-2.1, -1.3, -0.4, 1.9, 5.1, 6.2]\n" +">>> f_hat = kde(sample, h=1.5)\n" +">>> xarr = [i/100 for i in range(-750, 1100)]\n" +">>> yarr = [f_hat(x) for x in xarr]" msgid "The points in ``xarr`` and ``yarr`` can be used to make a PDF plot:" msgstr "" +"Точки в ``xarr`` и ``yarr`` можно использовать для создания графика PDF:" msgid "Scatter plot of the estimated probability density function." -msgstr "" +msgstr "Диаграмма рассеяния оцененной функции плотности вероятности." msgid "" "Return a function that makes a random selection from the estimated " "probability density function produced by ``kde(data, h, kernel)``." msgstr "" +"Возвращает функцию, которая делает случайный выбор из оценочной функции " +"плотности вероятности, созданной ``kde(data, h, kernel)``." msgid "" "Providing a *seed* allows reproducible selections. In the future, the values " "may change slightly as more accurate kernel inverse CDF estimates are " "implemented. The seed may be an integer, float, str, or bytes." msgstr "" +"Предоставление *начального значения* позволяет воспроизводить выборку. В " +"будущем значения могут немного измениться, поскольку будут реализованы более " +"точные оценки обратного CDF ядра. Начальное значение может быть целым " +"числом, числом с плавающей запятой, строкой или байтами." msgid "" "Continuing the example for :func:`kde`, we can use :func:`kde_random` to " "generate new random selections from an estimated probability density " "function:" msgstr "" +"Продолжая пример с :func:`kde`, мы можем использовать :func:`kde_random` для " +"генерации новых случайных выборок из оценочной функции плотности вероятности:" msgid "" "Return the median (middle value) of numeric data, using the common \"mean of " "middle two\" method. If *data* is empty, :exc:`StatisticsError` is raised. " "*data* can be a sequence or iterable." msgstr "" +"Повертає медіану (середнє значення) числових даних, використовуючи поширений " +"метод \"середнього середнього двох\". Якщо *data* порожній, виникає :exc:" +"`StatisticsError`. *data* може бути послідовністю або ітерованою." msgid "" "The median is a robust measure of central location and is less affected by " "the presence of outliers. When the number of data points is odd, the middle " "data point is returned:" msgstr "" +"Медіана є надійним показником центрального розташування, і на неї менше " +"впливає наявність викидів. Якщо кількість точок даних непарна, повертається " +"середня точка даних:" msgid "" ">>> median([1, 3, 5])\n" @@ -508,6 +674,8 @@ msgid "" "When the number of data points is even, the median is interpolated by taking " "the average of the two middle values:" msgstr "" +"Якщо кількість точок даних парна, медіана інтерполюється, беручи середнє " +"значення двох середніх значень:" msgid "" ">>> median([1, 3, 5, 7])\n" @@ -520,23 +688,33 @@ msgid "" "This is suited for when your data is discrete, and you don't mind that the " "median may not be an actual data point." msgstr "" +"Це підходить, коли ваші дані є дискретними, і ви не заперечуєте, що медіана " +"може не бути фактичною точкою даних." msgid "" "If the data is ordinal (supports order operations) but not numeric (doesn't " "support addition), consider using :func:`median_low` or :func:`median_high` " "instead." msgstr "" +"Якщо дані є порядковими (підтримують операції порядку), але не числовими (не " +"підтримують додавання), подумайте про використання :func:`median_low` або :" +"func:`median_high` натомість." msgid "" "Return the low median of numeric data. If *data* is empty, :exc:" "`StatisticsError` is raised. *data* can be a sequence or iterable." msgstr "" +"Повертає нижню медіану числових даних. Якщо *data* порожній, виникає :exc:" +"`StatisticsError`. *data* може бути послідовністю або ітерованою." msgid "" "The low median is always a member of the data set. When the number of data " "points is odd, the middle value is returned. When it is even, the smaller " "of the two middle values is returned." msgstr "" +"Нижня медіана завжди є членом набору даних. Якщо кількість точок даних " +"непарна, повертається середнє значення. Якщо воно парне, повертається менше " +"з двох середніх значень." msgid "" ">>> median_low([1, 3, 5])\n" @@ -553,17 +731,24 @@ msgid "" "Use the low median when your data are discrete and you prefer the median to " "be an actual data point rather than interpolated." msgstr "" +"Використовуйте низьку медіану, якщо ваші дані є дискретними, і ви віддаєте " +"перевагу, щоб медіана була фактичною точкою даних, а не інтерпольованою." msgid "" "Return the high median of data. If *data* is empty, :exc:`StatisticsError` " "is raised. *data* can be a sequence or iterable." msgstr "" +"Повернути високу медіану даних. Якщо *data* порожній, виникає :exc:" +"`StatisticsError`. *data* може бути послідовністю або ітерованою." msgid "" "The high median is always a member of the data set. When the number of data " "points is odd, the middle value is returned. When it is even, the larger of " "the two middle values is returned." msgstr "" +"Верхня медіана завжди є членом набору даних. Якщо кількість точок даних " +"непарна, повертається середнє значення. Якщо воно парне, повертається більше " +"з двох середніх значень." msgid "" ">>> median_high([1, 3, 5])\n" @@ -580,26 +765,37 @@ msgid "" "Use the high median when your data are discrete and you prefer the median to " "be an actual data point rather than interpolated." msgstr "" +"Використовуйте високу медіану, якщо ваші дані є дискретними, і ви віддаєте " +"перевагу, щоб медіана була фактичною точкою даних, а не інтерпольованою." msgid "" "Estimates the median for numeric data that has been `grouped or binned " "`_ around the midpoints of " "consecutive, fixed-width intervals." msgstr "" +"Оценивает медиану для числовых данных, которые были `сгруппированы или " +"распределены `_ вокруг средних " +"точек последовательных интервалов фиксированной ширины." msgid "" "The *data* can be any iterable of numeric data with each value being exactly " "the midpoint of a bin. At least one value must be present." msgstr "" +"*данные* могут быть любыми итерируемыми числовыми данными, каждое значение " +"которых соответствует точно средней точке интервала. Должно присутствовать " +"хотя бы одно значение." msgid "The *interval* is the width of each bin." -msgstr "" +msgstr "*interval* — это ширина каждого интервала." msgid "" "For example, demographic information may have been summarized into " "consecutive ten-year age groups with each group being represented by the 5-" "year midpoints of the intervals:" msgstr "" +"Например, демографическая информация могла быть суммирована по " +"последовательным десятилетним возрастным группам, причем каждая группа была " +"представлена ​​5-летними средними точками интервалов:" msgid "" ">>> from collections import Counter\n" @@ -612,11 +808,22 @@ msgid "" "... })\n" "..." msgstr "" +">>> from collections import Counter\n" +">>> demographics = Counter({\n" +"... 25: 172, # 20 to 30 years old\n" +"... 35: 484, # 30 to 40 years old\n" +"... 45: 387, # 40 to 50 years old\n" +"... 55: 22, # 50 to 60 years old\n" +"... 65: 6, # 60 to 70 years old\n" +"... })\n" +"..." msgid "" "The 50th percentile (median) is the 536th person out of the 1071 member " "cohort. That person is in the 30 to 40 year old age group." msgstr "" +"50-й процентиль (медиана) — это 536-й человек из когорты из 1071 участника. " +"Это человек в возрастной группе от 30 до 40 лет." msgid "" "The regular :func:`median` function would assume that everyone in the " @@ -624,6 +831,10 @@ msgid "" "is that the 484 members of that age group are evenly distributed between 30 " "and 40. For that, we use :func:`median_grouped`:" msgstr "" +"Обычная функция :func:`median` предполагает, что всем в трехмерной " +"возрастной группе было ровно 35 лет. Более разумное предположение состоит в " +"том, что 484 члена этой возрастной группы равномерно распределены между 30 и " +"40 годами. Для этого мы используем :func:`median_grouped`:" msgid "" ">>> data = list(demographics.elements())\n" @@ -643,17 +854,26 @@ msgid "" "exact multiples of *interval*. This is essential for getting a correct " "result. The function does not check this precondition." msgstr "" +"Вызывающая сторона несет ответственность за то, чтобы точки данных были " +"разделены точными интервалами, кратными *интервалу*. Это необходимо для " +"получения правильного результата. Функция не проверяет это предварительное " +"условие." msgid "" "Inputs may be any numeric type that can be coerced to a float during the " "interpolation step." msgstr "" +"Входные данные могут быть любого числового типа, который можно привести к " +"числу с плавающей запятой на этапе интерполяции." msgid "" "Return the single most common data point from discrete or nominal *data*. " "The mode (when it exists) is the most typical value and serves as a measure " "of central location." msgstr "" +"Повертає єдину найпоширенішу точку даних із дискретних або номінальних " +"*даних*. Режим (якщо він існує) є найбільш типовим значенням і служить мірою " +"центрального розташування." msgid "" "If there are multiple modes with the same frequency, returns the first one " @@ -661,11 +881,17 @@ msgid "" "instead, use ``min(multimode(data))`` or ``max(multimode(data))``. If the " "input *data* is empty, :exc:`StatisticsError` is raised." msgstr "" +"Якщо є кілька режимів з однаковою частотою, повертає перший, який " +"зустрічається в *даних*. Якщо натомість потрібне найменше або найбільше з " +"них, використовуйте ``min(multimode(data))`` або ``max(multimode(data))``. " +"Якщо введення *data* порожнє, виникає :exc:`StatisticsError`." msgid "" "``mode`` assumes discrete data and returns a single value. This is the " "standard treatment of the mode as commonly taught in schools:" msgstr "" +"``mode`` передбачає дискретні дані та повертає одне значення. Це стандартне " +"лікування режиму, якому зазвичай навчають у школах:" msgid "" ">>> mode([1, 1, 2, 3, 3, 3, 3, 4])\n" @@ -678,6 +904,8 @@ msgid "" "The mode is unique in that it is the only statistic in this package that " "also applies to nominal (non-numeric) data:" msgstr "" +"Режим унікальний тим, що це єдина статистика в цьому пакеті, яка також " +"застосовується до номінальних (нечислових) даних:" msgid "" ">>> mode([\"red\", \"blue\", \"blue\", \"red\", \"green\", \"red\", " @@ -695,17 +923,30 @@ msgid "" "slower quadratic algorithm that only depends on equality tests: ``max(data, " "key=data.count)``." msgstr "" +"Поддерживаются только хэшируемые входы. Для обработки типа :class:`set` " +"рассмотрите возможность приведения к :class:`frozenset`. Для обработки типа :" +"class:`list` рассмотрите возможность приведения к :class:`tuple`. Для " +"смешанных или вложенных входных данных рассмотрите возможность использования " +"этого более медленного квадратичного алгоритма, который зависит только от " +"проверок на равенство: ``max(data, key=data.count)``." msgid "" "Now handles multimodal datasets by returning the first mode encountered. " "Formerly, it raised :exc:`StatisticsError` when more than one mode was found." msgstr "" +"Тепер обробляє мультимодальні набори даних, повертаючи перший зустрічається " +"режим. Раніше він викликав :exc:`StatisticsError`, коли було знайдено більше " +"ніж один режим." msgid "" "Return a list of the most frequently occurring values in the order they were " "first encountered in the *data*. Will return more than one result if there " "are multiple modes or an empty list if the *data* is empty:" msgstr "" +"Повертає список значень, які найчастіше зустрічаються, у тому порядку, в " +"якому вони були вперше зустрінуті в *даних*. Поверне більше одного " +"результату, якщо існує кілька режимів, або порожній список, якщо *дані* " +"порожні:" msgid "" ">>> multimode('aabbbbccddddeeffffgg')\n" @@ -722,6 +963,9 @@ msgid "" "Return the population standard deviation (the square root of the population " "variance). See :func:`pvariance` for arguments and other details." msgstr "" +"Повертає стандартне відхилення сукупності (квадратний корінь із дисперсії " +"сукупності). Перегляньте :func:`pvariance` для отримання аргументів та інших " +"деталей." msgid "" ">>> pstdev([1.5, 2.5, 2.5, 2.75, 3.25, 4.75])\n" @@ -737,6 +981,11 @@ msgid "" "indicates that the data is spread out; a small variance indicates it is " "clustered closely around the mean." msgstr "" +"Повертає дисперсію сукупності *даних*, непорожню послідовність або ітерацію " +"дійсних чисел. Дисперсія, або другий момент відносно середнього, є мірою " +"мінливості (розкиду або дисперсії) даних. Велика дисперсія вказує на те, що " +"дані розкидані; невелика дисперсія вказує на те, що вона згрупована близько " +"середнього значення." msgid "" "If the optional second argument *mu* is given, it should be the *population* " @@ -744,15 +993,23 @@ msgid "" "a point that is not the mean. If it is missing or ``None`` (the default), " "the arithmetic mean is automatically calculated." msgstr "" +"Если указан необязательный второй аргумент *mu*, это должно быть среднее " +"значение *популяции* *данных*. Его также можно использовать для вычисления " +"второго момента вокруг точки, которая не является средним значением. Если он " +"отсутствует или «Нет» (по умолчанию), среднее арифметическое вычисляется " +"автоматически." msgid "" "Use this function to calculate the variance from the entire population. To " "estimate the variance from a sample, the :func:`variance` function is " "usually a better choice." msgstr "" +"Використовуйте цю функцію, щоб обчислити дисперсію для всієї сукупності. Щоб " +"оцінити дисперсію за вибіркою, функція :func:`variance` зазвичай є кращим " +"вибором." msgid "Raises :exc:`StatisticsError` if *data* is empty." -msgstr "" +msgstr "Викликає :exc:`StatisticsError`, якщо *data* порожні." msgid "Examples:" msgstr "Przykłady:" @@ -762,11 +1019,16 @@ msgid "" ">>> pvariance(data)\n" "1.25" msgstr "" +">>> data = [0.0, 0.25, 0.25, 1.25, 1.5, 1.75, 2.75, 3.25]\n" +">>> pvariance(data)\n" +"1.25" msgid "" "If you have already calculated the mean of your data, you can pass it as the " "optional second argument *mu* to avoid recalculation:" msgstr "" +"Якщо ви вже обчислили середнє значення своїх даних, ви можете передати його " +"як необов’язковий другий аргумент *mu*, щоб уникнути перерахунку:" msgid "" ">>> mu = mean(data)\n" @@ -778,7 +1040,7 @@ msgstr "" "1.25" msgid "Decimals and Fractions are supported:" -msgstr "" +msgstr "Підтримуються десяткові знаки та дроби:" msgid "" ">>> from decimal import Decimal as D\n" @@ -790,12 +1052,23 @@ msgid "" ">>> pvariance([F(1, 4), F(5, 4), F(1, 2)])\n" "Fraction(13, 72)" msgstr "" +">>> from decimal import Decimal as D\n" +">>> pvariance([D(\"27.5\"), D(\"30.25\"), D(\"30.25\"), D(\"34.5\"), " +"D(\"41.75\")])\n" +"Decimal('24.815')\n" +"\n" +">>> from fractions import Fraction as F\n" +">>> pvariance([F(1, 4), F(5, 4), F(1, 2)])\n" +"Fraction(13, 72)" msgid "" "When called with the entire population, this gives the population variance " "σ². When called on a sample instead, this is the biased sample variance s², " "also known as variance with N degrees of freedom." msgstr "" +"При виклику з усією сукупністю це дає дисперсію сукупності σ². Якщо замість " +"цього викликати вибірку, це є дисперсія зміщеної вибірки s², також відома як " +"дисперсія з N ступенями свободи." msgid "" "If you somehow know the true population mean μ, you may use this function to " @@ -804,11 +1077,19 @@ msgid "" "population, the result will be an unbiased estimate of the population " "variance." msgstr "" +"Якщо ви якимось чином знаєте справжнє середнє значення сукупності μ, ви " +"можете використати цю функцію для обчислення дисперсії вибірки, вказавши " +"відоме середнє значення сукупності як другий аргумент. За умови, що точки " +"даних є випадковою вибіркою сукупності, результатом буде неупереджена оцінка " +"дисперсії генеральної сукупності." msgid "" "Return the sample standard deviation (the square root of the sample " "variance). See :func:`variance` for arguments and other details." msgstr "" +"Повертає стандартне відхилення вибірки (квадратний корінь із дисперсії " +"вибірки). Перегляньте :func:`variance` для отримання аргументів та інших " +"деталей." msgid "" ">>> stdev([1.5, 2.5, 2.5, 2.75, 3.25, 4.75])\n" @@ -824,20 +1105,31 @@ msgid "" "that the data is spread out; a small variance indicates it is clustered " "closely around the mean." msgstr "" +"Повертає вибіркову дисперсію *data*, повторюваного принаймні двох дійсних " +"чисел. Дисперсія, або другий момент відносно середнього, є мірою мінливості " +"(розкиду або дисперсії) даних. Велика дисперсія вказує на те, що дані " +"розкидані; невелика дисперсія вказує на те, що вона щільно згрупована " +"навколо середнього значення." msgid "" "If the optional second argument *xbar* is given, it should be the *sample* " "mean of *data*. If it is missing or ``None`` (the default), the mean is " "automatically calculated." msgstr "" +"Если указан необязательный второй аргумент *xbar*, это должно быть " +"*выборочное* среднее значение *данных*. Если оно отсутствует или «Нет» (по " +"умолчанию), среднее значение рассчитывается автоматически." msgid "" "Use this function when your data is a sample from a population. To calculate " "the variance from the entire population, see :func:`pvariance`." msgstr "" +"Використовуйте цю функцію, якщо ваші дані є вибіркою із генеральної " +"сукупності. Щоб обчислити дисперсію для всієї сукупності, перегляньте :func:" +"`pvariance`." msgid "Raises :exc:`StatisticsError` if *data* has fewer than two values." -msgstr "" +msgstr "Викликає :exc:`StatisticsError`, якщо *data* має менше двох значень." msgid "" ">>> data = [2.75, 1.75, 1.25, 0.25, 0.5, 1.25, 3.5]\n" @@ -852,6 +1144,9 @@ msgid "" "If you have already calculated the sample mean of your data, you can pass it " "as the optional second argument *xbar* to avoid recalculation:" msgstr "" +"Если вы уже рассчитали выборочное среднее значение ваших данных, вы можете " +"передать его в качестве необязательного второго аргумента *xbar*, чтобы " +"избежать перерасчета:" msgid "" ">>> m = mean(data)\n" @@ -867,9 +1162,12 @@ msgid "" "mean as *xbar*. Using arbitrary values for *xbar* can lead to invalid or " "impossible results." msgstr "" +"Ця функція не намагається перевірити, що ви передали фактичне середнє як " +"*xbar*. Використання довільних значень для *xbar* може призвести до " +"недійсних або неможливих результатів." msgid "Decimal and Fraction values are supported:" -msgstr "" +msgstr "Підтримуються десяткові та дробові значення:" msgid "" ">>> from decimal import Decimal as D\n" @@ -881,6 +1179,14 @@ msgid "" ">>> variance([F(1, 6), F(1, 2), F(5, 3)])\n" "Fraction(67, 108)" msgstr "" +">>> from decimal import Decimal as D\n" +">>> variance([D(\"27.5\"), D(\"30.25\"), D(\"30.25\"), D(\"34.5\"), " +"D(\"41.75\")])\n" +"Decimal('31.01875')\n" +"\n" +">>> from fractions import Fraction as F\n" +">>> variance([F(1, 6), F(1, 2), F(5, 3)])\n" +"Fraction(67, 108)" msgid "" "This is the sample variance s² with Bessel's correction, also known as " @@ -888,17 +1194,26 @@ msgid "" "representative (e.g. independent and identically distributed), the result " "should be an unbiased estimate of the true population variance." msgstr "" +"Це вибіркова дисперсія s² з поправкою Бесселя, також відома як дисперсія з " +"N-1 ступенями свободи. За умови, що точки даних є репрезентативними " +"(наприклад, незалежними та однаково розподіленими), результат має бути " +"неупередженою оцінкою справжньої дисперсії сукупності." msgid "" "If you somehow know the actual population mean μ you should pass it to the :" "func:`pvariance` function as the *mu* parameter to get the variance of a " "sample." msgstr "" +"Якщо ви якимось чином знаєте фактичне середнє значення μ, ви повинні " +"передати його функції :func:`pvariance` як параметр *mu*, щоб отримати " +"дисперсію вибірки." msgid "" "Divide *data* into *n* continuous intervals with equal probability. Returns " "a list of ``n - 1`` cut points separating the intervals." msgstr "" +"Розділіть *дані* на *n* безперервних інтервалів з рівною ймовірністю. " +"Повертає список ``n - 1`` точок розрізу, що розділяють інтервали." msgid "" "Set *n* to 4 for quartiles (the default). Set *n* to 10 for deciles. Set " @@ -906,24 +1221,38 @@ msgid "" "*data* into 100 equal sized groups. Raises :exc:`StatisticsError` if *n* is " "not least 1." msgstr "" +"Встановіть *n* на 4 для квартилів (за замовчуванням). Встановіть *n* на 10 " +"для децилів. Встановіть *n* на 100 для процентилів, що дає 99 точок розрізу, " +"які розділяють *дані* на 100 груп однакового розміру. Викликає :exc:" +"`StatisticsError`, якщо *n* не менше 1." msgid "" "The *data* can be any iterable containing sample data. For meaningful " "results, the number of data points in *data* should be larger than *n*. " "Raises :exc:`StatisticsError` if there is not at least one data point." msgstr "" +"*данными* может быть любая итерация, содержащая образцы данных. Для " +"получения значимых результатов количество точек данных в *data* должно быть " +"больше, чем *n*. Вызывает :exc:`StatisticsError`, если нет хотя бы одной " +"точки данных." msgid "" "The cut points are linearly interpolated from the two nearest data points. " "For example, if a cut point falls one-third of the distance between two " "sample values, ``100`` and ``112``, the cut-point will evaluate to ``104``." msgstr "" +"Точки розрізу лінійно інтерполюються з двох найближчих точок даних. " +"Наприклад, якщо точка зрізу падає на одну третину відстані між двома " +"значеннями вибірки, ``100`` і ``112``, точка зрізу буде оцінена як ``104``." msgid "" "The *method* for computing quantiles can be varied depending on whether the " "*data* includes or excludes the lowest and highest possible values from the " "population." msgstr "" +"*Метод* для обчислення квантилів може варіюватися залежно від того, чи " +"*дані* включають чи виключають найнижчі та найвищі можливі значення з " +"сукупності." msgid "" "The default *method* is \"exclusive\" and is used for data sampled from a " @@ -933,6 +1262,12 @@ msgid "" "them and assigns the following percentiles: 10%, 20%, 30%, 40%, 50%, 60%, " "70%, 80%, 90%." msgstr "" +"*Метод* за замовчуванням є \"ексклюзивним\" і використовується для даних, " +"відібраних із сукупності, яка може мати більш екстремальні значення, ніж у " +"вибірках. Частка генеральної сукупності, яка знаходиться нижче *i-ї* з *m* " +"відсортованих точок даних, обчислюється як ``i / (m + 1)``. Маючи дев’ять " +"значень вибірки, метод сортує їх і призначає наступні процентилі: 10%, 20%, " +"30%, 40%, 50%, 60%, 70%, 80%, 90%." msgid "" "Setting the *method* to \"inclusive\" is used for describing population data " @@ -944,6 +1279,14 @@ msgid "" "assigns the following percentiles: 0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, " "80%, 90%, 100%." msgstr "" +"Встановлення *методу* на \"включно\" використовується для опису даних " +"сукупності або для вибірок, які, як відомо, включають найбільш екстремальні " +"значення сукупності. Мінімальне значення в *даних* розглядається як 0-й " +"процентиль, а максимальне значення розглядається як 100-й процентиль. Частка " +"генеральної сукупності, що опускається нижче *i-ї* з *m* відсортованих точок " +"даних, обчислюється як ``(i - 1) / (m - 1)``. Враховуючи 11 значень вибірки, " +"метод сортує їх і призначає наступні процентилі: 0%, 10%, 20%, 30%, 40%, " +"50%, 60%, 70%, 80%, 90%, 100%." msgid "" "# Decile cut points for empirically sampled data\n" @@ -955,22 +1298,37 @@ msgid "" ">>> [round(q, 1) for q in quantiles(data, n=10)]\n" "[81.0, 86.2, 89.0, 99.4, 102.5, 103.6, 106.0, 109.8, 111.0]" msgstr "" +"# Decile cut points for empirically sampled data\n" +">>> data = [105, 129, 87, 86, 111, 111, 89, 81, 108, 92, 110,\n" +"... 100, 75, 105, 103, 109, 76, 119, 99, 91, 103, 129,\n" +"... 106, 101, 84, 111, 74, 87, 86, 103, 103, 106, 86,\n" +"... 111, 75, 87, 102, 121, 111, 88, 89, 101, 106, 95,\n" +"... 103, 107, 101, 81, 109, 104]\n" +">>> [round(q, 1) for q in quantiles(data, n=10)]\n" +"[81.0, 86.2, 89.0, 99.4, 102.5, 103.6, 106.0, 109.8, 111.0]" msgid "" "No longer raises an exception for an input with only a single data point. " "This allows quantile estimates to be built up one sample point at a time " "becoming gradually more refined with each new data point." msgstr "" +"Больше не вызывает исключение для ввода только с одной точкой данных. Это " +"позволяет строить квантильные оценки по одной точке выборки за раз, " +"постепенно уточняя ее с каждой новой точкой данных." msgid "" "Return the sample covariance of two inputs *x* and *y*. Covariance is a " "measure of the joint variability of two inputs." msgstr "" +"Повертає зразкову коваріацію двох вхідних даних *x* і *y*. Коваріація є " +"мірою спільної мінливості двох вхідних даних." msgid "" "Both inputs must be of the same length (no less than two), otherwise :exc:" "`StatisticsError` is raised." msgstr "" +"Обидва входи мають бути однакової довжини (не менше двох), інакше виникає :" +"exc:`StatisticsError`." msgid "" ">>> x = [1, 2, 3, 4, 5, 6, 7, 8, 9]\n" @@ -983,6 +1341,15 @@ msgid "" ">>> covariance(z, x)\n" "-7.5" msgstr "" +">>> x = [1, 2, 3, 4, 5, 6, 7, 8, 9]\n" +">>> y = [1, 2, 3, 1, 2, 3, 1, 2, 3]\n" +">>> covariance(x, y)\n" +"0.75\n" +">>> z = [9, 8, 7, 6, 5, 4, 3, 2, 1]\n" +">>> covariance(x, z)\n" +"-7.5\n" +">>> covariance(z, x)\n" +"-7.5" msgid "" "Return the `Pearson's correlation coefficient `_ для двух входных данных. Коэффициент " +"корреляции Пирсона *r* принимает значения от -1 до +1. Он измеряет силу и " +"направление линейной зависимости." msgid "" "If *method* is \"ranked\", computes `Spearman's rank correlation coefficient " @@ -998,22 +1369,34 @@ msgid "" "equal values receive the same rank. The resulting coefficient measures the " "strength of a monotonic relationship." msgstr "" +"Если *метод* является «ранжированным», вычисляет коэффициент ранговой " +"корреляции Спирмена `_ для двух входов. Данные заменяются рангами. " +"Ничьи усредняются, так что равные значения получают одинаковый ранг. " +"Полученный коэффициент измеряет силу монотонной зависимости." msgid "" "Spearman's correlation coefficient is appropriate for ordinal data or for " "continuous data that doesn't meet the linear proportion requirement for " "Pearson's correlation coefficient." msgstr "" +"Коэффициент корреляции Спирмена подходит для порядковых данных или для " +"непрерывных данных, которые не соответствуют требованию линейной пропорции " +"для коэффициента корреляции Пирсона." msgid "" "Both inputs must be of the same length (no less than two), and need not to " "be constant, otherwise :exc:`StatisticsError` is raised." msgstr "" +"Обидва вхідні дані мають бути однакової довжини (не менше двох) і не повинні " +"бути постійними, інакше виникає :exc:`StatisticsError`." msgid "" "Example with `Kepler's laws of planetary motion `_:" msgstr "" +"Пример с `законами движения планет Кеплера `_:" msgid "" ">>> # Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, and Neptune\n" @@ -1038,9 +1421,30 @@ msgid "" ">>> round(correlation(period_squared, dist_cubed), 4)\n" "1.0" msgstr "" +">>> # Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, and Neptune\n" +">>> orbital_period = [88, 225, 365, 687, 4331, 10_756, 30_687, 60_190] # " +"days\n" +">>> dist_from_sun = [58, 108, 150, 228, 778, 1_400, 2_900, 4_500] # million " +"km\n" +"\n" +">>> # Show that a perfect monotonic relationship exists\n" +">>> correlation(orbital_period, dist_from_sun, method='ranked')\n" +"1.0\n" +"\n" +">>> # Observe that a linear relationship is imperfect\n" +">>> round(correlation(orbital_period, dist_from_sun), 4)\n" +"0.9882\n" +"\n" +">>> # Demonstrate Kepler's third law: There is a linear correlation\n" +">>> # between the square of the orbital period and the cube of the\n" +">>> # distance from the sun.\n" +">>> period_squared = [p * p for p in orbital_period]\n" +">>> dist_cubed = [d * d * d for d in dist_from_sun]\n" +">>> round(correlation(period_squared, dist_cubed), 4)\n" +"1.0" msgid "Added support for Spearman's rank correlation coefficient." -msgstr "" +msgstr "Добавлена ​​поддержка коэффициента ранговой корреляции Спирмена." msgid "" "Return the slope and intercept of `simple linear regression `_, оцінених за допомогою " +"звичайних методів найменших квадратів. Проста лінійна регресія описує " +"зв’язок між незалежною змінною *x* і залежною змінною *y* в термінах цієї " +"лінійної функції:" msgid "*y = slope \\* x + intercept + noise*" -msgstr "" +msgstr "*y = нахил \\* x + перехоплення + шум*" msgid "" "where ``slope`` and ``intercept`` are the regression parameters that are " @@ -1059,12 +1468,17 @@ msgid "" "explained by the linear regression (it is equal to the difference between " "predicted and actual values of the dependent variable)." msgstr "" +"де ``нахил`` і ``перетин`` є параметрами регресії, які оцінюються, а ``шум`` " +"представляє мінливість даних, яка не була пояснена лінійною регресією (він " +"дорівнює різниці між прогнозованим і фактичні значення залежної змінної)." msgid "" "Both inputs must be of the same length (no less than two), and the " "independent variable *x* cannot be constant; otherwise a :exc:" "`StatisticsError` is raised." msgstr "" +"Обидва входи повинні мати однакову довжину (не менше двох), а незалежна " +"змінна *x* не може бути постійною; інакше виникає :exc:`StatisticsError`." msgid "" "For example, we can use the `release dates of the Monty Python films " @@ -1072,6 +1486,10 @@ msgid "" "cumulative number of Monty Python films that would have been produced by " "2019 assuming that they had kept the pace." msgstr "" +"Наприклад, ми можемо використати `дати виходу фільмів Монті Пайтона `_, щоб передбачити загальну " +"кількість фільмів Монті Пайтона, які були б створені до 2019 року, якщо " +"припустити, що вони тримали темп." msgid "" ">>> year = [1971, 1975, 1979, 1982, 1983]\n" @@ -1080,6 +1498,11 @@ msgid "" ">>> round(slope * 2019 + intercept)\n" "16" msgstr "" +">>> year = [1971, 1975, 1979, 1982, 1983]\n" +">>> films_total = [1, 2, 3, 4, 5]\n" +">>> slope, intercept = linear_regression(year, films_total)\n" +">>> round(slope * 2019 + intercept)\n" +"16" msgid "" "If *proportional* is true, the independent variable *x* and the dependent " @@ -1087,15 +1510,22 @@ msgid "" "line passing through the origin. Since the *intercept* will always be 0.0, " "the underlying linear function simplifies to:" msgstr "" +"Если *proportional* истинно, независимая переменная *x* и зависимая " +"переменная *y* считаются прямо пропорциональными. Данные соответствуют " +"линии, проходящей через начало координат. Поскольку *перехват* всегда будет " +"равен 0,0, базовая линейная функция упрощается до:" msgid "*y = slope \\* x + noise*" -msgstr "" +msgstr "*y = slope \\* x + noise*" msgid "" "Continuing the example from :func:`correlation`, we look to see how well a " "model based on major planets can predict the orbital distances for dwarf " "planets:" msgstr "" +"Продолжая пример из :func:`correlation`, мы посмотрим, насколько хорошо " +"модель, основанная на больших планетах, может предсказать орбитальные " +"расстояния карликовых планет:" msgid "" ">>> model = linear_regression(period_squared, dist_cubed, " @@ -1111,21 +1541,33 @@ msgid "" ">>> [5_906, 10_152, 6_796, 6_450, 414] # actual distance in million km\n" "[5906, 10152, 6796, 6450, 414]" msgstr "" +">>> model = linear_regression(period_squared, dist_cubed, " +"proportional=True)\n" +">>> slope = model.slope\n" +"\n" +">>> # Dwarf planets: Pluto, Eris, Makemake, Haumea, Ceres\n" +">>> orbital_periods = [90_560, 204_199, 111_845, 103_410, 1_680] # days\n" +">>> predicted_dist = [math.cbrt(slope * (p * p)) for p in orbital_periods]\n" +">>> list(map(round, predicted_dist))\n" +"[5912, 10166, 6806, 6459, 414]\n" +"\n" +">>> [5_906, 10_152, 6_796, 6_450, 414] # actual distance in million km\n" +"[5906, 10152, 6796, 6450, 414]" msgid "Added support for *proportional*." -msgstr "" +msgstr "Добавлена ​​поддержка *пропорционального*." msgid "Exceptions" msgstr "Wyjątki" msgid "A single exception is defined:" -msgstr "" +msgstr "Визначено єдиний виняток:" msgid "Subclass of :exc:`ValueError` for statistics-related exceptions." -msgstr "" +msgstr "Підклас :exc:`ValueError` для винятків, пов’язаних зі статистикою." msgid ":class:`NormalDist` objects" -msgstr "" +msgstr ":class:`NormalDist` об’єкти" msgid "" ":class:`NormalDist` is a tool for creating and manipulating normal " @@ -1133,52 +1575,74 @@ msgid "" "Courses/1997-98/101/ranvar.htm>`_. It is a class that treats the mean and " "standard deviation of data measurements as a single entity." msgstr "" +":class:`NormalDist` — це інструмент для створення та керування нормальними " +"розподілами `випадкової змінної `_. Це клас, який розглядає середнє значення " +"та стандартне відхилення вимірювань даних як єдине ціле." msgid "" "Normal distributions arise from the `Central Limit Theorem `_ and have a wide range of " "applications in statistics." msgstr "" +"Нормальні розподіли випливають із `Центральної граничної теореми `_ і мають широкий спектр " +"застосувань у статистиці." msgid "" "Returns a new *NormalDist* object where *mu* represents the `arithmetic mean " "`_ and *sigma* represents the " "`standard deviation `_." msgstr "" +"Повертає новий об’єкт *NormalDist*, де *mu* представляє `середнє арифметичне " +"`_, а *sigma* являє собою " +"`стандартне відхилення `_." msgid "If *sigma* is negative, raises :exc:`StatisticsError`." -msgstr "" +msgstr "Якщо *сигма* від'ємна, викликає :exc:`StatisticsError`." msgid "" "A read-only property for the `arithmetic mean `_ of a normal distribution." msgstr "" +"Властивість лише для читання для `середнього арифметичного `_ нормального розподілу." msgid "" "A read-only property for the `median `_ of a normal distribution." msgstr "" +"Властивість лише для читання для `медіани `_ нормального розподілу." msgid "" "A read-only property for the `mode `_ of a normal distribution." msgstr "" +"Властивість лише для читання для `mode `_ нормального розподілу." msgid "" "A read-only property for the `standard deviation `_ of a normal distribution." msgstr "" +"Властивість лише для читання для `стандартного відхилення `_ нормального розподілу." msgid "" "A read-only property for the `variance `_ of a normal distribution. Equal to the square of the standard " "deviation." msgstr "" +"Властивість лише для читання для `variance `_ нормального розподілу. Дорівнює квадрату стандартного відхилення." msgid "" "Makes a normal distribution instance with *mu* and *sigma* parameters " "estimated from the *data* using :func:`fmean` and :func:`stdev`." msgstr "" +"Створює звичайний екземпляр розподілу з параметрами *mu* і *sigma*, " +"оціненими з *data* за допомогою :func:`fmean` і :func:`stdev`." msgid "" "The *data* can be any :term:`iterable` and should consist of values that can " @@ -1187,22 +1651,34 @@ msgid "" "point to estimate a central value and at least two points to estimate " "dispersion." msgstr "" +"*Data* може бути будь-яким :term:`iterable` і має складатися зі значень, які " +"можна перетворити на тип :class:`float`. Якщо *data* не містить принаймні " +"двох елементів, виникає :exc:`StatisticsError`, оскільки для оцінки " +"центрального значення потрібна принаймні одна точка, а для оцінки дисперсії " +"— принаймні дві точки." msgid "" "Generates *n* random samples for a given mean and standard deviation. " "Returns a :class:`list` of :class:`float` values." msgstr "" +"Генерує *n* випадкових вибірок для заданого середнього значення та " +"стандартного відхилення. Повертає :class:`list` значень :class:`float`." msgid "" "If *seed* is given, creates a new instance of the underlying random number " "generator. This is useful for creating reproducible results, even in a " "multi-threading context." msgstr "" +"Якщо задано *seed*, створюється новий екземпляр основного генератора " +"випадкових чисел. Це корисно для створення відтворюваних результатів, навіть " +"у багатопоточному контексті." msgid "" "Switched to a faster algorithm. To reproduce samples from previous " "versions, use :func:`random.seed` and :func:`random.gauss`." msgstr "" +"Перешел на более быстрый алгоритм. Чтобы воспроизвести образцы из предыдущих " +"версий, используйте :func:`random.seed` и :func:`random.gauss`." msgid "" "Using a `probability density function (pdf) `_, обчисліть відносну ймовірність " +"того, що випадкова змінна *X* буде близько заданого значення *x*. " +"Математично, це межа відношення ``P(x <= X < x+dx) / dx``, коли *dx* " +"наближається до нуля." msgid "" "The relative likelihood is computed as the probability of a sample occurring " @@ -1217,6 +1698,10 @@ msgid "" "\"density\"). Since the likelihood is relative to other points, its value " "can be greater than ``1.0``." msgstr "" +"Относительная вероятность рассчитывается как вероятность попадания выборки в " +"узкий диапазон, деленная на ширину диапазона (отсюда и слово «плотность»). " +"Поскольку вероятность определяется относительно других точек, ее значение " +"может быть больше, чем «1,0»." msgid "" "Using a `cumulative distribution function (cdf) `_, обчисліть імовірність того, що " +"випадкова змінна *X* буде меншою або дорівнює *x*. Математично це пишеться " +"як ``P(X <= x)``." msgid "" "Compute the inverse cumulative distribution function, also known as the " @@ -1232,29 +1721,45 @@ msgid "" "statisticshowto.datasciencecentral.com/inverse-distribution-function/>`_ " "function. Mathematically, it is written ``x : P(X <= x) = p``." msgstr "" +"Вычислите обратную кумулятивную функцию распределения, также известную как " +"`функция квантиля `_ или " +"`процентная точка `_ " +"функция. Математически это записывается ``x : P(X <= x) = p``." msgid "" "Finds the value *x* of the random variable *X* such that the probability of " "the variable being less than or equal to that value equals the given " "probability *p*." msgstr "" +"Знаходить таке значення *x* випадкової змінної *X*, що ймовірність того, що " +"змінна буде меншою або дорівнює цьому значенню, дорівнює заданій ймовірності " +"*p*." msgid "" "Measures the agreement between two normal probability distributions. Returns " "a value between 0.0 and 1.0 giving `the overlapping area for the two " "probability density functions `_." msgstr "" +"Вимірює узгодженість між двома нормальними розподілами ймовірностей. " +"Повертає значення від 0,0 до 1,0, що дає `область перекриття для двох " +"функцій щільності ймовірності `_." msgid "" "Divide the normal distribution into *n* continuous intervals with equal " "probability. Returns a list of (n - 1) cut points separating the intervals." msgstr "" +"Розділіть нормальний розподіл на *n* безперервних інтервалів з рівною " +"ймовірністю. Повертає список (n - 1) точок розрізу, що розділяють інтервали." msgid "" "Set *n* to 4 for quartiles (the default). Set *n* to 10 for deciles. Set " "*n* to 100 for percentiles which gives the 99 cuts points that separate the " "normal distribution into 100 equal sized groups." msgstr "" +"Встановіть *n* на 4 для квартилів (за замовчуванням). Встановіть *n* на 10 " +"для децилів. Встановіть *n* на 100 для процентилів, що дає 99 точок " +"розсічення, які поділяють нормальний розподіл на 100 груп однакового розміру." msgid "" "Compute the `Standard Score `_, що описує *x* у термінах кількості стандартних " +"відхилень вище або нижче середнього нормального розподілу: ``(x - середнє) / " +"стандартне відхилення``." msgid "" "Instances of :class:`NormalDist` support addition, subtraction, " "multiplication and division by a constant. These operations are used for " "translation and scaling. For example:" msgstr "" +"Екземпляри :class:`NormalDist` підтримують додавання, віднімання, множення " +"та ділення на константу. Ці операції використовуються для перекладу та " +"масштабування. Наприклад:" msgid "" ">>> temperature_february = NormalDist(5, 2.5) # Celsius\n" ">>> temperature_february * (9/5) + 32 # Fahrenheit\n" "NormalDist(mu=41.0, sigma=4.5)" msgstr "" +">>> temperature_february = NormalDist(5, 2.5) # Celsius\n" +">>> temperature_february * (9/5) + 32 # Fahrenheit\n" +"NormalDist(mu=41.0, sigma=4.5)" msgid "" "Dividing a constant by an instance of :class:`NormalDist` is not supported " "because the result wouldn't be normally distributed." msgstr "" +"Ділення константи на екземпляр :class:`NormalDist` не підтримується, " +"оскільки результат не розподілятиметься нормально." msgid "" "Since normal distributions arise from additive effects of independent " @@ -1287,6 +1804,11 @@ msgid "" "Sum_of_normally_distributed_random_variables>`_ represented as instances of :" "class:`NormalDist`. For example:" msgstr "" +"Оскільки нормальний розподіл виникає внаслідок адитивних ефектів незалежних " +"змінних, можна `додавати та віднімати дві незалежні нормально розподілені " +"випадкові змінні `_, представлені як екземпляри :" +"class:`NormalDist`. Наприклад:" msgid "" ">>> birth_weights = NormalDist.from_samples([2.5, 3.1, 2.1, 2.4, 2.7, 3.5])\n" @@ -1297,15 +1819,22 @@ msgid "" ">>> round(combined.stdev, 1)\n" "0.5" msgstr "" +">>> birth_weights = NormalDist.from_samples([2.5, 3.1, 2.1, 2.4, 2.7, 3.5])\n" +">>> drug_effects = NormalDist(0.4, 0.15)\n" +">>> combined = birth_weights + drug_effects\n" +">>> round(combined.mean, 1)\n" +"3.1\n" +">>> round(combined.stdev, 1)\n" +"0.5" msgid "Examples and Recipes" -msgstr "" +msgstr "Приклади та рецепти" msgid "Classic probability problems" -msgstr "" +msgstr "Классические вероятностные задачи" msgid ":class:`NormalDist` readily solves classic probability problems." -msgstr "" +msgstr ":class:`NormalDist` легко вирішує класичні ймовірнісні проблеми." msgid "" "For example, given `historical data for SAT exams `_, які показують, що бали " +"зазвичай розподіляються із середнім значенням 1060 і стандартним відхиленням " +"195, визначте відсоток студентів із тестовими балами між 1100 і 1200 після " +"округлення до найближчого цілого номер:" msgid "" ">>> sat = NormalDist(1060, 195)\n" @@ -1321,11 +1855,17 @@ msgid "" ">>> round(fraction * 100.0, 1)\n" "18.4" msgstr "" +">>> sat = NormalDist(1060, 195)\n" +">>> fraction = sat.cdf(1200 + 0.5) - sat.cdf(1100 - 0.5)\n" +">>> round(fraction * 100.0, 1)\n" +"18.4" msgid "" "Find the `quartiles `_ and `deciles " "`_ for the SAT scores:" msgstr "" +"Знайдіть `квартилі `_ і `децилі " +"`_ для результатів SAT:" msgid "" ">>> list(map(round, sat.quantiles()))\n" @@ -1333,15 +1873,22 @@ msgid "" ">>> list(map(round, sat.quantiles(n=10)))\n" "[810, 896, 958, 1011, 1060, 1109, 1162, 1224, 1310]" msgstr "" +">>> list(map(round, sat.quantiles()))\n" +"[928, 1060, 1192]\n" +">>> list(map(round, sat.quantiles(n=10)))\n" +"[810, 896, 958, 1011, 1060, 1109, 1162, 1224, 1310]" msgid "Monte Carlo inputs for simulations" -msgstr "" +msgstr "Входные данные Монте-Карло для моделирования" msgid "" "To estimate the distribution for a model that isn't easy to solve " "analytically, :class:`NormalDist` can generate input samples for a `Monte " "Carlo simulation `_:" msgstr "" +"Чтобы оценить распределение для модели, которую нелегко решить " +"аналитически, :class:`NormalDist` может сгенерировать входные выборки для " +"`симуляции Монте-Карло `_:" msgid "" ">>> def model(x, y, z):\n" @@ -1354,15 +1901,28 @@ msgid "" ">>> quantiles(map(model, X, Y, Z))\n" "[1.4591308524824727, 1.8035946855390597, 2.175091447274739]" msgstr "" +">>> def model(x, y, z):\n" +"... return (3*x + 7*x*y - 5*y) / (11 * z)\n" +"...\n" +">>> n = 100_000\n" +">>> X = NormalDist(10, 2.5).samples(n, seed=3652260728)\n" +">>> Y = NormalDist(15, 1.75).samples(n, seed=4582495471)\n" +">>> Z = NormalDist(50, 1.25).samples(n, seed=6582483453)\n" +">>> quantiles(map(model, X, Y, Z))\n" +"[1.4591308524824727, 1.8035946855390597, 2.175091447274739]" msgid "Approximating binomial distributions" -msgstr "" +msgstr "Аппроксимация биномиальных распределений" msgid "" "Normal distributions can be used to approximate `Binomial distributions " "`_ when the sample " "size is large and when the probability of a successful trial is near 50%." msgstr "" +"Нормальные распределения можно использовать для аппроксимации `Биномиальных " +"распределений `_, " +"когда размер выборки велик и когда вероятность успешного испытания " +"составляет около 50%." msgid "" "For example, an open source conference has 750 attendees and two rooms with " @@ -1371,6 +1931,11 @@ msgid "" "talks. Assuming the population preferences haven't changed, what is the " "probability that the Python room will stay within its capacity limits?" msgstr "" +"Наприклад, конференція з відкритим кодом має 750 учасників і дві кімнати на " +"500 осіб. Є розмова про Python, а інша про Ruby. На попередніх конференціях " +"65% відвідувачів воліли слухати доповіді на Python. Якщо припустити, що " +"переваги населення не змінилися, яка ймовірність того, що кімната Python " +"залишиться в межах своїх можливостей?" msgid "" ">>> n = 750 # Sample size\n" @@ -1394,12 +1959,32 @@ msgid "" ">>> mean(binomialvariate(n, p) <= k for i in range(10_000))\n" "0.8406" msgstr "" +">>> n = 750 # Sample size\n" +">>> p = 0.65 # Preference for Python\n" +">>> q = 1.0 - p # Preference for Ruby\n" +">>> k = 500 # Room capacity\n" +"\n" +">>> # Approximation using the cumulative normal distribution\n" +">>> from math import sqrt\n" +">>> round(NormalDist(mu=n*p, sigma=sqrt(n*p*q)).cdf(k + 0.5), 4)\n" +"0.8402\n" +"\n" +">>> # Exact solution using the cumulative binomial distribution\n" +">>> from math import comb, fsum\n" +">>> round(fsum(comb(n, r) * p**r * q**(n-r) for r in range(k+1)), 4)\n" +"0.8402\n" +"\n" +">>> # Approximation using a simulation\n" +">>> from random import seed, binomialvariate\n" +">>> seed(8675309)\n" +">>> mean(binomialvariate(n, p) <= k for i in range(10_000))\n" +"0.8406" msgid "Naive bayesian classifier" -msgstr "" +msgstr "Наивный байесовский классификатор" msgid "Normal distributions commonly arise in machine learning problems." -msgstr "" +msgstr "Нормальний розподіл зазвичай виникає в задачах машинного навчання." msgid "" "Wikipedia has a `nice example of a Naive Bayesian Classifier ». Задача состоит в том, чтобы " +"предсказать пол человека на основе измерений нормально распределенных " +"характеристик, включая рост, вес и размер стопы." msgid "" "We're given a training dataset with measurements for eight people. The " "measurements are assumed to be normally distributed, so we summarize the " "data with :class:`NormalDist`:" msgstr "" +"Нам надається навчальний набір даних із вимірюваннями для восьми осіб. " +"Припускається, що вимірювання мають нормальний розподіл, тому ми " +"підсумовуємо дані за допомогою :class:`NormalDist`:" msgid "" ">>> height_male = NormalDist.from_samples([6, 5.92, 5.58, 5.92])\n" @@ -1422,17 +2015,28 @@ msgid "" ">>> foot_size_male = NormalDist.from_samples([12, 11, 12, 10])\n" ">>> foot_size_female = NormalDist.from_samples([6, 8, 7, 9])" msgstr "" +">>> height_male = NormalDist.from_samples([6, 5.92, 5.58, 5.92])\n" +">>> height_female = NormalDist.from_samples([5, 5.5, 5.42, 5.75])\n" +">>> weight_male = NormalDist.from_samples([180, 190, 170, 165])\n" +">>> weight_female = NormalDist.from_samples([100, 150, 130, 150])\n" +">>> foot_size_male = NormalDist.from_samples([12, 11, 12, 10])\n" +">>> foot_size_female = NormalDist.from_samples([6, 8, 7, 9])" msgid "" "Next, we encounter a new person whose feature measurements are known but " "whose gender is unknown:" msgstr "" +"Далі ми зустрічаємо нову людину, характеристики якої відомі, але стать " +"невідома:" msgid "" ">>> ht = 6.0 # height\n" ">>> wt = 130 # weight\n" ">>> fs = 8 # foot size" msgstr "" +">>> ht = 6.0 # height\n" +">>> wt = 130 # weight\n" +">>> fs = 8 # foot size" msgid "" "Starting with a 50% `prior probability `_ бути чоловіком чи жінкою, ми обчислюємо апостеріор як " +"попередній час добуток ймовірностей для вимірювань ознаки з урахуванням " +"статі:" msgid "" ">>> prior_male = 0.5\n" @@ -1450,12 +2058,22 @@ msgid "" ">>> posterior_female = (prior_female * height_female.pdf(ht) *\n" "... weight_female.pdf(wt) * foot_size_female.pdf(fs))" msgstr "" +">>> prior_male = 0.5\n" +">>> prior_female = 0.5\n" +">>> posterior_male = (prior_male * height_male.pdf(ht) *\n" +"... weight_male.pdf(wt) * foot_size_male.pdf(fs))\n" +"\n" +">>> posterior_female = (prior_female * height_female.pdf(ht) *\n" +"... weight_female.pdf(wt) * foot_size_female.pdf(fs))" msgid "" "The final prediction goes to the largest posterior. This is known as the " "`maximum a posteriori `_ or MAP:" msgstr "" +"Остаточне передбачення йде до найбільшого заднього. Це відомо як `maximum a " +"posteriori `_ " +"або MAP:" msgid "" ">>> 'male' if posterior_male > posterior_female else 'female'\n" diff --git a/library/stdtypes.po b/library/stdtypes.po index 7e5dbbaf5e..8eb1d6ce4d 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 -# Stan Ulbrych, 2025 -# Stefan Ocetkiewicz , 2025 -# Maciej Olko , 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\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: Maciej Olko , 2025\n" +"POT-Creation-Date: 2025-07-25 15:00+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -394,7 +387,7 @@ msgid "" msgstr "" msgid "\\(6)" -msgstr "" +msgstr "\\(6)" msgid ":func:`complex`" msgstr ":func:`complex`" @@ -1124,73 +1117,76 @@ msgid "``x in s``" msgstr "" msgid "``True`` if an item of *s* is equal to *x*, else ``False``" -msgstr "" +msgstr "``True``, якщо елемент *s* дорівнює *x*, інакше ``False``" msgid "``x not in s``" -msgstr "" +msgstr "``x not in s``" msgid "``False`` if an item of *s* is equal to *x*, else ``True``" -msgstr "" +msgstr "``False``, якщо елемент *s* дорівнює *x*, інакше ``True``" msgid "``s + t``" msgstr "``s + t``" msgid "the concatenation of *s* and *t*" -msgstr "" +msgstr "конкатенація *s* і *t*" msgid "(6)(7)" -msgstr "" +msgstr "(6)(7)" msgid "``s * n`` or ``n * s``" -msgstr "" +msgstr "``s * n`` or ``n * s``" msgid "equivalent to adding *s* to itself *n* times" -msgstr "" +msgstr "еквівалентно додаванню *s* до самого себе *n* разів" msgid "(2)(7)" -msgstr "" +msgstr "(2)(7)" msgid "``s[i]``" msgstr "``s[i]``" msgid "*i*\\ th item of *s*, origin 0" -msgstr "" +msgstr "*i*\\ ий елемент з *s*, джерело 0" + +msgid "(3)(9)" +msgstr "(3)(9)" msgid "``s[i:j]``" msgstr "``s[i:j]``" msgid "slice of *s* from *i* to *j*" -msgstr "" +msgstr "фрагмент *s* від *i* до *j*" msgid "(3)(4)" -msgstr "" +msgstr "(3)(4)" msgid "``s[i:j:k]``" msgstr "``s[i:j:k]``" msgid "slice of *s* from *i* to *j* with step *k*" -msgstr "" +msgstr "фрагмент *s* від *i* до *j* з кроком *k*" msgid "(3)(5)" -msgstr "" +msgstr "(3)(5)" msgid "``len(s)``" msgstr "``len(s)``" msgid "length of *s*" -msgstr "" +msgstr "довжина *s*" msgid "``min(s)``" msgstr "``min(s)``" msgid "smallest item of *s*" -msgstr "" +msgstr "найменший елемент *s*" msgid "``max(s)``" msgstr "``max(s)``" msgid "largest item of *s*" -msgstr "" +msgstr "найбільший предмет *s*" msgid "``s.index(x[, i[, j]])``" msgstr "``s.index(x[, i[, j]])``" @@ -1199,15 +1195,17 @@ msgid "" "index of the first occurrence of *x* in *s* (at or after index *i* and " "before index *j*)" msgstr "" +"індекс першого входження *x* у *s* (за або після індексу *i* та перед " +"індексом *j*)" msgid "\\(8)" -msgstr "" +msgstr "\\(8)" msgid "``s.count(x)``" msgstr "``s.count(x)``" msgid "total number of occurrences of *x* in *s*" -msgstr "" +msgstr "загальна кількість входжень *x* у *s*" msgid "" "Sequences of the same type also support comparisons. In particular, tuples " @@ -1216,6 +1214,11 @@ msgid "" "and the two sequences must be of the same type and have the same length. " "(For full details see :ref:`comparisons` in the language reference.)" msgstr "" +"Послідовності одного типу також підтримують порівняння. Зокрема, кортежі та " +"списки порівнюються лексикографічно шляхом порівняння відповідних елементів. " +"Це означає, що для порівняння однаково кожен елемент повинен порівнюватись " +"рівно, а дві послідовності мають бути одного типу та мати однакову довжину. " +"(Для отримання повної інформації див. :ref:`comparisons` у мовній довідці.)" msgid "" "Forward and reversed iterators over mutable sequences access values using an " @@ -1224,6 +1227,11 @@ msgid "" "`IndexError` or a :exc:`StopIteration` is encountered (or when the index " "drops below zero)." msgstr "" +"Прямі та зворотні ітератори над змінними послідовностями отримують доступ до " +"значень за допомогою індексу. Цей індекс буде продовжувати рух вперед (або " +"назад), навіть якщо базова послідовність змінена. Ітератор завершується лише " +"тоді, коли зустрічається :exc:`IndexError` або :exc:`StopIteration` (або " +"коли індекс падає нижче нуля)." msgid "" "While the ``in`` and ``not in`` operations are used only for simple " @@ -1231,6 +1239,10 @@ msgid "" "as :class:`str`, :class:`bytes` and :class:`bytearray`) also use them for " "subsequence testing::" msgstr "" +"У той час як операції ``in`` і ``not in`` використовуються лише для простого " +"тестування локалізації в загальному випадку, деякі спеціалізовані " +"послідовності (такі як :class:`str`, :class:`bytes` і :class:`bytearray`) " +"також використовуйте їх для тестування підпослідовності::" msgid "" ">>> \"gg\" in \"eggs\"\n" @@ -1245,6 +1257,10 @@ msgid "" "not copied; they are referenced multiple times. This often haunts new " "Python programmers; consider::" msgstr "" +"Значення *n*, менші за ``0``, розглядаються як ``0`` (що дає порожню " +"послідовність того самого типу, що й *s*). Зверніть увагу, що елементи в " +"послідовності *s* не копіюються; на них посилаються кілька разів. Це часто " +"переслідує нових програмістів Python; розглянути::" msgid "" ">>> lists = [[]] * 3\n" @@ -1254,6 +1270,12 @@ msgid "" ">>> lists\n" "[[3], [3], [3]]" msgstr "" +">>> lists = [[]] * 3\n" +">>> lists\n" +"[[], [], []]\n" +">>> lists[0].append(3)\n" +">>> lists\n" +"[[3], [3], [3]]" msgid "" "What has happened is that ``[[]]`` is a one-element list containing an empty " @@ -1261,6 +1283,10 @@ msgid "" "empty list. Modifying any of the elements of ``lists`` modifies this single " "list. You can create a list of different lists this way::" msgstr "" +"Сталося те, що ``[[]]`` є одноелементним списком, який містить порожній " +"список, тому всі три елементи ``[[]] * 3`` є посиланнями на цей єдиний " +"порожній список. Зміна будь-якого з елементів ``списків`` змінює цей єдиний " +"список. Ви можете створити список різних списків таким чином:" msgid "" ">>> lists = [[] for i in range(3)]\n" @@ -1270,17 +1296,28 @@ msgid "" ">>> lists\n" "[[3], [5], [7]]" msgstr "" +">>> lists = [[] for i in range(3)]\n" +">>> lists[0].append(3)\n" +">>> lists[1].append(5)\n" +">>> lists[2].append(7)\n" +">>> lists\n" +"[[3], [5], [7]]" msgid "" "Further explanation is available in the FAQ entry :ref:`faq-multidimensional-" "list`." msgstr "" +"Подальші пояснення доступні в розділі поширених запитань :ref:`faq-" +"multidimensional-list`." msgid "" "If *i* or *j* is negative, the index is relative to the end of sequence *s*: " "``len(s) + i`` or ``len(s) + j`` is substituted. But note that ``-0`` is " "still ``0``." msgstr "" +"Якщо *i* або *j* є від’ємними, індекс відноситься до кінця послідовності " +"*s*: замінюється ``len(s) + i`` або ``len(s) + j``. Але зауважте, що ``-0`` " +"все одно ``0``." msgid "" "The slice of *s* from *i* to *j* is defined as the sequence of items with " @@ -1289,6 +1326,11 @@ msgid "" "*j* is omitted or ``None``, use ``len(s)``. If *i* is greater than or equal " "to *j*, the slice is empty." msgstr "" +"Зріз *s* від *i* до *j* визначається як послідовність елементів з індексом " +"*k*, така що ``i <= k < j``. Якщо *i* або *j* більше ніж ``len(s)``, " +"використовуйте ``len(s)``. Якщо *i* пропущено або ``None``, використовуйте " +"``0``. Якщо *j* пропущено або ``None``, використовуйте ``len(s)``. Якщо *i* " +"більше або дорівнює *j*, фрагмент порожній." msgid "" "The slice of *s* from *i* to *j* with step *k* is defined as the sequence of " @@ -1301,6 +1343,15 @@ msgid "" "(which end depends on the sign of *k*). Note, *k* cannot be zero. If *k* is " "``None``, it is treated like ``1``." msgstr "" +"Зріз *s* від *i* до *j* з кроком *k* визначається як послідовність елементів " +"з індексом ``x = i + n*k`` так, що ``0 <= n < (j-i )/k``. Іншими словами, " +"індекси ``i``, ``i+k``, ``i+2*k``, ``i+3*k`` і так далі, зупиняючись, коли " +"*j* є досягнуто (але ніколи не включаючи *j*). Коли *k* додатне, *i* і *j* " +"скорочуються до ``len(s)``, якщо вони більші. Коли *k* від’ємне, *i* та *j* " +"скорочуються до ``len(s) - 1``, якщо вони більші. Якщо *i* або *j* пропущені " +"або ``None``, вони стають \"кінцевими\" значеннями (кінець залежить від " +"знака *k*). Зауважте, *k* не може дорівнювати нулю. Якщо *k* має значення " +"``None``, воно розглядається як ``1``." msgid "" "Concatenating immutable sequences always results in a new object. This " @@ -1308,12 +1359,20 @@ msgid "" "quadratic runtime cost in the total sequence length. To get a linear " "runtime cost, you must switch to one of the alternatives below:" msgstr "" +"Конкатенація незмінних послідовностей завжди призводить до нового об’єкта. " +"Це означає, що створення послідовності шляхом повторної конкатенації матиме " +"квадратичну вартість виконання в загальній довжині послідовності. Щоб " +"отримати лінійну вартість роботи, ви повинні перейти до однієї з наведених " +"нижче альтернатив:" msgid "" "if concatenating :class:`str` objects, you can build a list and use :meth:" "`str.join` at the end or else write to an :class:`io.StringIO` instance and " "retrieve its value when complete" msgstr "" +"якщо конкатенувати об’єкти :class:`str`, ви можете створити список і " +"використовувати :meth:`str.join` наприкінці або записати в екземпляр :class:" +"`io.StringIO` і отримати його значення після завершення" msgid "" "if concatenating :class:`bytes` objects, you can similarly use :meth:`bytes." @@ -1321,18 +1380,27 @@ msgid "" "class:`bytearray` object. :class:`bytearray` objects are mutable and have " "an efficient overallocation mechanism" msgstr "" +"якщо конкатенація об’єктів :class:`bytes`, ви можете так само " +"використовувати :meth:`bytes.join` або :class:`io.BytesIO`, або ви можете " +"виконати конкатенацію на місці з об’єктом :class:`bytearray`. Об’єкти :class:" +"`bytearray` є змінними та мають ефективний механізм загального розподілу" msgid "if concatenating :class:`tuple` objects, extend a :class:`list` instead" msgstr "" +"якщо конкатенація об’єктів :class:`tuple`, замість цього розширте :class:" +"`list`" msgid "for other types, investigate the relevant class documentation" -msgstr "" +msgstr "для інших типів дослідіть відповідну документацію класу" msgid "" "Some sequence types (such as :class:`range`) only support item sequences " "that follow specific patterns, and hence don't support sequence " "concatenation or repetition." msgstr "" +"Деякі типи послідовностей (наприклад, :class:`range`) підтримують лише " +"послідовності елементів, які відповідають певним шаблонам, і, отже, не " +"підтримують конкатенацію або повторення послідовності." msgid "" "``index`` raises :exc:`ValueError` when *x* is not found in *s*. Not all " @@ -1342,35 +1410,58 @@ msgid "" "without copying any data and with the returned index being relative to the " "start of the sequence rather than the start of the slice." msgstr "" +"``index`` викликає :exc:`ValueError`, коли *x* не знайдено в *s*. Не всі " +"реалізації підтримують передачу додаткових аргументів *i* і *j*. Ці " +"аргументи дозволяють здійснювати ефективний пошук підрозділів послідовності. " +"Передача додаткових аргументів приблизно еквівалентна використанню ``s[i:j]." +"index(x)``, тільки без копіювання будь-яких даних і з повернутим індексом " +"відносно початку послідовності, а не початку фрагмента. ." -msgid "Immutable Sequence Types" +msgid "An :exc:`IndexError` is raised if *i* is outside the sequence range." msgstr "" +"Uma :exc:`IndexError` é levantada se *i* estiver fora do intervalo da " +"sequência." + +msgid "Immutable Sequence Types" +msgstr "Незмінні типи послідовностей" msgid "" "The only operation that immutable sequence types generally implement that is " "not also implemented by mutable sequence types is support for the :func:" "`hash` built-in." msgstr "" +"Єдина операція, яку зазвичай реалізують незмінні типи послідовностей, яка " +"також не реалізована змінними типами послідовностей, це підтримка " +"вбудованого :func:`hash`." msgid "" "This support allows immutable sequences, such as :class:`tuple` instances, " "to be used as :class:`dict` keys and stored in :class:`set` and :class:" "`frozenset` instances." msgstr "" +"Ця підтримка дозволяє використовувати незмінні послідовності, такі як " +"екземпляри :class:`tuple`, як ключі :class:`dict` і зберігати їх у " +"екземплярах :class:`set` і :class:`frozenset`." msgid "" "Attempting to hash an immutable sequence that contains unhashable values " "will result in :exc:`TypeError`." msgstr "" +"Спроба хешувати незмінну послідовність, яка містить нехешовані значення, " +"призведе до :exc:`TypeError`." msgid "Mutable Sequence Types" -msgstr "" +msgstr "Змінні типи послідовностей" msgid "" "The operations in the following table are defined on mutable sequence types. " "The :class:`collections.abc.MutableSequence` ABC is provided to make it " "easier to correctly implement these operations on custom sequence types." msgstr "" +"Операції в наведеній нижче таблиці визначено для змінних типів " +"послідовностей. :class:`collections.abc.MutableSequence` ABC надається, щоб " +"спростити правильну реалізацію цих операцій у настроюваних типах " +"послідовностей." msgid "" "In the table *s* is an instance of a mutable sequence type, *t* is any " @@ -1378,37 +1469,49 @@ msgid "" "restrictions imposed by *s* (for example, :class:`bytearray` only accepts " "integers that meet the value restriction ``0 <= x <= 255``)." msgstr "" +"У таблиці *s* є екземпляром змінного типу послідовності, *t* є будь-яким " +"ітерованим об’єктом, а *x* є довільним об’єктом, який відповідає будь-яким " +"обмеженням типу та значення, накладеним *s* (наприклад, :class:`bytearray` " +"приймає лише цілі числа, які відповідають обмеженню значення ``0 <= x <= " +"255``)." msgid "``s[i] = x``" msgstr "``s[i] = x``" msgid "item *i* of *s* is replaced by *x*" -msgstr "" +msgstr "пункт *i* з *s* замінено на *x*" + +msgid "``del s[i]``" +msgstr "``del s[i]``" + +msgid "removes item *i* of *s*" +msgstr "remove o item *i* de *s*" msgid "``s[i:j] = t``" -msgstr "" +msgstr "``s[i:j] = t``" msgid "" "slice of *s* from *i* to *j* is replaced by the contents of the iterable *t*" -msgstr "" +msgstr "фрагмент *s* від *i* до *j* замінюється вмістом ітерованого *t*" 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 "" +msgstr "елементи ``s[i:j:k]`` замінюються на елементи *t*" msgid "``del s[i:j:k]``" msgstr "``del s[i:j:k]``" msgid "removes the elements of ``s[i:j:k]`` from the list" -msgstr "" +msgstr "видаляє елементи ``s[i:j:k]`` зі списку" msgid "``s.append(x)``" msgstr "``s.append(x)``" @@ -1416,32 +1519,34 @@ msgstr "``s.append(x)``" msgid "" "appends *x* to the end of the sequence (same as ``s[len(s):len(s)] = [x]``)" msgstr "" +"додає *x* до кінця послідовності (те саме, що ``s[len(s):len(s)] = [x]``)" msgid "``s.clear()``" msgstr "``s.clear()``" msgid "removes all items from *s* (same as ``del s[:]``)" -msgstr "" +msgstr "видаляє всі елементи з *s* (те саме, що ``del s[:]``)" msgid "``s.copy()``" msgstr "``s.copy()``" msgid "creates a shallow copy of *s* (same as ``s[:]``)" -msgstr "" +msgstr "створює поверхневу копію *s* (те саме, що ``s[:]``)" msgid "``s.extend(t)`` or ``s += t``" -msgstr "" +msgstr "``s.extend(t)`` or ``s += t``" msgid "" "extends *s* with the contents of *t* (for the most part the same as " "``s[len(s):len(s)] = t``)" msgstr "" +"розширює *s* вмістом *t* (здебільшого те саме, що ``s[len(s):len(s)] = t``)" msgid "``s *= n``" msgstr "``s *= n``" msgid "updates *s* with its contents repeated *n* times" -msgstr "" +msgstr "оновлює *s* з повторенням його вмісту *n* разів" msgid "``s.insert(i, x)``" msgstr "``s.insert(i, x)``" @@ -1449,43 +1554,51 @@ msgstr "``s.insert(i, x)``" msgid "" "inserts *x* into *s* at the index given by *i* (same as ``s[i:i] = [x]``)" msgstr "" +"вставляє *x* в *s* за індексом, заданим *i* (те саме, що ``s[i:i] = [x]``)" msgid "``s.pop()`` or ``s.pop(i)``" -msgstr "" +msgstr "``s.pop()`` або ``s.pop(i)``" msgid "retrieves the item at *i* and also removes it from *s*" -msgstr "" +msgstr "отримує елемент у *i*, а також видаляє його з *s*" msgid "``s.remove(x)``" msgstr "``s.remove(x)``" msgid "removes the first item from *s* where ``s[i]`` is equal to *x*" -msgstr "" +msgstr "удаляет первый элемент из *s*, где ``s[i]`` равно *x*" msgid "``s.reverse()``" msgstr "``s.reverse()``" msgid "reverses the items of *s* in place" -msgstr "" +msgstr "перевертає елементи *s* на місце" msgid "" "If *k* is not equal to ``1``, *t* must have the same length as the slice it " "is replacing." msgstr "" +"Если *k* не равно ``1`` , *t* должно иметь ту же длину, что и заменяемый " +"фрагмент." msgid "" "The optional argument *i* defaults to ``-1``, so that by default the last " "item is removed and returned." msgstr "" +"Необов’язковий аргумент *i* за умовчанням має значення ``-1``, тому за " +"замовчуванням останній елемент видаляється та повертається." msgid ":meth:`remove` raises :exc:`ValueError` when *x* is not found in *s*." -msgstr "" +msgstr ":meth:`remove` викликає :exc:`ValueError`, коли *x* не знайдено в *s*." 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." msgstr "" +"Метод :meth:`reverse` змінює поточну послідовність для економії простору під " +"час реверсування великої послідовності. Щоб нагадати користувачам, що він " +"працює за побічним ефектом, він не повертає зворотну послідовність." msgid "" ":meth:`clear` and :meth:`!copy` are included for consistency with the " @@ -1494,9 +1607,14 @@ msgid "" "`collections.abc.MutableSequence` ABC, but most concrete mutable sequence " "classes provide it." msgstr "" +":meth:`clear` і :meth:`!copy` включено для узгодженості з інтерфейсами " +"змінних контейнерів, які не підтримують операції зрізання (таких як :class:" +"`dict` і :class:`set`). :meth:`!copy` не є частиною :class:`collections.abc." +"MutableSequence` ABC, але більшість конкретних змінних класів послідовності " +"надають його." msgid ":meth:`clear` and :meth:`!copy` methods." -msgstr "" +msgstr "Методи :meth:`clear` і :meth:`!copy`." msgid "" "The value *n* is an integer, or an object implementing :meth:`~object." @@ -1504,6 +1622,10 @@ msgid "" "the sequence are not copied; they are referenced multiple times, as " "explained for ``s * n`` under :ref:`typesseq-common`." msgstr "" +"Значення *n* є цілим числом або об’єктом, що реалізує :meth:`~object." +"__index__`. Нульові та негативні значення *n* очищають послідовність. " +"Елементи послідовності не копіюються; на них посилаються кілька разів, як " +"пояснюється для ``s * n`` у :ref:`typesseq-common`." msgid "Lists" msgstr "Listy" @@ -1513,22 +1635,28 @@ msgid "" "homogeneous items (where the precise degree of similarity will vary by " "application)." msgstr "" +"Списки — це змінювані послідовності, які зазвичай використовуються для " +"зберігання колекцій однорідних елементів (де точний ступінь подібності " +"залежить від програми)." msgid "Lists may be constructed in several ways:" -msgstr "" +msgstr "Списки можна створювати кількома способами:" msgid "Using a pair of square brackets to denote the empty list: ``[]``" msgstr "" +"Використання пари квадратних дужок для позначення порожнього списку: ``[]``" msgid "" "Using square brackets, separating items with commas: ``[a]``, ``[a, b, c]``" msgstr "" +"Використовуючи квадратні дужки, розділяючи елементи комами: ``[a]``, ``[a, " +"b, c]``" msgid "Using a list comprehension: ``[x for x in iterable]``" -msgstr "" +msgstr "Використання розуміння списку: ``[x for x in iterable]``" msgid "Using the type constructor: ``list()`` or ``list(iterable)``" -msgstr "" +msgstr "Використання конструктора типу: ``list()`` або ``list(iterable)``" msgid "" "The constructor builds a list whose items are the same and in the same order " @@ -1539,17 +1667,29 @@ msgid "" "returns ``[1, 2, 3]``. If no argument is given, the constructor creates a " "new empty list, ``[]``." msgstr "" +"Конструктор створює список, елементи якого є такими ж і в тому ж порядку, що " +"й елементи *iterable*. *iterable* може бути або послідовністю, контейнером, " +"який підтримує ітерацію, або об’єктом ітератора. Якщо *iterable* вже є " +"списком, копія створюється та повертається, подібно до ``iterable[:]``. " +"Наприклад, ``list('abc')`` повертає ``['a', 'b', 'c']``, а ``list( (1, 2, " +"3) )`` повертає ``[ 1, 2, 3]``. Якщо аргумент не задано, конструктор створює " +"новий порожній список, ``[]``." msgid "" "Many other operations also produce lists, including the :func:`sorted` built-" "in." msgstr "" +"Багато інших операцій також створюють списки, включаючи вбудовану :func:" +"`sorted`." msgid "" "Lists implement all of the :ref:`common ` and :ref:`mutable " "` sequence operations. Lists also provide the following " "additional method:" msgstr "" +"Списки реалізують усі :ref:`common ` і :ref:`mutable " +"` операції послідовності. Списки також надають наступний " +"додатковий метод:" msgid "" "This method sorts the list in place, using only ``<`` comparisons between " @@ -1557,11 +1697,17 @@ msgid "" "the entire sort operation will fail (and the list will likely be left in a " "partially modified state)." msgstr "" +"Цей метод сортує список на місці, використовуючи лише ``<`` порівняння між " +"елементами. Винятки не пригнічуються — якщо будь-яка операція порівняння " +"завершиться невдало, вся операція сортування буде невдалою (і список, " +"ймовірно, залишиться в частково зміненому стані)." msgid "" ":meth:`sort` accepts two arguments that can only be passed by keyword (:ref:" "`keyword-only arguments `):" msgstr "" +":meth:`sort` приймає два аргументи, які можуть бути передані лише ключовим " +"словом (:ref:`аргументи лише для ключових слів `):" msgid "" "*key* specifies a function of one argument that is used to extract a " @@ -1570,11 +1716,19 @@ msgid "" "for the entire sorting process. The default value of ``None`` means that " "list items are sorted directly without calculating a separate key value." msgstr "" +"*key* визначає функцію одного аргументу, яка використовується для отримання " +"ключа порівняння з кожного елемента списку (наприклад, ``key=str.lower``). " +"Ключ, що відповідає кожному елементу в списку, обчислюється один раз, а " +"потім використовується для всього процесу сортування. Значення за " +"замовчуванням \"Немає\" означає, що елементи списку сортуються безпосередньо " +"без обчислення окремого значення ключа." msgid "" "The :func:`functools.cmp_to_key` utility is available to convert a 2.x style " "*cmp* function to a *key* function." msgstr "" +"Утиліта :func:`functools.cmp_to_key` доступна для перетворення функції *cmp* " +"у стилі 2.x на функцію *key*." msgid "" "*reverse* is a boolean value. If set to ``True``, then the list elements " @@ -1589,6 +1743,11 @@ msgid "" "not return the sorted sequence (use :func:`sorted` to explicitly request a " "new sorted list instance)." msgstr "" +"Цей метод змінює наявну послідовність для економії простору під час " +"сортування великої послідовності. Щоб нагадати користувачам, що він працює " +"за побічним ефектом, він не повертає відсортовану послідовність " +"(використовуйте :func:`sorted`, щоб явно запитати новий екземпляр " +"відсортованого списку)." msgid "" "The :meth:`sort` method is guaranteed to be stable. A sort is stable if it " @@ -1596,6 +1755,10 @@ msgid "" "--- this is helpful for sorting in multiple passes (for example, sort by " "department, then by salary grade)." msgstr "" +"Метод :meth:`sort` гарантовано буде стабільним. Сортування є стабільним, " +"якщо воно гарантує відсутність зміни відносного порядку порівнюваних рівних " +"елементів --- це корисно для сортування за кілька проходів (наприклад, " +"сортування за відділом, а потім за ступенем зарплати)." msgid "" "For sorting examples and a brief sorting tutorial, see :ref:`sortinghowto`." @@ -1609,9 +1772,13 @@ msgid "" "list appear empty for the duration, and raises :exc:`ValueError` if it can " "detect that the list has been mutated during a sort." msgstr "" +"Поки список сортується, ефект від спроби змінити або навіть перевірити " +"список не визначено. Реалізація Python на C робить список порожнім протягом " +"певного часу та викликає :exc:`ValueError`, якщо він може виявити, що список " +"було змінено під час сортування." msgid "Tuples" -msgstr "" +msgstr "*Tuples*" msgid "" "Tuples are immutable sequences, typically used to store collections of " @@ -1620,6 +1787,12 @@ msgid "" "homogeneous data is needed (such as allowing storage in a :class:`set` or :" "class:`dict` instance)." msgstr "" +"Кортежі — це незмінні послідовності, які зазвичай використовуються для " +"зберігання колекцій різнорідних даних (таких як 2-кортежі, створені за " +"допомогою вбудованої функції :func:`enumerate`). Кортежі також " +"використовуються у випадках, коли потрібна незмінна послідовність однорідних " +"даних (наприклад, дозволити зберігання в екземплярі :class:`set` або :class:" +"`dict`)." msgid "Tuples may be constructed in a number of ways:" msgstr "Krotki mogą być konstruowane na kilka sposobów:" @@ -1633,7 +1806,7 @@ msgstr "" "``(a,)``" msgid "Separating items with commas: ``a, b, c`` or ``(a, b, c)``" -msgstr "" +msgstr "Розділення елементів комами: ``a, b, c`` або ``(a, b, c)``" msgid "Using the :func:`tuple` built-in: ``tuple()`` or ``tuple(iterable)``" msgstr "" @@ -1649,6 +1822,12 @@ msgid "" "3)``. If no argument is given, the constructor creates a new empty tuple, " "``()``." msgstr "" +"Конструктор будує кортеж, елементи якого є такими ж і в тому ж порядку, що й " +"елементи *iterable*. *iterable* може бути або послідовністю, контейнером, " +"який підтримує ітерацію, або об’єктом ітератора. Якщо *iterable* вже є " +"кортежем, він повертається без змін. Наприклад, ``tuple('abc')`` повертає " +"``('a', 'b', 'c')``, ``tuple( [1, 2, 3] )`` повертає ``( 1, 2, 3)``. Якщо " +"аргумент не задано, конструктор створює новий порожній кортеж ``()``." msgid "" "Note that it is actually the comma which makes a tuple, not the parentheses. " @@ -1657,25 +1836,38 @@ msgid "" "function call with three arguments, while ``f((a, b, c))`` is a function " "call with a 3-tuple as the sole argument." msgstr "" +"Зауважте, що насправді кома створює кортеж, а не круглі дужки. Дужки " +"необов’язкові, за винятком порожнього кортежу або коли вони потрібні для " +"уникнення синтаксичної неоднозначності. Наприклад, \"f(a, b, c)\" — це " +"виклик функції з трьома аргументами, тоді як \"f((a, b, c))\" — це виклик " +"функції з 3-кортежем як єдиним аргумент." msgid "" "Tuples implement all of the :ref:`common ` sequence " "operations." msgstr "" +"Кортежі реалізують усі :ref:`загальні ` операції " +"послідовності." msgid "" "For heterogeneous collections of data where access by name is clearer than " "access by index, :func:`collections.namedtuple` may be a more appropriate " "choice than a simple tuple object." msgstr "" +"Для різнорідних колекцій даних, де доступ за іменем є зрозумілішим, ніж " +"доступ за індексом, :func:`collections.namedtuple` може бути більш " +"відповідним вибором, ніж простий об’єкт кортежу." msgid "Ranges" -msgstr "" +msgstr "діапазони" msgid "" "The :class:`range` type represents an immutable sequence of numbers and is " "commonly used for looping a specific number of times in :keyword:`for` loops." msgstr "" +"Тип :class:`range` представляє незмінну послідовність чисел і зазвичай " +"використовується для повторення певної кількості разів у циклах :keyword:" +"`for`." msgid "" "The arguments to the range constructor must be integers (either built-in :" @@ -1684,32 +1876,47 @@ msgid "" "If the *start* argument is omitted, it defaults to ``0``. If *step* is " "zero, :exc:`ValueError` is raised." msgstr "" +"Аргументи конструктора діапазону мають бути цілими числами (або вбудованим :" +"class:`int`, або будь-яким об’єктом, який реалізує спеціальний метод :meth:" +"`~object.__index__`). Якщо аргумент *step* опущено, за умовчанням він " +"дорівнює ``1``. Якщо аргумент *початок* опущено, за умовчанням він дорівнює " +"``0``. Якщо *крок* дорівнює нулю, виникає :exc:`ValueError`." msgid "" "For a positive *step*, the contents of a range ``r`` are determined by the " "formula ``r[i] = start + step*i`` where ``i >= 0`` and ``r[i] < stop``." msgstr "" +"Для позитивного *кроку* вміст діапазону ``r`` визначається за формулою " +"``r[i] = start + step*i``, де ``i >= 0`` і ``r[ i] < stop``." msgid "" "For a negative *step*, the contents of the range are still determined by the " "formula ``r[i] = start + step*i``, but the constraints are ``i >= 0`` and " "``r[i] > stop``." msgstr "" +"Для від’ємного *кроку* вміст діапазону все ще визначається формулою ``r[i] = " +"start + step*i``, але обмеження ``i >= 0`` і ``r[ i] > stop``." msgid "" "A range object will be empty if ``r[0]`` does not meet the value constraint. " "Ranges do support negative indices, but these are interpreted as indexing " "from the end of the sequence determined by the positive indices." msgstr "" +"Об’єкт діапазону буде порожнім, якщо ``r[0]`` не відповідає обмеженню " +"значення. Діапазони підтримують негативні індекси, але вони інтерпретуються " +"як індексування з кінця послідовності, визначеної позитивними індексами." msgid "" "Ranges containing absolute values larger than :data:`sys.maxsize` are " "permitted but some features (such as :func:`len`) may raise :exc:" "`OverflowError`." msgstr "" +"Діапазони, що містять абсолютні значення, більші за :data:`sys.maxsize`, " +"дозволені, але деякі функції (такі як :func:`len`) можуть викликати :exc:" +"`OverflowError`." msgid "Range examples::" -msgstr "" +msgstr "Приклади асортименту::" msgid "" ">>> list(range(10))\n" @@ -1727,6 +1934,20 @@ msgid "" ">>> list(range(1, 0))\n" "[]" msgstr "" +">>> list(range(10))\n" +"[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\n" +">>> list(range(1, 11))\n" +"[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n" +">>> list(range(0, 30, 5))\n" +"[0, 5, 10, 15, 20, 25]\n" +">>> list(range(0, 10, 3))\n" +"[0, 3, 6, 9]\n" +">>> list(range(0, -10, -1))\n" +"[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]\n" +">>> list(range(0))\n" +"[]\n" +">>> list(range(1, 0))\n" +"[]" msgid "" "Ranges implement all of the :ref:`common ` sequence " @@ -1734,19 +1955,23 @@ msgid "" "objects can only represent sequences that follow a strict pattern and " "repetition and concatenation will usually violate that pattern)." msgstr "" +"Діапазони реалізують усі :ref:`загальні ` операції " +"послідовності, окрім конкатенації та повторення (через те, що об’єкти " +"діапазону можуть представляти лише послідовності, які дотримуються строгого " +"шаблону, а повторення та конкатенація зазвичай порушують цей шаблон)." msgid "" "The value of the *start* parameter (or ``0`` if the parameter was not " "supplied)" -msgstr "" +msgstr "Значення параметра *start* (або ``0``, якщо параметр не було надано)" msgid "The value of the *stop* parameter" -msgstr "" +msgstr "Значення параметра *stop*" msgid "" "The value of the *step* parameter (or ``1`` if the parameter was not " "supplied)" -msgstr "" +msgstr "Значення параметра *step* (або ``1``, якщо параметр не було надано)" msgid "" "The advantage of the :class:`range` type over a regular :class:`list` or :" @@ -1755,12 +1980,20 @@ msgid "" "it only stores the ``start``, ``stop`` and ``step`` values, calculating " "individual items and subranges as needed)." msgstr "" +"Перевага типу :class:`range` перед звичайним :class:`list` або :class:" +"`tuple` полягає в тому, що об’єкт :class:`range` завжди займатиме однаковий " +"(невеликий) обсяг пам’яті, ні не має значення розмір діапазону, який він " +"представляє (оскільки він зберігає лише значення ``start``, ``stop`` і " +"``step``, обчислюючи окремі елементи та піддіапазони за потреби)." msgid "" "Range objects implement the :class:`collections.abc.Sequence` ABC, and " "provide features such as containment tests, element index lookup, slicing " "and support for negative indices (see :ref:`typesseq`):" msgstr "" +"Об’єкти діапазону реалізують :class:`collections.abc.Sequence` ABC і надають " +"такі функції, як тести на обмеження, пошук індексу елемента, нарізка та " +"підтримка негативних індексів (див. :ref:`typesseq`):" msgid "" "Testing range objects for equality with ``==`` and ``!=`` compares them as " @@ -1770,93 +2003,138 @@ msgid "" "and :attr:`~range.step` attributes, for example ``range(0) == range(2, 1, " "3)`` or ``range(0, 3, 2) == range(0, 4, 2)``.)" msgstr "" +"Перевірка об’єктів діапазону на рівність за допомогою ``==`` і ``!=`` " +"порівнює їх як послідовності. Тобто два об’єкти діапазону вважаються " +"рівними, якщо вони представляють однакову послідовність значень. (Зверніть " +"увагу, що два об’єкти діапазону, які порівнюються, можуть мати різні " +"атрибути :attr:`~range.start`, :attr:`~range.stop` і :attr:`~range.step`, " +"наприклад ``range(0 ) == діапазон(2, 1, 3)`` або ``діапазон(0, 3, 2) == " +"діапазон(0, 4, 2)``.)" msgid "" "Implement the Sequence ABC. Support slicing and negative indices. Test :" "class:`int` objects for membership in constant time instead of iterating " "through all items." msgstr "" +"Реалізуйте послідовність ABC. Підтримка нарізки та негативних індексів. " +"Перевіряйте об’єкти :class:`int` на приналежність у постійному часі замість " +"повторення всіх елементів." msgid "" "Define '==' and '!=' to compare range objects based on the sequence of " "values they define (instead of comparing based on object identity)." msgstr "" +"Визначте \"==\" і \"!=\", щоб порівнювати об’єкти діапазону на основі " +"послідовності значень, які вони визначають (замість порівняння на основі " +"ідентичності об’єкта)." msgid "" "Added the :attr:`~range.start`, :attr:`~range.stop` and :attr:`~range.step` " "attributes." msgstr "" +"Добавлены сайты :attr:`~range.start`, :attr:`~range.stop` и :attr:`~range." +"step` атрибут ." msgid "" "The `linspace recipe `_ shows how to implement a lazy version of range " "suitable for floating-point applications." msgstr "" +"Рецепт линспейса `_ показывает, как реализовать ленивую версию диапазона, " +"подходящую для приложений с плавающей запятой." msgid "Text Sequence Type --- :class:`str`" -msgstr "" +msgstr "Тип текстової послідовності --- :class:`str`" msgid "" "Textual data in Python is handled with :class:`str` objects, or :dfn:" "`strings`. Strings are immutable :ref:`sequences ` of Unicode code " "points. String literals are written in a variety of ways:" msgstr "" +"Текстові дані в Python обробляються за допомогою об’єктів :class:`str` або :" +"dfn:`strings`. Рядки є незмінними :ref:`послідовностями ` кодових " +"точок Unicode. Рядкові літерали записуються різними способами:" msgid "Single quotes: ``'allows embedded \"double\" quotes'``" -msgstr "" +msgstr "Одинарні лапки: ``'дозволяє вбудовані \"подвійні\" лапки'``" msgid "Double quotes: ``\"allows embedded 'single' quotes\"``" -msgstr "" +msgstr "Подвійні лапки: ``\"дозволяє вбудовані 'одинарні' лапки\"``" msgid "" "Triple quoted: ``'''Three single quotes'''``, ``\"\"\"Three double " "quotes\"\"\"``" msgstr "" +"Потрійні лапки: ``''Три одинарні лапки''''``, ``\"\"\"Три подвійні " +"лапки\"\"\"``" msgid "" "Triple quoted strings may span multiple lines - all associated whitespace " "will be included in the string literal." msgstr "" +"Рядки з потрійними лапками можуть охоплювати кілька рядків - усі пов’язані " +"пробіли будуть включені в рядковий літерал." msgid "" "String literals that are part of a single expression and have only " "whitespace between them will be implicitly converted to a single string " "literal. That is, ``(\"spam \" \"eggs\") == \"spam eggs\"``." msgstr "" +"Рядкові літерали, які є частиною одного виразу і мають лише пробіли між " +"собою, будуть неявно перетворені в один рядковий літерал. Тобто ``(\"спам \" " +"\"яйця\") == \"спам яйця\"``." msgid "" "See :ref:`strings` for more about the various forms of string literal, " "including supported :ref:`escape sequences `, and the " "``r`` (\"raw\") prefix that disables most escape sequence processing." msgstr "" +"Видеть :ref:`строки` подробнее о различных формах строковых литералов, " +"включая поддерживаемые escape-последовательности.\n" +"`, и ``р`` («raw») префикс, который отключает большую часть обработки escape-" +"последовательностей." msgid "" "Strings may also be created from other objects using the :class:`str` " "constructor." msgstr "" +"Рядки також можна створювати з інших об’єктів за допомогою конструктора :" +"class:`str`." msgid "" "Since there is no separate \"character\" type, indexing a string produces " "strings of length 1. That is, for a non-empty string *s*, ``s[0] == s[0:1]``." msgstr "" +"Оскільки окремого типу \"символів\" немає, індексування рядка створює рядки " +"довжиною 1. Тобто для непорожнього рядка *s* ``s[0] == s[0:1]``." msgid "" "There is also no mutable string type, but :meth:`str.join` or :class:`io." "StringIO` can be used to efficiently construct strings from multiple " "fragments." msgstr "" +"Також немає змінного типу рядка, але :meth:`str.join` або :class:`io." +"StringIO` можна використовувати для ефективного створення рядків із кількох " +"фрагментів." msgid "" "For backwards compatibility with the Python 2 series, the ``u`` prefix is " "once again permitted on string literals. It has no effect on the meaning of " "string literals and cannot be combined with the ``r`` prefix." msgstr "" +"Для зворотної сумісності з серією Python 2 префікс ``u`` знову дозволений у " +"рядкових літералах. Він не впливає на значення рядкових літералів і не може " +"поєднуватися з префіксом ``r``." msgid "" "Return a :ref:`string ` version of *object*. If *object* is not " "provided, returns the empty string. Otherwise, the behavior of ``str()`` " "depends on whether *encoding* or *errors* is given, as follows." msgstr "" +"Повертає :ref:`string ` версію *об’єкта*. Якщо *object* не надано, " +"повертає порожній рядок. В іншому випадку поведінка ``str()`` залежить від " +"того, чи вказано *кодування* чи *помилки*, як показано нижче." msgid "" "If neither *encoding* nor *errors* is given, ``str(object)`` returns :meth:" @@ -1866,6 +2144,13 @@ msgid "" "__str__` method, then :func:`str` falls back to returning :func:" "`repr(object) `." msgstr "" +"Если не указано ни *кодирование*, ни *ошибки*, ``str(объект)`` возвращает :" +"meth:`type(объект).__str__(объект) ` , который является " +"«неформальным» или удобным для печати строковым представлением *object*. Для " +"строковых объектов это сама строка. Если *объект* не имеет :meth:`~object." +"__str__` метод, тогда :func:`str` возвращается к возврату :func:" +"`repr(object)\n" +"`." msgid "" "If at least one of *encoding* or *errors* is given, *object* should be a :" @@ -1877,6 +2162,14 @@ msgid "" "decode`. See :ref:`binaryseq` and :ref:`bufferobjects` for information on " "buffer objects." msgstr "" +"Якщо вказано принаймні одну з *кодування* або *помилок*, *об’єкт* має бути :" +"term:`bytes-like object` (наприклад, :class:`bytes` або :class:`bytearray`). " +"У цьому випадку, якщо *object* є об’єктом :class:`bytes` (або :class:" +"`bytearray`), тоді ``str(bytes, encoding, errors)`` еквівалентно :meth:" +"`bytes.decode (кодування, помилки) `. В іншому випадку об’єкт " +"bytes, що лежить в основі об’єкта буфера, отримується перед викликом :meth:" +"`bytes.decode`. Перегляньте :ref:`binaryseq` і :ref:`bufferobjects` для " +"отримання інформації про буферні об’єкти." msgid "" "Passing a :class:`bytes` object to :func:`str` without the *encoding* or " @@ -1884,6 +2177,9 @@ msgid "" "string representation (see also the :option:`-b` command-line option to " "Python). For example::" msgstr "" +"Передача об’єкта :class:`bytes` до :func:`str` без аргументів *encoding* або " +"*errors* підпадає під перший випадок повернення неформального представлення " +"рядка (див. також команду :option:`-b`- рядок для Python). Наприклад::" msgid "" ">>> str(b'Zoot!')\n" @@ -1898,6 +2194,10 @@ msgid "" "strings, see the :ref:`f-strings` and :ref:`formatstrings` sections. In " "addition, see the :ref:`stringservices` section." msgstr "" +"Додаткову інформацію про клас ``str`` і його методи див. у розділі :ref:" +"`textseq` і :ref:`string-methods` нижче. Щоб вивести форматовані рядки, " +"перегляньте розділи :ref:`f-strings` і :ref:`formatstrings`. Крім того, " +"перегляньте розділ :ref:`stringservices`." msgid "String Methods" msgstr "Metody ciągów" @@ -1906,6 +2206,8 @@ msgid "" "Strings implement all of the :ref:`common ` sequence " "operations, along with the additional methods described below." msgstr "" +"Рядки реалізують усі :ref:`загальні ` операції " +"послідовності разом із додатковими методами, описаними нижче." msgid "" "Strings also support two styles of string formatting, one providing a large " @@ -1915,28 +2217,42 @@ msgid "" "slightly harder to use correctly, but is often faster for the cases it can " "handle (:ref:`old-string-formatting`)." msgstr "" +"Рядки також підтримують два стилі форматування рядків: один забезпечує " +"велику гнучкість і налаштування (див. :meth:`str.format`, :ref:" +"`formatstrings` і :ref:`string-formatting`), а інший базується на " +"Форматування стилю C ``printf``, яке обробляє вужчий діапазон типів і трохи " +"важче правильно використовувати, але часто швидше для випадків, які воно " +"може обробляти (:ref:`old-string-formatting`)." msgid "" "The :ref:`textservices` section of the standard library covers a number of " "other modules that provide various text related utilities (including regular " "expression support in the :mod:`re` module)." msgstr "" +"Розділ :ref:`textservices` стандартної бібліотеки охоплює низку інших " +"модулів, які надають різноманітні утиліти, пов’язані з текстом (зокрема " +"підтримку регулярних виразів у модулі :mod:`re`)." msgid "" "Return a copy of the string with its first character capitalized and the " "rest lowercased." -msgstr "" +msgstr "Повертає копію рядка з великим першим символом, а решта малими." msgid "" "The first character is now put into titlecase rather than uppercase. This " "means that characters like digraphs will only have their first letter " "capitalized, instead of the full character." msgstr "" +"Перший символ тепер вводиться в заголовок, а не у верхній регістр. Це " +"означає, що такі символи, як диграфи, матимуть велику першу літеру, а не " +"повний символ." msgid "" "Return a casefolded copy of the string. Casefolded strings may be used for " "caseless matching." msgstr "" +"Повертає згорнуту копію рядка. Для зіставлення без регістру можна " +"використовувати рядки з регістром." msgid "" "Casefolding is similar to lowercasing but more aggressive because it is " @@ -1945,6 +2261,11 @@ msgid "" "already lowercase, :meth:`lower` would do nothing to ``'ß'``; :meth:" "`casefold` converts it to ``\"ss\"``." msgstr "" +"Згортання регістру подібне до нижнього регістру, але більш агресивне, " +"оскільки воно призначене для видалення всіх відмінностей регістру в рядку. " +"Наприклад, німецька мала літера ``'ß'`` еквівалентна ``\"ss\"``. Оскільки це " +"вже малий регістр, :meth:`lower` нічого не зробить для ``'ß'``; :meth:" +"`casefold` перетворює його на ``\"ss\"``." msgid "" "The casefolding algorithm is `described in section 3.13 'Default Case " @@ -1955,27 +2276,76 @@ 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 "" +"Retorna um texto centralizado em uma string de comprimento *width*. " +"Preenchimento é feito usando o parâmetro *fillchar* especificado (padrão é o " +"caractere de espaço ASCII). A string original é retornada se *width* é menor " +"ou igual que ``len(s)``. Por exemplo::" + +msgid "" +">>> 'Python'.center(10)\n" +"' Python '\n" +">>> 'Python'.center(10, '-')\n" +"'--Python--'\n" +">>> 'Python'.center(4)\n" +"'Python'" msgstr "" +">>> 'Python'.center(10)\n" +"' Python '\n" +">>> 'Python'.center(10, '-')\n" +"'--Python--'\n" +">>> 'Python'.center(4)\n" +"'Python'" msgid "" "Return the number of non-overlapping occurrences of substring *sub* in the " "range [*start*, *end*]. Optional arguments *start* and *end* are " "interpreted as in slice notation." msgstr "" +"Повертає кількість неперекриваючих входжень підрядка *sub* у діапазоні " +"[*початок*, *кінець*]. Необов’язкові аргументи *початок* і *кінець* " +"інтерпретуються як у нотації фрагментів." 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 "" +"Se *sub* estiver vazio, retorna o número de strings vazias entre os " +"caracteres, que é o comprimento da string mais um. Por exemplo::" -msgid "Return the string encoded to :class:`bytes`." +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 "" +">>> '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" + +msgid "Return the string encoded to :class:`bytes`." +msgstr "Вернуть строку, закодированную в :class:`байты` ." msgid "" "*encoding* defaults to ``'utf-8'``; see :ref:`standard-encodings` for " "possible values." msgstr "" +"*кодировка* по умолчанию ``'utf-8'`` ; видеть :ref:`стандартные кодировки` " +"для возможных значений." msgid "" "*errors* controls how encoding errors are handled. If ``'strict'`` (the " @@ -1984,27 +2354,82 @@ msgid "" "``'backslashreplace'`` and any other name registered via :func:`codecs." "register_error`. See :ref:`error-handlers` for details." msgstr "" +"*errors* управляет обработкой ошибок кодирования. Если ``'строгий'`` (по " +"умолчанию), а :exc:`UnicodeError` возникает исключение. Другие возможные " +"значения: ``'игнорировать'`` , ``'заменить'`` , ``'xmlcharrefreplace'`` , " +"``'обратная косая черта'`` и любое другое имя, зарегистрированное через :" +"func:`codecs.register_error` . Видеть :ref:`обработчики ошибок` для " +"получения подробной информации." 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 "" +"Por motivos de desempenho, o valor de *errors* não é verificado quanto à " +"validade, a menos que um erro de codificação realmente ocorra, :ref:" +"`devmode` esteja ativado ou uma :ref:`construção de depuração ` " +"seja usada. Por exemplo::" -msgid "Added support for keyword arguments." +msgid "" +">>> encoded_str_to_bytes = 'Python'.encode()\n" +">>> type(encoded_str_to_bytes)\n" +"\n" +">>> encoded_str_to_bytes\n" +"b'Python'" msgstr "" +">>> encoded_str_to_bytes = 'Python'.encode()\n" +">>> type(encoded_str_to_bytes)\n" +"\n" +">>> encoded_str_to_bytes\n" +"b'Python'" + +msgid "Added support for keyword arguments." +msgstr "Додано підтримку аргументів ключових слів." msgid "" "The value of the *errors* argument is now checked in :ref:`devmode` and in :" "ref:`debug mode `." msgstr "" +"Значение аргумента *errors* теперь проверяется. :ref:`devmode` и в :ref:" +"`режиме отладки\n" +"`." 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 "" +"Retorna ``True`` se a string terminar com o *suffix* especificado, caso " +"contrário retorna ``False``. *suffix* também pode ser uma tupla de sufixos " +"para procurar. Com o parâmetro opcional *start*, começamos a testar a partir " +"daquela posição. Com o parâmetro opcional *end*, devemos parar de comparar " +"na posição especificada. Usar *start* e *end* equivale a ``str[start:end]." +"endswith(suffix)``. Por exemplo::" + +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 "" +">>> '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" + +msgid "See also :meth:`startswith` and :meth:`removesuffix`." +msgstr "Veja também :meth:`startswith` e :meth:`removesuffix`." msgid "" "Return a copy of the string where all tab characters are replaced by one or " @@ -2018,20 +2443,58 @@ 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." -msgstr "" +"printed. For example::" +msgstr "" +"Retorna uma cópia da string onde todos os caracteres de tabulação são " +"substituídos por um ou mais espaços, dependendo da coluna atual e do tamanho " +"fornecido para a tabulação. Posições de tabulação ocorrem a cada *tabsize* " +"caracteres (o padrão é 8, dada as posições de tabulação nas colunas 0, 8, 16 " +"e assim por diante). Para expandir a string, a coluna atual é definida como " +"zero e a string é examinada caractere por caractere. Se o caractere é uma " +"tabulação (``\\t``), um ou mais caracteres de espaço são inseridos no " +"resultado até que a coluna atual seja igual a próxima posição de tabulação. " +"(O caractere de tabulação em si não é copiado.) Se o caractere é um " +"caractere de nova linha (``\\n``) ou de retorno (``\\r``), ele é copiado e a " +"coluna atual é redefinida para zero. Qualquer outro caractere é copiado sem " +"ser modificado e a coluna atual é incrementada em uma unidade " +"independentemente de como o caractere é representado quando é impresso. Por " +"exemplo::" + +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 "" +">>> '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" 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." msgstr "" +"Повертає найнижчий індекс у рядку, де підрядок *sub* знайдено в фрагменті " +"``s[start:end]``. Необов’язкові аргументи *початок* і *кінець* " +"інтерпретуються як у нотації фрагментів. Повертає ``-1``, якщо *sub* не " +"знайдено." msgid "" "The :meth:`~str.find` method should be used only if you need to know the " "position of *sub*. To check if *sub* is a substring or not, use the :" "keyword:`in` operator::" msgstr "" +"Метод :meth:`~str.find` слід використовувати, лише якщо вам потрібно знати " +"позицію *sub*. Щоб перевірити, чи є *sub* підрядком, скористайтеся " +"оператором :keyword:`in`::" msgid "" ">>> 'Py' in 'Python'\n" @@ -2048,11 +2511,18 @@ msgid "" "the string where each replacement field is replaced with the string value of " "the corresponding argument." msgstr "" +"Виконайте операцію форматування рядка. Рядок, у якому викликається цей " +"метод, може містити літеральний текст або поля заміни, розділені дужками ``{}" +"``. Кожне поле заміни містить або числовий індекс позиційного аргументу, або " +"назву ключового аргументу. Повертає копію рядка, де кожне поле заміни " +"замінено рядковим значенням відповідного аргументу." msgid "" "See :ref:`formatstrings` for a description of the various formatting options " "that can be specified in format strings." msgstr "" +"Перегляньте :ref:`formatstrings` для опису різних параметрів форматування, " +"які можна вказати в рядках формату." msgid "" "When formatting a number (:class:`int`, :class:`float`, :class:`complex`, :" @@ -2063,22 +2533,36 @@ msgid "" "and the ``LC_NUMERIC`` locale is different than the ``LC_CTYPE`` locale. " "This temporary change affects other threads." msgstr "" +"Під час форматування числа (:class:`int`, :class:`float`, :class:`complex`, :" +"class:`decimal.Decimal` і підкласів) із типом ``n`` (наприклад: ``'{:n}'." +"format(1234)``, функція тимчасово встановлює локаль ``LC_CTYPE`` на мову " +"``LC_NUMERIC`` для декодування полів ``decimal_point`` і ``thousands_sep`` :" +"c:func:`localeconv`, якщо вони не є ASCII або довші за 1 байт, а локаль " +"``LC_NUMERIC`` відрізняється від локалі ``LC_CTYPE``. Ця тимчасова зміна " +"впливає на інші потоки." msgid "" "When formatting a number with the ``n`` type, the function sets temporarily " "the ``LC_CTYPE`` locale to the ``LC_NUMERIC`` locale in some cases." msgstr "" +"Під час форматування числа за допомогою типу ``n``, у деяких випадках " +"функція тимчасово встановлює ``LC_CTYPE`` локаль ``LC_NUMERIC``." msgid "" "Similar to ``str.format(**mapping)``, except that ``mapping`` is used " "directly and not copied to a :class:`dict`. This is useful if for example " "``mapping`` is a dict subclass:" msgstr "" +"Подібно до ``str.format(**mapping)``, за винятком того, що ``mapping`` " +"використовується безпосередньо, а не копіюється в :class:`dict`. Це корисно, " +"якщо, наприклад, ``mapping`` є підкласом dict:" msgid "" "Like :meth:`~str.find`, but raise :exc:`ValueError` when the substring is " "not found." msgstr "" +"Як :meth:`~str.find`, але викликає :exc:`ValueError`, коли підрядок не " +"знайдено." msgid "" "Return ``True`` if all characters in the string are alphanumeric and there " @@ -2086,6 +2570,10 @@ msgid "" "alphanumeric if one of the following returns ``True``: ``c.isalpha()``, ``c." "isdecimal()``, ``c.isdigit()``, or ``c.isnumeric()``." msgstr "" +"Повертає ``True``, якщо всі символи в рядку є буквено-цифровими і є " +"принаймні один символ, ``False`` інакше. Символ ``c`` є буквено-цифровим, " +"якщо одне з наступного повертає ``True``: ``c.isalpha()``, ``c." +"isdecimal()``, ``c.isdigit()`` або ``c.isnumeric()``." msgid "" "Return ``True`` if all characters in the string are alphabetic and there is " @@ -2103,6 +2591,8 @@ msgid "" "ASCII, ``False`` otherwise. ASCII characters have code points in the range " "U+0000-U+007F." msgstr "" +"Повертає ``True``, якщо рядок порожній або всі символи в рядку є ASCII, " +"``False`` інакше. Символи ASCII мають кодові точки в діапазоні U+0000-U+007F." msgid "" "Return ``True`` if all characters in the string are decimal characters and " @@ -2111,6 +2601,11 @@ msgid "" "DIGIT ZERO. Formally a decimal character is a character in the Unicode " "General Category \"Nd\"." msgstr "" +"Повертає ``True``, якщо всі символи в рядку є десятковими символами і є " +"принаймні один символ, ``False`` інакше. Десяткові символи – це ті, які " +"можна використовувати для утворення чисел за основою 10, напр. U+0660, " +"АРАБСЬКО-ІНДІЙСЬКА ЦИФРА НУЛЬ. Формально десятковий символ — це символ у " +"загальній категорії Unicode \"Nd\"." msgid "" "Return ``True`` if all characters in the string are digits and there is at " @@ -2120,19 +2615,30 @@ msgid "" "like the Kharosthi numbers. Formally, a digit is a character that has the " "property value Numeric_Type=Digit or Numeric_Type=Decimal." msgstr "" +"Повертає ``True``, якщо всі символи в рядку є цифрами і є принаймні один " +"символ, ``False`` інакше. Цифри включають десяткові символи та цифри, які " +"потребують спеціальної обробки, наприклад цифри сумісності над індексом. Це " +"охоплює цифри, які не можна використовувати для формування чисел з основою " +"10, як-от числа Харості. Формально цифра — це символ, який має значення " +"властивості Numeric_Type=Digit або Numeric_Type=Decimal." msgid "" "Return ``True`` if the string is a valid identifier according to the " "language definition, section :ref:`identifiers`." msgstr "" +"Повертає ``True``, якщо рядок є дійсним ідентифікатором відповідно до " +"визначення мови, розділ :ref:`identifiers`." msgid "" ":func:`keyword.iskeyword` can be used to test whether string ``s`` is a " "reserved identifier, such as :keyword:`def` and :keyword:`class`." msgstr "" +":func:`ключевое слово.iskeyword` может использоваться для проверки того, " +"является ли строка ``с`` это зарезервированный идентификатор, например :" +"keyword:`def` и :keyword:`класс` ." msgid "Example: ::" -msgstr "" +msgstr "Contoh: ::" msgid "" ">>> from keyword import iskeyword\n" @@ -2142,11 +2648,19 @@ msgid "" ">>> 'def'.isidentifier(), iskeyword('def')\n" "(True, True)" msgstr "" +">>> from keyword import iskeyword\n" +"\n" +">>> 'hello'.isidentifier(), iskeyword('hello')\n" +"(True, False)\n" +">>> 'def'.isidentifier(), iskeyword('def')\n" +"(True, True)" msgid "" "Return ``True`` if all cased characters [4]_ in the string are lowercase and " "there is at least one cased character, ``False`` otherwise." msgstr "" +"Повертає ``True``, якщо всі символи регістру [4]_ в рядку є малими і є " +"принаймні один символ регістру, ``False`` інакше." msgid "" "Return ``True`` if all characters in the string are numeric characters, and " @@ -2156,11 +2670,19 @@ msgid "" "characters are those with the property value Numeric_Type=Digit, " "Numeric_Type=Decimal or Numeric_Type=Numeric." msgstr "" +"Повертає ``True``, якщо всі символи в рядку є цифровими символами, і є " +"принаймні один символ, ``False`` інакше. Цифрові символи включають цифрові " +"символи та всі символи, які мають властивість числового значення Unicode, " +"напр. U+2155, ВУЛЬГАРНА ФРАКЦІЯ ОДНА П’ЯТА. Формально цифровими символами є " +"символи зі значенням властивості Numeric_Type=Digit, Numeric_Type=Decimal " +"або Numeric_Type=Numeric." msgid "" -"Return true if all characters in the string are printable, false if it " -"contains at least one non-printable character." +"Return ``True`` if all characters in the string are printable, ``False`` if " +"it contains at least one non-printable character." msgstr "" +"Retorna ``True`` se todos os caracteres na string forem imprimíveis, " +"``False`` se contiver pelo menos um caractere não imprimível." msgid "" "Here \"printable\" means the character is suitable for :func:`repr` to use " @@ -2168,6 +2690,11 @@ msgid "" "will hex-escape the character. It has no bearing on the handling of strings " "written to :data:`sys.stdout` or :data:`sys.stderr`." msgstr "" +"Здесь «печатная» означает, что символ подходит для: func: `repr` для " +"использования на своем выходе; «Неприемный» означает, что: func: `repr` на " +"встроенных типах будет шестнадцатилетняя персонажа. Он не имеет никакого " +"отношения к обработке строк, записанных: Data: `sys.stdout` или: data:` sys." +"stderr`." msgid "" "The printable characters are those which in the Unicode character database " @@ -2176,17 +2703,27 @@ msgid "" "0x20. Nonprintable characters are those in group Separator or Other (Z or " "C), except the ASCII space." msgstr "" +"Печатные символы - это те, которые в базе данных символов Unicode (см.: MOD: " +"`UnicodeData`) имеют общую категорию в групповой букве, отмечке, чисел, " +"пунктуации или символе (L, M, N, P или S); Плюс пространство ASCII 0x20. " +"Неприемные символы являются в групповом сепараторе или других (Z или C), " +"кроме пространства ASCII." msgid "" "Return ``True`` if there are only whitespace characters in the string and " "there is at least one character, ``False`` otherwise." msgstr "" +"Повертає ``True``, якщо в рядку є лише пробіли та є принаймні один символ, " +"``False`` інакше." 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 "" +"Символ є *пробілом*, якщо в базі даних символів Unicode (див. :mod:" +"`unicodedata`) або його загальна категорія ``Zs`` (\"Роздільник, пробіл\"), " +"або його двонаправлений клас є одним із ``WS``, ``B`` або ``S``." msgid "" "Return ``True`` if the string is a titlecased string and there is at least " @@ -2194,11 +2731,17 @@ msgid "" "characters and lowercase characters only cased ones. Return ``False`` " "otherwise." msgstr "" +"Повертає ``True``, якщо рядок є рядком із заголовком і містить принаймні " +"один символ, наприклад, символи верхнього регістру можуть слідувати лише за " +"символами без регістру, а символи нижнього регістру – лише за символами в " +"регістрі. В іншому випадку поверніть ``False``." msgid "" "Return ``True`` if all cased characters [4]_ in the string are uppercase and " "there is at least one cased character, ``False`` otherwise." msgstr "" +"Повертає ``True``, якщо всі символи регістру [4]_ в рядку є верхніми і є " +"принаймні один символ регістру, ``False`` інакше." msgid "" "Return a string which is the concatenation of the strings in *iterable*. A :" @@ -2206,17 +2749,27 @@ msgid "" "*iterable*, including :class:`bytes` objects. The separator between " "elements is the string providing this method." msgstr "" +"Повертає рядок, який є конкатенацією рядків у *iterable*. Помилка :exc:" +"`TypeError` буде викликана, якщо в *iterable* є будь-які нерядкові значення, " +"включаючи об’єкти :class:`bytes`. Роздільником між елементами є рядок, що " +"забезпечує цей метод." msgid "" "Return the string left justified 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)``." msgstr "" +"Повертає рядок, вирівняний за лівим краєм, у рядку довжини *width*. " +"Заповнення виконується за допомогою вказаного *fillchar* (за замовчуванням " +"це пробіл ASCII). Оригінальний рядок повертається, якщо *width* менше або " +"дорівнює ``len(s)``." msgid "" "Return a copy of the string with all the cased characters [4]_ converted to " "lowercase." msgstr "" +"Повертає копію рядка з усіма регістровими символами [4]_, перетвореними на " +"нижній регістр." msgid "" "The lowercasing algorithm used is `described in section 3.13 'Default Case " @@ -2231,6 +2784,11 @@ msgid "" "The *chars* argument is not a prefix; rather, all combinations of its values " "are stripped::" msgstr "" +"Повертає копію рядка з видаленими початковими символами. Аргумент *chars* — " +"це рядок, який визначає набір символів, які потрібно видалити. Якщо " +"пропущено або ``None``, аргумент *chars* за умовчанням видаляє пробіли. " +"Аргумент *chars* не є префіксом; навпаки, усі комбінації його значень " +"видаляються:" msgid "" ">>> ' spacious '.lstrip()\n" @@ -2247,6 +2805,8 @@ msgid "" "See :meth:`str.removeprefix` for a method that will remove a single prefix " "string rather than all of a set of characters. For example::" msgstr "" +"Перегляньте :meth:`str.removeprefix` для методу, який видаляє один рядок " +"префікса, а не весь набір символів. Наприклад::" msgid "" ">>> 'Arthur: three!'.lstrip('Arthur: ')\n" @@ -2263,6 +2823,8 @@ msgid "" "This static method returns a translation table usable for :meth:`str." "translate`." msgstr "" +"Цей статичний метод повертає таблицю перекладу, яку можна використовувати " +"для :meth:`str.translate`." msgid "" "If there is only one argument, it must be a dictionary mapping Unicode " @@ -2270,6 +2832,10 @@ msgid "" "strings (of arbitrary lengths) or ``None``. Character keys will then be " "converted to ordinals." msgstr "" +"Якщо є лише один аргумент, це має бути словник, який відображає порядкові " +"номери Unicode (цілі числа) або символи (рядки довжиною 1) на порядкові " +"номери Unicode, рядки (довільної довжини) або ``None``. Потім символьні " +"ключі будуть перетворені на порядкові." msgid "" "If there are two arguments, they must be strings of equal length, and in the " @@ -2277,6 +2843,10 @@ msgid "" "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." msgstr "" +"Якщо є два аргументи, вони мають бути рядками однакової довжини, і в " +"отриманому словнику кожен символ у x буде зіставлено зі символом у тій же " +"позиції в y. Якщо є третій аргумент, це має бути рядок, символи якого будуть " +"зіставлені на ``None`` у результаті." msgid "" "Split the string at the first occurrence of *sep*, and return a 3-tuple " @@ -2284,11 +2854,17 @@ msgid "" "after the separator. If the separator is not found, return a 3-tuple " "containing the string itself, followed by two empty strings." msgstr "" +"Розділіть рядок при першому входженні *sep* і поверніть 3-кортеж, що містить " +"частину перед роздільником, сам роздільник і частину після роздільника. Якщо " +"роздільник не знайдено, поверніть 3-кортеж, що містить сам рядок, а потім " +"два порожні рядки." msgid "" "If the string starts with the *prefix* string, return " "``string[len(prefix):]``. Otherwise, return a copy of the original string::" msgstr "" +"Якщо рядок починається з рядка *prefix*, поверніть ``string[len(prefix):]``. " +"В іншому випадку поверніть копію оригінального рядка::" msgid "" ">>> 'TestHook'.removeprefix('Test')\n" @@ -2306,6 +2882,9 @@ msgid "" "return ``string[:-len(suffix)]``. Otherwise, return a copy of the original " "string::" msgstr "" +"Якщо рядок закінчується рядком *suffix* і цей *suffix* не є порожнім, " +"поверніть ``string[:-len(suffix)]``. В іншому випадку поверніть копію " +"оригінального рядка::" msgid "" ">>> 'MiscTests'.removesuffix('Tests')\n" @@ -2324,26 +2903,38 @@ msgid "" "replaced. If *count* is not specified or ``-1``, then all occurrences are " "replaced." msgstr "" +"Возвращает копию строки, в которой все вхождения подстроки *old* заменены на " +"*new*. Если указано *count*, заменяются только первые вхождения *count*. " +"Если *count* не указано или ``-1`` , то все вхождения заменяются." msgid "*count* is now supported as a keyword argument." -msgstr "" +msgstr "*count* теперь поддерживается в качестве аргумента ключевого слова." 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." msgstr "" +"Повертає найвищий індекс у рядку, де знайдено підрядок *sub*, так що *sub* " +"міститься в ``s[start:end]``. Необов’язкові аргументи *початок* і *кінець* " +"інтерпретуються як у нотації фрагментів. Повернути ``-1`` у разі помилки." msgid "" "Like :meth:`rfind` but raises :exc:`ValueError` when the substring *sub* is " "not found." msgstr "" +"Подібно до :meth:`rfind`, але викликає :exc:`ValueError`, коли підрядок " +"*sub* не знайдено." msgid "" "Return the string right justified 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)``." msgstr "" +"Повертає рядок, вирівняний по правому краю, у рядку довжини *width*. " +"Заповнення виконується за допомогою вказаного *fillchar* (за замовчуванням " +"це пробіл ASCII). Оригінальний рядок повертається, якщо *width* менше або " +"дорівнює ``len(s)``." msgid "" "Split the string at the last occurrence of *sep*, and return a 3-tuple " @@ -2351,6 +2942,10 @@ msgid "" "after the separator. If the separator is not found, return a 3-tuple " "containing two empty strings, followed by the string itself." msgstr "" +"Розділіть рядок на останнє входження *sep* і поверніть 3-кортеж, що містить " +"частину перед роздільником, сам роздільник і частину після роздільника. Якщо " +"роздільник не знайдено, поверніть 3-кортеж, що містить два порожні рядки, а " +"потім сам рядок." msgid "" "Return a list of the words in the string, using *sep* as the delimiter " @@ -2359,6 +2954,11 @@ msgid "" "string is a separator. Except for splitting from the right, :meth:`rsplit` " "behaves like :meth:`split` which is described in detail below." msgstr "" +"Повертає список слів у рядку, використовуючи *sep* як роздільник. Якщо " +"задано *maxsplit*, виконується щонайбільше *maxsplit* розбиття, " +"*найправіші*. Якщо *sep* не вказано або ``None``, будь-який пробільний рядок " +"є роздільником. За винятком розділення справа, :meth:`rsplit` поводиться як :" +"meth:`split`, що детально описано нижче." msgid "" "Return a copy of the string with trailing characters removed. The *chars* " @@ -2367,6 +2967,10 @@ msgid "" "The *chars* argument is not a suffix; rather, all combinations of its values " "are stripped::" msgstr "" +"Повертає копію рядка з видаленими кінцевими символами. Аргумент *chars* — це " +"рядок, який визначає набір символів, які потрібно видалити. Якщо пропущено " +"або ``None``, аргумент *chars* за умовчанням видаляє пробіли. Аргумент " +"*chars* не є суфіксом; навпаки, усі комбінації його значень видаляються:" msgid "" ">>> ' spacious '.rstrip()\n" @@ -2383,6 +2987,8 @@ msgid "" "See :meth:`str.removesuffix` for a method that will remove a single suffix " "string rather than all of a set of characters. For example::" msgstr "" +"Перегляньте :meth:`str.removesuffix` для методу, який видаляє один рядок " +"суфікса, а не весь набір символів. Наприклад::" msgid "" ">>> 'Monty Python'.rstrip(' Python')\n" @@ -2402,6 +3008,11 @@ msgid "" "specified or ``-1``, then there is no limit on the number of splits (all " "possible splits are made)." msgstr "" +"Повертає список слів у рядку, використовуючи *sep* як роздільник. Якщо " +"вказано *maxsplit*, виконується щонайбільше *maxsplit* розбиття (отже, " +"список міститиме щонайбільше елементів ``maxsplit+1``). Якщо *maxsplit* не " +"вказано або ``-1``, тоді немає обмеження на кількість розділень (виконуються " +"всі можливі розділення)." msgid "" "If *sep* is given, consecutive delimiters are not grouped together and are " @@ -2411,6 +3022,12 @@ msgid "" "split`). Splitting an empty string with a specified separator returns " "``['']``." msgstr "" +"Если указано *sep*, последовательные разделители не группируются вместе и " +"считаются разделителями пустых строк (например, ``'1,,2'.split(',')`` " +"возвращает ``['1', '', '2']`` ). Аргумент *sep* может состоять из нескольких " +"символов в качестве одного разделителя (чтобы разделить его на несколько " +"разделителей, используйте :func:`re.split` ). Разделение пустой строки с " +"указанным разделителем возвращает результат ``['']`` ." msgid "For example::" msgstr "Dla przykładu::" @@ -2425,6 +3042,14 @@ msgid "" ">>> '1<>2<>3<4'.split('<>')\n" "['1', '2', '3<4']" msgstr "" +">>> '1,2,3'.split(',')\n" +"['1', '2', '3']\n" +">>> '1,2,3'.split(',', maxsplit=1)\n" +"['1', '2,3']\n" +">>> '1,2,,3,'.split(',')\n" +"['1', '2', '', '3', '']\n" +">>> '1<>2<>3<4'.split('<>')\n" +"['1', '2', '3<4']" msgid "" "If *sep* is not specified or is ``None``, a different splitting algorithm is " @@ -2434,6 +3059,12 @@ msgid "" "string or a string consisting of just whitespace with a ``None`` separator " "returns ``[]``." msgstr "" +"Якщо *sep* не вказано або має значення ``None``, застосовується інший " +"алгоритм поділу: цикли послідовних пробілів розглядаються як один " +"роздільник, і результат не міститиме порожніх рядків на початку або в кінці, " +"якщо рядок має пробіли на початку або в кінці. Отже, розділення порожнього " +"рядка або рядка, що складається лише з пробілів, за допомогою розділювача " +"``None`` повертає ``[]``." msgid "" ">>> '1 2 3'.split()\n" @@ -2443,20 +3074,54 @@ msgid "" ">>> ' 1 2 3 '.split()\n" "['1', '2', '3']" msgstr "" +">>> '1 2 3'.split()\n" +"['1', '2', '3']\n" +">>> '1 2 3'.split(maxsplit=1)\n" +"['1', '2 3']\n" +">>> ' 1 2 3 '.split()\n" +"['1', '2', '3']" + +msgid "" +"If *sep* is not specified or is ``None`` and *maxsplit* is ``0``, only " +"leading runs of consecutive whitespace are considered." +msgstr "" +"Se *sep* não for especificado ou for ``None`` e *maxsplit* for ``0``, " +"somente as sequências iniciais de espaços em branco consecutivos serão " +"consideradas." + +msgid "" +">>> \"\".split(None, 0)\n" +"[]\n" +">>> \" \".split(None, 0)\n" +"[]\n" +">>> \" foo \".split(maxsplit=0)\n" +"['foo ']" +msgstr "" +">>> \"\".split(None, 0)\n" +"[]\n" +">>> \" \".split(None, 0)\n" +"[]\n" +">>> \" foo \".split(maxsplit=0)\n" +"['foo ']" 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 " "true." msgstr "" +"Повертає список рядків у рядку, розриваючи межі рядків. Розриви рядків не " +"включаються в результуючий список, якщо *keepends* не задано і не відповідає " +"дійсності." msgid "" "This method splits on the following line boundaries. In particular, the " "boundaries are a superset of :term:`universal newlines`." msgstr "" +"Цей метод розбивається на наступні межі рядків. Зокрема, межі є надмножиною :" +"term:`universal newlines`." msgid "Representation" -msgstr "" +msgstr "Представництво" msgid "Description" msgstr "Opis" @@ -2465,70 +3130,70 @@ msgid "``\\n``" msgstr "``\\n``" msgid "Line Feed" -msgstr "" +msgstr "Переведення рядка" msgid "``\\r``" msgstr "``\\r``" msgid "Carriage Return" -msgstr "" +msgstr "Повернення каретки" msgid "``\\r\\n``" msgstr "``\\r\\n``" msgid "Carriage Return + Line Feed" -msgstr "" +msgstr "Повернення каретки + Переведення рядка" msgid "``\\v`` or ``\\x0b``" -msgstr "" +msgstr "``\\v`` or ``\\x0b``" msgid "Line Tabulation" -msgstr "" +msgstr "Лінія табуляції" msgid "``\\f`` or ``\\x0c``" -msgstr "" +msgstr "``\\f`` or ``\\x0c``" msgid "Form Feed" -msgstr "" +msgstr "Подача форми" msgid "``\\x1c``" msgstr "``\\x1c``" msgid "File Separator" -msgstr "" +msgstr "Роздільник файлів" msgid "``\\x1d``" msgstr "``\\x1d``" msgid "Group Separator" -msgstr "" +msgstr "Роздільник груп" msgid "``\\x1e``" msgstr "``\\x1e``" msgid "Record Separator" -msgstr "" +msgstr "Розділювач записів" msgid "``\\x85``" msgstr "``\\x85``" msgid "Next Line (C1 Control Code)" -msgstr "" +msgstr "Наступний рядок (контрольний код C1)" msgid "``\\u2028``" msgstr "``\\u2028``" msgid "Line Separator" -msgstr "" +msgstr "Розділювач рядків" msgid "``\\u2029``" msgstr "``\\u2029``" msgid "Paragraph Separator" -msgstr "" +msgstr "Роздільник абзаців" msgid "``\\v`` and ``\\f`` added to list of line boundaries." -msgstr "" +msgstr "``\\v`` і ``\\f`` додано до списку меж ліній." msgid "" ">>> 'ab c\\n\\nde fg\\rkl\\r\\n'.splitlines()\n" @@ -2536,12 +3201,19 @@ msgid "" ">>> 'ab c\\n\\nde fg\\rkl\\r\\n'.splitlines(keepends=True)\n" "['ab c\\n', '\\n', 'de fg\\r', 'kl\\r\\n']" msgstr "" +">>> 'ab c\\n\\nde fg\\rkl\\r\\n'.splitlines()\n" +"['ab c', '', 'de fg', 'kl']\n" +">>> 'ab c\\n\\nde fg\\rkl\\r\\n'.splitlines(keepends=True)\n" +"['ab c\\n', '\\n', 'de fg\\r', 'kl\\r\\n']" msgid "" "Unlike :meth:`~str.split` when a delimiter string *sep* is given, this " "method returns an empty list for the empty string, and a terminal line break " "does not result in an extra line::" msgstr "" +"На відміну від :meth:`~str.split`, коли задано рядок роздільника *sep*, цей " +"метод повертає порожній список для порожнього рядка, а розрив кінцевого " +"рядка не призводить до додаткового рядка::" msgid "" ">>> \"\".splitlines()\n" @@ -2555,7 +3227,7 @@ msgstr "" "['One line']" msgid "For comparison, ``split('\\n')`` gives::" -msgstr "" +msgstr "Для порівняння ``split('\\n')`` дає:" msgid "" ">>> ''.split('\\n')\n" @@ -2574,6 +3246,10 @@ msgid "" "optional *start*, test string beginning at that position. With optional " "*end*, stop comparing string at that position." msgstr "" +"Повертає ``True``, якщо рядок починається з *префікса*, інакше повертає " +"``False``. *префікс* також може бути кортежем префіксів для пошуку. З " +"необов’язковим *початком*, тестовий рядок починається з цієї позиції. З " +"необов’язковим *end* припиняє порівнювати рядок у цій позиції." msgid "" "Return a copy of the string with the leading and trailing characters " @@ -2582,6 +3258,11 @@ msgid "" "removing whitespace. The *chars* argument is not a prefix or suffix; rather, " "all combinations of its values are stripped::" msgstr "" +"Повертає копію рядка з видаленими початковими та кінцевими символами. " +"Аргумент *chars* — це рядок, який визначає набір символів, які потрібно " +"видалити. Якщо пропущено або ``None``, аргумент *chars* за умовчанням " +"видаляє пробіли. Аргумент *chars* не є префіксом або суфіксом; навпаки, усі " +"комбінації його значень видаляються:" msgid "" ">>> ' spacious '.strip()\n" @@ -2600,23 +3281,35 @@ msgid "" "string character that is not contained in the set of characters in *chars*. " "A similar action takes place on the trailing end. For example::" msgstr "" +"Зовнішні початкові та кінцеві значення аргументів *chars* видаляються з " +"рядка. Символи видаляються з початку, доки не досягнеться символ рядка, який " +"не міститься в наборі символів у *chars*. Подібна дія відбувається на кінці. " +"Наприклад::" msgid "" ">>> comment_string = '#....... Section 3.2.1 Issue #32 .......'\n" ">>> comment_string.strip('.#! ')\n" "'Section 3.2.1 Issue #32'" msgstr "" +">>> comment_string = '#....... Section 3.2.1 Issue #32 .......'\n" +">>> comment_string.strip('.#! ')\n" +"'Section 3.2.1 Issue #32'" 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()." "swapcase() == s``." msgstr "" +"Повертає копію рядка з символами верхнього регістру, перетвореними на малі, " +"і навпаки. Зауважте, що ``s.swapcase().swapcase() == s`` не обов’язково " +"правда." msgid "" "Return a titlecased version of the string where words start with an " "uppercase character and the remaining characters are lowercase." msgstr "" +"Повертає версію рядка в заголовку, де слова починаються з великої літери, а " +"решта символів – нижніми." msgid "" ">>> 'Hello world'.title()\n" @@ -2631,6 +3324,10 @@ msgid "" "means that apostrophes in contractions and possessives form word boundaries, " "which may not be the desired result::" msgstr "" +"Алгоритм використовує просте незалежне від мови визначення слова як групи " +"послідовних букв. Визначення працює в багатьох контекстах, але це означає, " +"що апостроф у скороченнях і присвійних формах формує межі слів, що може бути " +"не бажаним результатом:" msgid "" ">>> \"they're bill's friends from the UK\".title()\n" @@ -2643,11 +3340,15 @@ msgid "" "The :func:`string.capwords` function does not have this problem, as it " "splits words on spaces only." msgstr "" +"Функція :func:`string.capwords` не має цієї проблеми, оскільки вона розділяє " +"слова лише на пробіли." msgid "" "Alternatively, a workaround for apostrophes can be constructed using regular " "expressions::" msgstr "" +"Крім того, обхідний шлях для апострофів можна створити за допомогою " +"регулярних виразів::" msgid "" ">>> import re\n" @@ -2659,6 +3360,14 @@ msgid "" ">>> titlecase(\"they're bill's friends.\")\n" "\"They're Bill's Friends.\"" msgstr "" +">>> import re\n" +">>> def titlecase(s):\n" +"... return re.sub(r\"[A-Za-z]+('[A-Za-z]+)?\",\n" +"... lambda mo: mo.group(0).capitalize(),\n" +"... s)\n" +"...\n" +">>> titlecase(\"they're bill's friends.\")\n" +"\"They're Bill's Friends.\"" msgid "" "Return a copy of the string in which each character has been mapped through " @@ -2670,16 +3379,29 @@ msgid "" "delete the character from the return string; or raise a :exc:`LookupError` " "exception, to map the character to itself." msgstr "" +"Возвращает копию строки, в которой каждый символ сопоставлен с помощью " +"данной таблицы перевода. Таблица должна быть объектом, реализующим " +"индексацию через :meth:`~object.__getitem__` , обычно это :term:" +"`отображение` или :term:`sequence`. При индексировании порядковым номером " +"Юникода (целым числом) объект таблицы может выполнять любое из следующих " +"действий: возвращать порядковый номер Юникода или строку для сопоставления " +"символа с одним или несколькими другими символами; возвращаться ``Нет`` , " +"чтобы удалить символ из возвращаемой строки; или поднять :exc:`Ошибка " +"поиска` исключение, чтобы сопоставить персонаж с самим собой." msgid "" "You can use :meth:`str.maketrans` to create a translation map from character-" "to-character mappings in different formats." msgstr "" +"Ви можете використовувати :meth:`str.maketrans`, щоб створити карту " +"перекладу з відображень символів у різні формати." msgid "" "See also the :mod:`codecs` module for a more flexible approach to custom " "character mappings." msgstr "" +"Перегляньте також модуль :mod:`codecs` для більш гнучкого підходу до " +"нестандартних відображень символів." msgid "" "Return a copy of the string with all the cased characters [4]_ converted to " @@ -2688,6 +3410,11 @@ msgid "" "character(s) is not \"Lu\" (Letter, uppercase), but e.g. \"Lt\" (Letter, " "titlecase)." msgstr "" +"Повертає копію рядка з усіма символами [4]_, перетвореними на верхній " +"регістр. Зауважте, що ``s.upper().isupper()`` може мати значення ``False``, " +"якщо ``s`` містить символи без регістру або якщо категорія Юнікоду " +"результуючих символів не є \"Lu\" (літера , верхній регістр), але напр. " +"\"Lt\" (літера, регістр)." msgid "" "The uppercasing algorithm used is `described in section 3.13 'Default Case " @@ -2701,6 +3428,11 @@ msgid "" "by inserting the padding *after* the sign character rather than before. The " "original string is returned if *width* is less than or equal to ``len(s)``." msgstr "" +"Поверніть копію рядка зліва, заповненого цифрами ASCII ``'0''``, щоб " +"отримати рядок довжини *width*. Початковий префікс знака (``'+'``/``'-'``) " +"обробляється шляхом вставки заповнення *після* символу знака, а не перед " +"ним. Оригінальний рядок повертається, якщо *width* менше або дорівнює " +"``len(s)``." msgid "" ">>> \"42\".zfill(5)\n" @@ -2714,20 +3446,25 @@ msgstr "" "'-0042'" msgid "Formatted String Literals (f-strings)" -msgstr "" +msgstr "Strings literais formatadas (f-strings)" msgid "" "The :keyword:`await` and :keyword:`async for` can be used in expressions " "within f-strings." msgstr "" +":keyword:`await` e :keyword:`async for` podem ser usados em expressões " +"dentro de f-strings." msgid "Added the debugging operator (``=``)" -msgstr "" +msgstr "Adicionado o operador de depuração (``=``)" msgid "" "Many restrictions on expressions within f-strings have been removed. " "Notably, nested strings, comments, and backslashes are now permitted." msgstr "" +"Muitas restrições a expressões dentro de f-strings foram removidas. " +"Notavelmente, strings aninhadas, comentários e contrabarras agora são " +"permitidos." msgid "" "An :dfn:`f-string` (formally a :dfn:`formatted string literal`) is a string " @@ -2737,6 +3474,12 @@ msgid "" "evaluated at runtime, similarly to :meth:`str.format`, and are converted " "into regular :class:`str` objects. For example:" msgstr "" +"Uma :dfn:`f-string` (formalmente uma :dfn:`literal de string formatada`) é " +"uma literal de string prefixada com ``f`` ou ``F``. Esse tipo de literal de " +"string permite incorporar expressões Python arbitrárias dentro de *campos de " +"substituição*, delimitados por chaves (``{}``). Essas expressões são " +"avaliadas em tempo de execução, de forma semelhante a :meth:`str.format`, e " +"convertidas em objetos :class:`str` regulares. Por exemplo:" msgid "" ">>> who = 'nobody'\n" @@ -2744,80 +3487,107 @@ msgid "" ">>> f'{who.title()} expects the {nationality} Inquisition!'\n" "'Nobody expects the Spanish Inquisition!'" msgstr "" +">>> who = 'Ninguém'\n" +">>> nationality = 'Espanhola'\n" +">>> f'{who.title()} está à espera da Inquisição {nationality}!'\n" +"'Ninguém está à espera da Inquisição Espanhola!'" msgid "It is also possible to use a multi line f-string:" -msgstr "" +msgstr "Também é possível usar uma f-string de várias linhas:" msgid "" ">>> f'''This is a string\n" "... on two lines'''\n" "'This is a string\\non two lines'" msgstr "" +">>> f'''Esta é uma string\n" +"... em duas linhas'''\n" +"'Esta é uma string\\nem duas linhas'" msgid "" "A single opening curly bracket, ``'{'``, marks a *replacement field* that " "can contain any Python expression:" msgstr "" +"Uma única chave de abertura, ``'{'``, marca um *campo de substituição* que " +"pode conter qualquer expressão Python:" msgid "" ">>> nationality = 'Spanish'\n" ">>> f'The {nationality} Inquisition!'\n" "'The Spanish Inquisition!'" msgstr "" +">>> nationality = 'Espanhola'\n" +">>> f'A Inquisição {nationality}!'\n" +"'A Inquisição Espanhola!'" msgid "To include a literal ``{`` or ``}``, use a double bracket:" -msgstr "" +msgstr "Para incluir um literal ``{`` ou ``}``, use chaves duplas:" msgid "" ">>> x = 42\n" ">>> f'{{x}} is {x}'\n" "'{x} is 42'" msgstr "" +">>> x = 42\n" +">>> f'{{x}} is {x}'\n" +"'{x} is 42'" msgid "" "Functions can also be used, and :ref:`format specifiers `:" msgstr "" +"Funções também podem ser usadas, como :ref:`especificadores de formato " +"`:" msgid "" ">>> from math import sqrt\n" ">>> f'√2 \\N{ALMOST EQUAL TO} {sqrt(2):.5f}'\n" "'√2 ≈ 1.41421'" msgstr "" +">>> from math import sqrt\n" +">>> f'√2 \\N{ALMOST EQUAL TO} {sqrt(2):.5f}'\n" +"'√2 ≈ 1.41421'" msgid "Any non-string expression is converted using :func:`str`, by default:" msgstr "" +"Qualquer expressão que não seja string é convertida usando :func:`str`, por " +"padrão:" msgid "" ">>> from fractions import Fraction\n" ">>> f'{Fraction(1, 3)}'\n" "'1/3'" msgstr "" +">>> from fractions import Fraction\n" +">>> f'{Fraction(1, 3)}'\n" +"'1/3'" msgid "" "To use an explicit conversion, use the ``!`` (exclamation mark) operator, " "followed by any of the valid formats, which are:" msgstr "" +"Para usar uma conversão explícita, use o operador ``!`` (ponto de " +"exclamação), seguido por qualquer um dos formatos válidos, que são:" msgid "Conversion" -msgstr "" +msgstr "Перетворення" msgid "``!a``" -msgstr "" +msgstr "``!a``" msgid ":func:`ascii`" msgstr ":func:`ascii`" msgid "``!r``" -msgstr "" +msgstr "``!r``" msgid ":func:`repr`" msgstr ":func:`repr`" msgid "``!s``" -msgstr "" +msgstr "``!s``" msgid ":func:`str`" -msgstr "" +msgstr ":func:`str`" msgid "For example:" msgstr "Na przykład::" @@ -2832,6 +3602,14 @@ msgid "" ">>> print(f'{question!a}')\n" "'\\xbfD\\xf3nde est\\xe1 el Presidente?'" msgstr "" +">>> 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?'" msgid "" "While debugging it may be helpful to see both the expression and its value, " @@ -2839,6 +3617,10 @@ msgid "" "within the brackets, and can be used with a converter. By default, the " "debugging operator uses the :func:`repr` (``!r``) conversion. For example:" msgstr "" +"Durante a depuração, pode ser útil visualizar tanto a expressão quanto seu " +"valor, usando o sinal de igual (``=``) após a expressão. Isso preserva os " +"espaços entre chaves e pode ser usado com um conversor. Por padrão, o " +"operador de depuração usa a conversão :func:`repr` (``!r``). Por exemplo:" msgid "" ">>> from fractions import Fraction\n" @@ -2850,6 +3632,14 @@ msgid "" ">>> f'{calculation = !s}'\n" "'calculation = 1/3'" msgstr "" +">>> 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'" msgid "" "Once the output has been evaluated, it can be formatted using a :ref:`format " @@ -2859,6 +3649,13 @@ msgid "" "empty string if no format specifier is given. The formatted result is then " "used as the final value for the replacement field. For example:" msgstr "" +"Após a avaliação da saída, ela pode ser formatada usando um :ref:" +"`especificador de formato ` seguido de dois pontos (``':'``). " +"Após a avaliação da expressão e sua possível conversão para uma string, o " +"método :meth:`!__format__` do resultado é chamado com o especificador de " +"formato, ou a string vazia, caso nenhum especificador de formato seja " +"fornecido. O resultado formatado é então usado como o valor final para o " +"campo de substituição. Por exemplo:" msgid "" ">>> from fractions import Fraction\n" @@ -2867,9 +3664,14 @@ msgid "" ">>> f'{Fraction(1, 7):_^+10}'\n" "'___+1/7___'" msgstr "" +">>> from fractions import Fraction\n" +">>> f'{Fraction(1, 7):.6f}'\n" +"'0.142857'\n" +">>> f'{Fraction(1, 7):_^+10}'\n" +"'___+1/7___'" msgid "``printf``-style String Formatting" -msgstr "" +msgstr "Форматування рядків у стилі ``printf``" msgid "" "The formatting operations described here exhibit a variety of quirks that " @@ -2880,6 +3682,13 @@ msgid "" "provides their own trade-offs and benefits of simplicity, flexibility, and/" "or extensibility." msgstr "" +"Операції форматування, описані тут, демонструють різноманітні особливості, " +"які призводять до низки поширених помилок (наприклад, неправильне " +"відображення кортежів і словників). Використання нових :ref:`відформатованих " +"рядкових літералів `, інтерфейсу :meth:`str.format` або :ref:" +"`шаблонних рядків ` може допомогти уникнути цих помилок. " +"Кожна з цих альтернатив забезпечує власні компроміси та переваги простоти, " +"гнучкості та/або розширюваності." msgid "" "String objects have one unique built-in operation: the ``%`` operator " @@ -2889,11 +3698,19 @@ msgid "" "elements of *values*. The effect is similar to using the :c:func:`sprintf` " "function in the C language. For example:" msgstr "" +"Строковые объекты имеют одну уникальную встроенную операцию: ``%`` оператор " +"(по модулю). Это также известно как оператор *форматирования* строки или " +"*интерполяции*. Данный ``формат % значений`` (где *format* — строка), ``%`` " +"спецификации преобразования в *формате* заменяются нулем или более " +"элементами *значений*. Эффект аналогичен использованию :c:func:`sprintf` " +"функция на языке C. Например:" msgid "" ">>> print('%s has %d quote types.' % ('Python', 2))\n" "Python has 2 quote types." msgstr "" +">>> print('%s has %d quote types.' % ('Python', 2))\n" +"Python has 2 quote types." msgid "" "If *format* requires a single argument, *values* may be a single non-tuple " @@ -2901,6 +3718,10 @@ msgid "" "items specified by the format string, or a single mapping object (for " "example, a dictionary)." msgstr "" +"Якщо для *format* потрібен один аргумент, *values* може бути одним " +"некортежним об’єктом. [5]_ В іншому випадку *values* має бути кортежем із " +"точною кількістю елементів, визначених рядком формату, або одним об’єктом " +"відображення (наприклад, словником)." msgid "" "A conversion specifier contains two or more characters and has the following " @@ -2914,6 +3735,8 @@ msgid "" "Mapping key (optional), consisting of a parenthesised sequence of characters " "(for example, ``(somename)``)." msgstr "" +"Ключ відображення (необов’язковий), що складається з послідовності символів " +"у дужках (наприклад, ``(якесь ім’я)``)." msgid "" "Conversion flags (optional), which affect the result of some conversion " @@ -2925,6 +3748,10 @@ msgid "" "actual width is read from the next element of the tuple in *values*, and the " "object to convert comes after the minimum field width and optional precision." msgstr "" +"Мінімальна ширина поля (опціонально). Якщо вказано як ``'*'`` (зірочка), " +"фактична ширина зчитується з наступного елемента кортежу в *значеннях*, а " +"об’єкт для перетворення йде після мінімальної ширини поля та необов’язкової " +"точності." msgid "" "Precision (optional), given as a ``'.'`` (dot) followed by the precision. " @@ -2932,6 +3759,10 @@ msgid "" "next element of the tuple in *values*, and the value to convert comes after " "the precision." msgstr "" +"Точність (необов’язкова), подається як ``'.'`` (крапка), за якою йде " +"точність. Якщо вказано як ``'*'`` (зірочка), фактична точність зчитується з " +"наступного елемента кортежу в *значеннях*, а значення для перетворення йде " +"після точності." msgid "Length modifier (optional)." msgstr "" @@ -2945,11 +3776,17 @@ msgid "" "dictionary inserted immediately after the ``'%'`` character. The mapping key " "selects the value to be formatted from the mapping. For example:" msgstr "" +"Якщо правильний аргумент є словником (або іншим типом відображення), то " +"формати в рядку *мають* містити ключ відображення в дужках у цьому словнику, " +"вставлений одразу після символу ``'%'``. Ключ відображення вибирає значення, " +"яке потрібно відформатувати, із відображення. Наприклад:" msgid "" "In this case no ``*`` specifiers may occur in a format (since they require a " "sequential parameter list)." msgstr "" +"У цьому випадку у форматі не може бути специфікаторів ``*`` (оскільки вони " +"вимагають послідовного списку параметрів)." msgid "The conversion flag characters are:" msgstr "" @@ -2963,6 +3800,8 @@ msgstr "``'#'``" msgid "" "The value conversion will use the \"alternate form\" (where defined below)." msgstr "" +"Перетворення значень використовуватиме \"альтернативну форму\" (де визначено " +"нижче)." msgid "``'0'``" msgstr "``'0'``" @@ -2977,6 +3816,8 @@ msgid "" "The converted value is left adjusted (overrides the ``'0'`` conversion if " "both are given)." msgstr "" +"Перетворене значення коригується зліва (перевизначає перетворення ``'0'``, " +"якщо подано обидва значення)." msgid "``' '``" msgstr "``' '``" @@ -2985,6 +3826,8 @@ msgid "" "(a space) A blank should be left before a positive number (or empty string) " "produced by a signed conversion." msgstr "" +"(пробіл) Пробіл слід залишити перед додатним числом (або порожнім рядком), " +"утвореним перетворенням зі знаком." msgid "``'+'``" msgstr "``'+'``" @@ -2993,20 +3836,25 @@ msgid "" "A sign character (``'+'`` or ``'-'``) will precede the conversion (overrides " "a \"space\" flag)." msgstr "" +"Символ знака (``'+'`` або ``'-'``) передуватиме перетворенню (перевизначає " +"позначку \"пробіл\")." msgid "" "A length modifier (``h``, ``l``, or ``L``) may be present, but is ignored as " "it is not necessary for Python -- so e.g. ``%ld`` is identical to ``%d``." msgstr "" +"Модифікатор довжини (``h``, ``l`` або ``L``) може бути присутнім, але він " +"ігнорується, оскільки він не є необхідним для Python - так, напр. ``%ld`` " +"ідентичний ``%d``." msgid "The conversion types are:" -msgstr "" +msgstr "Типи перетворення:" msgid "``'d'``" msgstr "``'d'``" msgid "Signed integer decimal." -msgstr "" +msgstr "Ціле десяткове число зі знаком." msgid "``'i'``" msgstr "``'i'``" @@ -3015,43 +3863,43 @@ msgid "``'o'``" msgstr "``'o'``" msgid "Signed octal value." -msgstr "" +msgstr "Вісімкове значення зі знаком." msgid "``'u'``" msgstr "``'u'``" msgid "Obsolete type -- it is identical to ``'d'``." -msgstr "" +msgstr "Застарілий тип -- він ідентичний ``'d'``." msgid "``'x'``" msgstr "``'x'``" msgid "Signed hexadecimal (lowercase)." -msgstr "" +msgstr "Шістнадцяткове число зі знаком (нижній регістр)." msgid "``'X'``" msgstr "``'X'``" msgid "Signed hexadecimal (uppercase)." -msgstr "" +msgstr "Шістнадцяткове число зі знаком (верхній регістр)." msgid "``'e'``" msgstr "``'e'``" msgid "Floating-point exponential format (lowercase)." -msgstr "" +msgstr "Экспоненциальный формат с плавающей запятой (строчные буквы)." msgid "``'E'``" msgstr "``'E'``" msgid "Floating-point exponential format (uppercase)." -msgstr "" +msgstr "Экспоненциальный формат с плавающей запятой (заглавные буквы)." msgid "``'f'``" msgstr "``'f'``" msgid "Floating-point decimal format." -msgstr "" +msgstr "Десятичный формат с плавающей запятой." msgid "``'F'``" msgstr "``'F'``" @@ -3063,6 +3911,9 @@ msgid "" "Floating-point format. Uses lowercase exponential format if exponent is less " "than -4 or not less than precision, decimal format otherwise." msgstr "" +"Формат с плавающей запятой. Использует экспоненциальный формат в нижнем " +"регистре, если показатель степени меньше -4 или не меньше точности, в " +"противном случае - десятичный формат." msgid "``'G'``" msgstr "``'G'``" @@ -3071,70 +3922,86 @@ msgid "" "Floating-point format. Uses uppercase exponential format if exponent is less " "than -4 or not less than precision, decimal format otherwise." msgstr "" +"Формат с плавающей запятой. Использует экспоненциальный формат в верхнем " +"регистре, если показатель степени меньше -4 или не меньше точности, в " +"противном случае - десятичный формат." msgid "``'c'``" msgstr "``'c'``" msgid "Single character (accepts integer or single character string)." -msgstr "" +msgstr "Один символ (приймає рядок цілих чи односимвольних символів)." msgid "``'r'``" msgstr "``'r'``" msgid "String (converts any Python object using :func:`repr`)." -msgstr "" +msgstr "Рядок (перетворює будь-який об’єкт Python за допомогою :func:`repr`)." msgid "``'s'``" msgstr "``'s'``" msgid "String (converts any Python object using :func:`str`)." -msgstr "" +msgstr "Рядок (перетворює будь-який об’єкт Python за допомогою :func:`str`)." msgid "``'a'``" msgstr "``'a'``" msgid "String (converts any Python object using :func:`ascii`)." -msgstr "" +msgstr "Рядок (перетворює будь-який об’єкт Python за допомогою :func:`ascii`)." msgid "``'%'``" msgstr "``'%'``" msgid "No argument is converted, results in a ``'%'`` character in the result." msgstr "" +"Жоден аргумент не перетворюється, результатом є символ ``'%'`` в результаті." msgid "" "The alternate form causes a leading octal specifier (``'0o'``) to be " "inserted before the first digit." msgstr "" +"Альтернативна форма призводить до того, що початковий вісімковий " +"специфікатор (``'0o'``) буде вставлено перед першою цифрою." msgid "" "The alternate form causes a leading ``'0x'`` or ``'0X'`` (depending on " "whether the ``'x'`` or ``'X'`` format was used) to be inserted before the " "first digit." msgstr "" +"Альтернативна форма призводить до того, що початковий ``'0x'`` або ``'0X'`` " +"(залежно від того, використовувався формат ``'x'`` або ``'X'``) буде " +"вставлено перед перша цифра." msgid "" "The alternate form causes the result to always contain a decimal point, even " "if no digits follow it." msgstr "" +"Альтернативна форма призводить до того, що результат завжди містить " +"десяткову крапку, навіть якщо за нею не йде цифра." msgid "" "The precision determines the number of digits after the decimal point and " "defaults to 6." msgstr "" +"Точність визначає кількість цифр після коми та за замовчуванням дорівнює 6." msgid "" "The alternate form causes the result to always contain a decimal point, and " "trailing zeroes are not removed as they would otherwise be." msgstr "" +"Альтернативна форма призводить до того, що результат завжди містить " +"десяткову кому, а кінцеві нулі не видаляються, як це було б інакше." msgid "" "The precision determines the number of significant digits before and after " "the decimal point and defaults to 6." msgstr "" +"Точність визначає кількість значущих цифр до та після десяткової коми та за " +"умовчанням дорівнює 6." msgid "If precision is ``N``, the output is truncated to ``N`` characters." -msgstr "" +msgstr "Якщо точність ``N``, вивід скорочується до ``N`` символів." msgid "See :pep:`237`." msgstr "Zob. :pep:`237`." @@ -3143,16 +4010,22 @@ msgid "" "Since Python strings have an explicit length, ``%s`` conversions do not " "assume that ``'\\0'`` is the end of the string." msgstr "" +"Оскільки рядки Python мають явну довжину, перетворення ``%s`` не " +"припускають, що ``'\\0`` є кінцем рядка." msgid "" "``%f`` conversions for numbers whose absolute value is over 1e50 are no " "longer replaced by ``%g`` conversions." msgstr "" +"Перетворення ``%f`` для чисел, абсолютне значення яких перевищує 1e50, " +"більше не замінюються перетвореннями ``%g``." msgid "" "Binary Sequence Types --- :class:`bytes`, :class:`bytearray`, :class:" "`memoryview`" msgstr "" +"Типи бінарних послідовностей --- :class:`bytes`, :class:`bytearray`, :class:" +"`memoryview`" msgid "" "The core built-in types for manipulating binary data are :class:`bytes` and :" @@ -3160,11 +4033,18 @@ msgid "" "ref:`buffer protocol ` to access the memory of other binary " "objects without needing to make a copy." msgstr "" +"Основними вбудованими типами для обробки двійкових даних є :class:`bytes` і :" +"class:`bytearray`. Вони підтримуються :class:`memoryview`, який " +"використовує :ref:`протокол буфера ` для доступу до пам’яті " +"інших бінарних об’єктів без необхідності створення копії." msgid "" "The :mod:`array` module supports efficient storage of basic data types like " "32-bit integers and IEEE754 double-precision floating values." msgstr "" +"Модуль :mod:`array` підтримує ефективне зберігання основних типів даних, " +"таких як 32-розрядні цілі числа та плаваючі значення подвійної точності " +"IEEE754." msgid "Bytes Objects" msgstr "" @@ -3175,33 +4055,49 @@ msgid "" "several methods that are only valid when working with ASCII compatible data " "and are closely related to string objects in a variety of other ways." msgstr "" +"Об’єкти Bytes — це незмінні послідовності окремих байтів. Оскільки багато " +"основних двійкових протоколів базуються на текстовому кодуванні ASCII, " +"об’єкти bytes пропонують кілька методів, які дійсні лише під час роботи з " +"даними, сумісними з ASCII, і тісно пов’язані з рядковими об’єктами різними " +"способами." msgid "" "Firstly, the syntax for bytes literals is largely the same as that for " "string literals, except that a ``b`` prefix is added:" msgstr "" +"По-перше, синтаксис байтових літералів здебільшого такий самий, як і для " +"рядкових літералів, за винятком того, що додано префікс ``b``:" msgid "Single quotes: ``b'still allows embedded \"double\" quotes'``" -msgstr "" +msgstr "Одинарні лапки: ``b'все ще дозволяє вбудовані \"подвійні\" лапки``" msgid "Double quotes: ``b\"still allows embedded 'single' quotes\"``" -msgstr "" +msgstr "Подвійні лапки: ``b\"все ще дозволяє вбудовані 'одинарні' лапки``" msgid "" "Triple quoted: ``b'''3 single quotes'''``, ``b\"\"\"3 double quotes\"\"\"``" msgstr "" +"Потрійні лапки: ``b''''3 одинарні лапки''''``, ``b\"\"\"3 подвійні " +"лапки\"\"\"``" msgid "" "Only ASCII characters are permitted in bytes literals (regardless of the " "declared source code encoding). Any binary values over 127 must be entered " "into bytes literals using the appropriate escape sequence." msgstr "" +"У байтових літералах дозволені лише символи ASCII (незалежно від оголошеного " +"кодування вихідного коду). Будь-які двійкові значення понад 127 потрібно " +"вводити в байтові літерали за допомогою відповідної керуючої послідовності." msgid "" "As with string literals, bytes literals may also use a ``r`` prefix to " "disable processing of escape sequences. See :ref:`strings` for more about " "the various forms of bytes literal, including supported escape sequences." msgstr "" +"Як і рядкові літерали, літерали bytes також можуть використовувати префікс " +"``r``, щоб вимкнути обробку керуючих послідовностей. Перегляньте :ref:" +"`strings`, щоб дізнатися більше про різні форми літералів байтів, включаючи " +"підтримувані керуючі послідовності." msgid "" "While bytes literals and representations are based on ASCII text, bytes " @@ -3214,23 +4110,36 @@ msgid "" "text processing algorithms to binary data formats that are not ASCII " "compatible will usually lead to data corruption)." msgstr "" +"У той час як байтові літерали та представлення базуються на тексті ASCII, " +"об’єкти байтів фактично поводяться як незмінні послідовності цілих чисел, де " +"кожне значення в послідовності обмежено таким чином, що ``0 <= x < 256`` " +"(спроби порушити це обмеження викличуть :exc:`ValueError`). Це зроблено " +"навмисно, щоб підкреслити, що хоча багато двійкових форматів включають " +"елементи на основі ASCII і ними можна корисно маніпулювати за допомогою " +"деяких текстово-орієнтованих алгоритмів, це зазвичай не стосується довільних " +"двійкових даних (сліпе застосування алгоритмів обробки тексту до двійкових " +"форматів даних, які не Сумісність із ASCII зазвичай призводить до " +"пошкодження даних)." msgid "" "In addition to the literal forms, bytes objects can be created in a number " "of other ways:" msgstr "" +"Окрім літеральних форм, об’єкти bytes можна створювати кількома іншими " +"способами:" msgid "A zero-filled bytes object of a specified length: ``bytes(10)``" -msgstr "" +msgstr "Об’єкт із заповненими нулем байтами вказаної довжини: ``bytes(10)``" msgid "From an iterable of integers: ``bytes(range(20))``" -msgstr "" +msgstr "З ітерації цілих чисел: ``bytes(range(20))``" msgid "Copying existing binary data via the buffer protocol: ``bytes(obj)``" msgstr "" +"Копіювання існуючих двійкових даних через протокол буфера: ``bytes(obj)``" msgid "Also see the :ref:`bytes ` built-in." -msgstr "" +msgstr "Також перегляньте вбудований :ref:`bytes `." msgid "" "Since 2 hexadecimal digits correspond precisely to a single byte, " @@ -3238,27 +4147,40 @@ msgid "" "Accordingly, the bytes type has an additional class method to read data in " "that format:" msgstr "" +"Оскільки 2 шістнадцяткові цифри точно відповідають одному байту, " +"шістнадцяткові числа є широко використовуваним форматом для опису двійкових " +"даних. Відповідно, тип bytes має додатковий метод класу для читання даних у " +"цьому форматі:" msgid "" "This :class:`bytes` class method returns a bytes object, decoding the given " "string object. The string must contain two hexadecimal digits per byte, " "with ASCII whitespace being ignored." msgstr "" +"Цей метод класу :class:`bytes` повертає об’єкт bytes, декодуючи даний " +"рядковий об’єкт. Рядок має містити дві шістнадцяткові цифри на байт, при " +"цьому пробіли ASCII ігноруються." msgid "" ":meth:`bytes.fromhex` now skips all ASCII whitespace in the string, not just " "spaces." msgstr "" +":meth:`bytes.fromhex` тепер пропускає всі пробіли ASCII у рядку, а не лише " +"пробіли." msgid "" "A reverse conversion function exists to transform a bytes object into its " "hexadecimal representation." msgstr "" +"Існує функція зворотного перетворення для перетворення об’єкта байтів у його " +"шістнадцяткове представлення." msgid "" "Return a string object containing two hexadecimal digits for each byte in " "the instance." msgstr "" +"Повертає рядковий об’єкт, що містить дві шістнадцяткові цифри для кожного " +"байта екземпляра." msgid "" "If you want to make the hex string easier to read, you can specify a single " @@ -3267,11 +4189,20 @@ msgid "" "*bytes_per_sep* parameter controls the spacing. Positive values calculate " "the separator position from the right, negative values from the left." msgstr "" +"Если вы хотите облегчить чтение шестнадцатеричной строки, вы можете указать " +"один параметр-разделитель символов *sep* для включения в выходные данные. По " +"умолчанию этот разделитель будет включен между каждым байтом. Второй " +"необязательный параметр *bytes_per_sep* управляет интервалом. Положительные " +"значения вычисляют положение разделителя справа, отрицательные значения — " +"слева." msgid "" ":meth:`bytes.hex` now supports optional *sep* and *bytes_per_sep* parameters " "to insert separators between bytes in the hex output." msgstr "" +":meth:`bytes.hex` тепер підтримує додаткові параметри *sep* і " +"*bytes_per_sep* для вставки роздільників між байтами в шістнадцятковому " +"виведенні." msgid "" "Since bytes objects are sequences of integers (akin to a tuple), for a bytes " @@ -3279,47 +4210,65 @@ msgid "" "object of length 1. (This contrasts with text strings, where both indexing " "and slicing will produce a string of length 1)" msgstr "" +"Оскільки об’єкти bytes — це послідовності цілих чисел (подібно до кортежу), " +"для об’єкта bytes *b* \"b[0]\" буде цілим числом, тоді як \"b[0:1]\" буде " +"байтом об’єкт довжини 1. (Це контрастує з текстовими рядками, де як " +"індексування, так і нарізка створять рядок довжиною 1)" msgid "" "The representation of bytes objects uses the literal format (``b'...'``) " "since it is often more useful than e.g. ``bytes([46, 46, 46])``. You can " "always convert a bytes object into a list of integers using ``list(b)``." msgstr "" +"Для представлення об’єктів bytes використовується літеральний формат " +"(``b'...''``), оскільки він часто корисніший, ніж, наприклад, ``bytes([46, " +"46, 46])``. Ви завжди можете перетворити об’єкт bytes на список цілих чисел " +"за допомогою ``list(b)``." msgid "Bytearray Objects" -msgstr "" +msgstr "Bayt dizisi Nesneleri" msgid "" ":class:`bytearray` objects are a mutable counterpart to :class:`bytes` " "objects." msgstr "" +"Об’єкти :class:`bytearray` є змінними аналогами об’єктів :class:`bytes`." msgid "" "There is no dedicated literal syntax for bytearray objects, instead they are " "always created by calling the constructor:" msgstr "" +"Для об’єктів bytearray немає виділеного синтаксису літералів, натомість вони " +"завжди створюються шляхом виклику конструктора:" msgid "Creating an empty instance: ``bytearray()``" -msgstr "" +msgstr "Створення порожнього екземпляра: ``bytearray()``" msgid "Creating a zero-filled instance with a given length: ``bytearray(10)``" msgstr "" +"Створення екземпляра із заповненням нуля із заданою довжиною: " +"``bytearray(10)``" msgid "From an iterable of integers: ``bytearray(range(20))``" -msgstr "" +msgstr "З ітерації цілих чисел: ``bytearray(range(20))``" msgid "" "Copying existing binary data via the buffer protocol: ``bytearray(b'Hi!')``" msgstr "" +"Копіювання наявних двійкових даних за допомогою буферного протоколу: " +"``bytearray(b'Hi!')``" msgid "" "As bytearray objects are mutable, they support the :ref:`mutable ` sequence operations in addition to the common bytes and bytearray " "operations described in :ref:`bytes-methods`." msgstr "" +"Оскільки об’єкти bytearray є змінними, вони підтримують операції " +"послідовності :ref:`mutable ` на додаток до звичайних " +"операцій з байтами та байтовими масивами, описаних у :ref:`bytes-methods`." msgid "Also see the :ref:`bytearray ` built-in." -msgstr "" +msgstr "Також перегляньте вбудований :ref:`bytearray `." msgid "" "Since 2 hexadecimal digits correspond precisely to a single byte, " @@ -3327,28 +4276,42 @@ msgid "" "Accordingly, the bytearray type has an additional class method to read data " "in that format:" msgstr "" +"Оскільки 2 шістнадцяткові цифри точно відповідають одному байту, " +"шістнадцяткові числа є широко використовуваним форматом для опису двійкових " +"даних. Відповідно, тип bytearray має додатковий метод класу для читання " +"даних у цьому форматі:" msgid "" "This :class:`bytearray` class method returns bytearray object, decoding the " "given string object. The string must contain two hexadecimal digits per " "byte, with ASCII whitespace being ignored." msgstr "" +"Цей метод класу :class:`bytearray` повертає об’єкт bytearray, декодуючи " +"заданий рядковий об’єкт. Рядок має містити дві шістнадцяткові цифри на байт, " +"при цьому пробіли ASCII ігноруються." msgid "" ":meth:`bytearray.fromhex` now skips all ASCII whitespace in the string, not " "just spaces." msgstr "" +":meth:`bytearray.fromhex` тепер пропускає всі пробіли ASCII у рядку, а не " +"лише пробіли." msgid "" "A reverse conversion function exists to transform a bytearray object into " "its hexadecimal representation." msgstr "" +"Існує функція зворотного перетворення для перетворення об’єкта байтового " +"масиву в його шістнадцяткове представлення." msgid "" "Similar to :meth:`bytes.hex`, :meth:`bytearray.hex` now supports optional " "*sep* and *bytes_per_sep* parameters to insert separators between bytes in " "the hex output." msgstr "" +"Подібно до :meth:`bytes.hex`, :meth:`bytearray.hex` тепер підтримує " +"додаткові параметри *sep* і *bytes_per_sep* для вставки роздільників між " +"байтами в шістнадцятковому виведенні." msgid "" "Since bytearray objects are sequences of integers (akin to a list), for a " @@ -3356,6 +4319,10 @@ msgid "" "a bytearray object of length 1. (This contrasts with text strings, where " "both indexing and slicing will produce a string of length 1)" msgstr "" +"Оскільки об’єкти bytearray — це послідовності цілих чисел (схожі на список), " +"для об’єкта bytearray *b* \"b[0]\" буде цілим числом, а \"b[0:1]\" буде " +"масивом bytearray об’єкт довжини 1. (Це контрастує з текстовими рядками, де " +"як індексування, так і нарізка створять рядок довжиною 1)" msgid "" "The representation of bytearray objects uses the bytes literal format " @@ -3363,9 +4330,13 @@ msgid "" "``bytearray([46, 46, 46])``. You can always convert a bytearray object into " "a list of integers using ``list(b)``." msgstr "" +"У представленні об’єктів bytearray використовується формат літералу bytes " +"(``bytearray(b'...')``), оскільки він часто корисніший, ніж, наприклад, " +"``bytearray([46, 46, 46])``. Ви завжди можете перетворити об’єкт bytearray " +"на список цілих чисел за допомогою ``list(b)``." msgid "Bytes and Bytearray Operations" -msgstr "" +msgstr "Baytlar ve Bayt dizisi İşlemleri" msgid "" "Both bytes and bytearray objects support the :ref:`common ` " @@ -3374,66 +4345,97 @@ msgid "" "can be freely mixed in operations without causing errors. However, the " "return type of the result may depend on the order of operands." msgstr "" +"Як об’єкти bytes, так і bytearray підтримують операції послідовності :ref:" +"`common `. Вони взаємодіють не тільки з операндами того " +"самого типу, але й з будь-яким :term:`bytes-like object`. Завдяки цій " +"гнучкості їх можна вільно змішувати під час операцій, не викликаючи помилок. " +"Однак тип результату може залежати від порядку операндів." msgid "" "The methods on bytes and bytearray objects don't accept strings as their " "arguments, just as the methods on strings don't accept bytes as their " "arguments. For example, you have to write::" msgstr "" +"Методи для об’єктів bytes і bytearray не приймають рядки як аргументи, так " +"само як методи для рядків не приймають байти як аргументи. Наприклад, ви " +"повинні написати::" msgid "" "a = \"abc\"\n" "b = a.replace(\"a\", \"f\")" msgstr "" +"a = \"abc\"\n" +"b = a.replace(\"a\", \"f\")" msgid "and::" -msgstr "" +msgstr "dan::" msgid "" "a = b\"abc\"\n" "b = a.replace(b\"a\", b\"f\")" msgstr "" +"a = b\"abc\"\n" +"b = a.replace(b\"a\", b\"f\")" msgid "" "Some bytes and bytearray operations assume the use of ASCII compatible " "binary formats, and hence should be avoided when working with arbitrary " "binary data. These restrictions are covered below." msgstr "" +"Деякі операції з байтами та масивами байтів передбачають використання " +"двійкових форматів, сумісних із ASCII, і тому їх слід уникати під час роботи " +"з довільними двійковими даними. Ці обмеження описані нижче." msgid "" "Using these ASCII based operations to manipulate binary data that is not " "stored in an ASCII based format may lead to data corruption." msgstr "" +"Використання цих операцій на основі ASCII для обробки двійкових даних, які " +"не зберігаються у форматі на основі ASCII, може призвести до пошкодження " +"даних." msgid "" "The following methods on bytes and bytearray objects can be used with " "arbitrary binary data." msgstr "" +"Наступні методи для об’єктів bytes і bytearray можна використовувати з " +"довільними двійковими даними." msgid "" "Return the number of non-overlapping occurrences of subsequence *sub* in the " "range [*start*, *end*]. Optional arguments *start* and *end* are " "interpreted as in slice notation." msgstr "" +"Повертає кількість неперекриваючих входжень підпослідовності *sub* у " +"діапазоні [*початок*, *кінець*]. Необов’язкові аргументи *початок* і " +"*кінець* інтерпретуються як у нотації фрагментів." msgid "" "The subsequence to search for may be any :term:`bytes-like object` or an " "integer in the range 0 to 255." msgstr "" +"Підпослідовністю для пошуку може бути будь-який :term:`bytes-like object` " +"або ціле число в діапазоні від 0 до 255." msgid "" "If *sub* is empty, returns the number of empty slices between characters " "which is the length of the bytes object plus one." msgstr "" +"Если *sub* пусто, возвращает количество пустых фрагментов между символами, " +"которое равно длине объекта байтов плюс один." msgid "Also accept an integer in the range 0 to 255 as the subsequence." msgstr "" +"Також прийняти ціле число в діапазоні від 0 до 255 як підпослідовність." msgid "" "If the binary data starts with the *prefix* string, return " "``bytes[len(prefix):]``. Otherwise, return a copy of the original binary " "data::" msgstr "" +"Якщо двійкові дані починаються з рядка *prefix*, поверніть " +"``bytes[len(prefix):]``. В іншому випадку поверніть копію вихідних двійкових " +"даних::" msgid "" ">>> b'TestHook'.removeprefix(b'Test')\n" @@ -3447,18 +4449,23 @@ msgstr "" "b'BaseTestCase'" msgid "The *prefix* may be any :term:`bytes-like object`." -msgstr "" +msgstr "*Префікс* може бути будь-яким :term:`bytes-like object`." msgid "" "The bytearray version of this method does *not* operate in place - it always " "produces a new object, even if no changes were made." msgstr "" +"Versi bytearray dari metode ini *tidak* beroperasi di tempatnya - selalu " +"menghasilkan objek baru, bahkan jika tidak ada perubahan yang dilakukan." msgid "" "If the binary data ends with the *suffix* string and that *suffix* is not " "empty, return ``bytes[:-len(suffix)]``. Otherwise, return a copy of the " "original binary data::" msgstr "" +"Якщо двійкові дані закінчуються рядком *суфікса* і цей *суфікс* не порожній, " +"поверніть ``bytes[:-len(suffix)]``. В іншому випадку поверніть копію " +"вихідних двійкових даних::" msgid "" ">>> b'MiscTests'.removesuffix(b'Tests')\n" @@ -3472,10 +4479,10 @@ msgstr "" "b'TmpDirMixin'" msgid "The *suffix* may be any :term:`bytes-like object`." -msgstr "" +msgstr "*Суфіксом* може бути будь-який :term:`bytes-like object`." msgid "Return the bytes decoded to a :class:`str`." -msgstr "" +msgstr "Вернуть декодированные байты в :class:`str` ." msgid "" "*errors* controls how decoding errors are handled. If ``'strict'`` (the " @@ -3483,18 +4490,30 @@ msgid "" "are ``'ignore'``, ``'replace'``, and any other name registered via :func:" "`codecs.register_error`. See :ref:`error-handlers` for details." msgstr "" +"*errors* управляет обработкой ошибок декодирования. Если ``'строгий'`` (по " +"умолчанию), а :exc:`UnicodeError` возникает исключение. Другие возможные " +"значения: ``'игнорировать'`` , ``'заменить'`` и любое другое имя, " +"зарегистрированное через :func:`codecs.register_error` . Видеть :ref:" +"`обработчики ошибок` для получения подробной информации." msgid "" "For performance reasons, the value of *errors* is not checked for validity " "unless a decoding error actually occurs, :ref:`devmode` is enabled or a :ref:" "`debug build ` is used." msgstr "" +"По соображениям производительности значение *errors* не проверяется на " +"достоверность, если только не возникает ошибка декодирования. :ref:`devmode` " +"включен или имеется :ref:`отладочная сборка\n" +"` используется." msgid "" "Passing the *encoding* argument to :class:`str` allows decoding any :term:" "`bytes-like object` directly, without needing to make a temporary :class:`!" "bytes` or :class:`!bytearray` object." msgstr "" +"Передача аргумента *encoding* в :class:`str` позволяет декодировать любой :" +"term:`байтовый объект` напрямую, без необходимости создания временного :" +"class:`!bytes` или :class:`!bytearray` объект." msgid "" "Return ``True`` if the binary data ends with the specified *suffix*, " @@ -3502,9 +4521,13 @@ msgid "" "look for. With optional *start*, test beginning at that position. With " "optional *end*, stop comparing at that position." msgstr "" +"Повертає ``True``, якщо двійкові дані закінчуються вказаним *суфіксом*, " +"інакше повертає ``False``. *suffix* також може бути кортежем суфіксів для " +"пошуку. З необов'язковим *початком* тестування починається з цієї позиції. З " +"необов’язковим *end*, припинити порівняння на цій позиції." msgid "The suffix(es) to search for may be any :term:`bytes-like object`." -msgstr "" +msgstr "Суфікс(и) для пошуку може бути будь-яким :term:`bytes-like object`." msgid "" "Return the lowest index in the data where the subsequence *sub* is found, " @@ -3512,12 +4535,19 @@ msgid "" "arguments *start* and *end* are interpreted as in slice notation. Return " "``-1`` if *sub* is not found." msgstr "" +"Повертає найнижчий індекс у даних, де знайдено підпослідовність *sub*, так " +"що *sub* міститься в сегменті ``s[start:end]``. Необов’язкові аргументи " +"*початок* і *кінець* інтерпретуються як у нотації фрагментів. Повертає " +"``-1``, якщо *sub* не знайдено." msgid "" "The :meth:`~bytes.find` method should be used only if you need to know the " "position of *sub*. To check if *sub* is a substring or not, use the :" "keyword:`in` operator::" msgstr "" +"Метод :meth:`~bytes.find` слід використовувати, лише якщо вам потрібно знати " +"позицію *sub*. Щоб перевірити, чи є *sub* підрядком, скористайтеся " +"оператором :keyword:`in`::" msgid "" ">>> b'Py' in b'Python'\n" @@ -3530,6 +4560,8 @@ msgid "" "Like :meth:`~bytes.find`, but raise :exc:`ValueError` when the subsequence " "is not found." msgstr "" +"Як :meth:`~bytes.find`, але викликає :exc:`ValueError`, коли " +"підпослідовність не знайдено." msgid "" "Return a bytes or bytearray object which is the concatenation of the binary " @@ -3539,6 +4571,11 @@ msgid "" "elements is the contents of the bytes or bytearray object providing this " "method." msgstr "" +"Повертає об’єкт bytes або bytearray, який є конкатенацією двійкових " +"послідовностей даних у *iterable*. Помилка :exc:`TypeError` буде викликана, " +"якщо в *iterable* є будь-які значення, які не є :term:`bytes-подібними " +"об’єктами `, включаючи об’єкти :class:`str`. Роздільником " +"між елементами є вміст об’єкта bytes або bytearray, що забезпечує цей метод." msgid "" "This static method returns a translation table usable for :meth:`bytes." @@ -3546,6 +4583,10 @@ msgid "" "same position in *to*; *from* and *to* must both be :term:`bytes-like " "objects ` and have the same length." msgstr "" +"Цей статичний метод повертає таблицю перекладу, придатну для :meth:`bytes." +"translate`, яка відобразить кожен символ у *from* на символ у тій же позиції " +"в *to*; *from* і *to* мають бути :term:`байтоподібними об’єктами ` і мати однакову довжину." msgid "" "Split the sequence at the first occurrence of *sep*, and return a 3-tuple " @@ -3554,20 +4595,30 @@ msgid "" "found, return a 3-tuple containing a copy of the original sequence, followed " "by two empty bytes or bytearray objects." msgstr "" +"Розділіть послідовність при першому входженні *sep* і поверніть 3-кортеж, що " +"містить частину перед роздільником, сам роздільник або його копію байтового " +"масиву та частину після роздільника. Якщо роздільник не знайдено, поверніть " +"3-кортеж, що містить копію вихідної послідовності, за якою слідують два " +"порожні байти або об’єкти bytearray." msgid "The separator to search for may be any :term:`bytes-like object`." -msgstr "" +msgstr "Роздільником для пошуку може бути будь-який :term:`bytes-like object`." msgid "" "Return a copy of the sequence with all occurrences of subsequence *old* " "replaced by *new*. If the optional argument *count* is given, only the " "first *count* occurrences are replaced." msgstr "" +"Повертає копію послідовності з заміною всіх входжень підпослідовності *old* " +"на *new*. Якщо вказано необов’язковий аргумент *count*, заміняються лише " +"перші випадки *count*." msgid "" "The subsequence to search for and its replacement may be any :term:`bytes-" "like object`." msgstr "" +"Підпослідовністю для пошуку та її заміною може бути будь-який :term:`bytes-" +"like object`." msgid "" "Return the highest index in the sequence where the subsequence *sub* is " @@ -3575,11 +4626,17 @@ msgid "" "arguments *start* and *end* are interpreted as in slice notation. Return " "``-1`` on failure." msgstr "" +"Повертає найвищий індекс у послідовності, де знайдено підпослідовність " +"*sub*, так що *sub* міститься в ``s[start:end]``. Необов’язкові аргументи " +"*початок* і *кінець* інтерпретуються як у нотації фрагментів. Повернути " +"``-1`` у разі помилки." msgid "" "Like :meth:`~bytes.rfind` but raises :exc:`ValueError` when the subsequence " "*sub* is not found." msgstr "" +"Подібно до :meth:`~bytes.rfind`, але викликає :exc:`ValueError`, коли " +"підпослідовність *sub* не знайдено." msgid "" "Split the sequence at the last occurrence of *sep*, and return a 3-tuple " @@ -3588,6 +4645,11 @@ msgid "" "found, return a 3-tuple containing two empty bytes or bytearray objects, " "followed by a copy of the original sequence." msgstr "" +"Розділіть послідовність при останньому входженні *sep* і поверніть 3-кортеж, " +"що містить частину перед роздільником, сам роздільник або його копію " +"байтового масиву та частину після роздільника. Якщо роздільник не знайдено, " +"поверніть 3-кортеж, що містить два порожні об’єкти байтів або масиву байтів, " +"а потім копію вихідної послідовності." msgid "" "Return ``True`` if the binary data starts with the specified *prefix*, " @@ -3595,9 +4657,13 @@ msgid "" "look for. With optional *start*, test beginning at that position. With " "optional *end*, stop comparing at that position." msgstr "" +"Повертає ``True``, якщо двійкові дані починаються з указаного *префікса*, " +"інакше повертає ``False``. *префікс* також може бути кортежем префіксів для " +"пошуку. З необов’язковим *початком* тестування починається з цієї позиції. З " +"необов’язковим *end*, припинити порівняння на цій позиції." msgid "The prefix(es) to search for may be any :term:`bytes-like object`." -msgstr "" +msgstr "Префікс(и) для пошуку може бути будь-яким :term:`bytes-like object`." msgid "" "Return a copy of the bytes or bytearray object where all bytes occurring in " @@ -3605,15 +4671,22 @@ msgid "" "been mapped through the given translation table, which must be a bytes " "object of length 256." msgstr "" +"Повертає копію об’єкта bytes або bytearray, де всі байти, що зустрічаються в " +"необов’язковому аргументі *delete*, видаляються, а решта байтів відображено " +"через задану таблицю перекладу, яка має бути об’єктом bytes довжиною 256." msgid "" "You can use the :func:`bytes.maketrans` method to create a translation table." msgstr "" +"Ви можете використовувати метод :func:`bytes.maketrans` для створення " +"таблиці перекладу." msgid "" "Set the *table* argument to ``None`` for translations that only delete " "characters::" msgstr "" +"Встановіть для аргументу *table* значення ``None`` для перекладів, які " +"видаляють лише символи::" msgid "" ">>> b'read this short text'.translate(None, b'aeiou')\n" @@ -3623,7 +4696,7 @@ msgstr "" "b'rd ths shrt txt'" msgid "*delete* is now supported as a keyword argument." -msgstr "" +msgstr "*delete* тепер підтримується як аргумент ключового слова." msgid "" "The following methods on bytes and bytearray objects have default behaviours " @@ -3632,6 +4705,11 @@ msgid "" "all of the bytearray methods in this section do *not* operate in place, and " "instead produce new objects." msgstr "" +"Наведені нижче методи для об’єктів bytes і bytearray мають поведінку за " +"замовчуванням, яка передбачає використання ASCII-сумісних двійкових " +"форматів, але все одно їх можна використовувати з довільними двійковими " +"даними шляхом передачі відповідних аргументів. Зауважте, що всі методи " +"bytearray у цьому розділі *не* працюють на місці, а створюють нові об’єкти." msgid "" "Return a copy of the object centered in a sequence of length *width*. " @@ -3639,6 +4717,10 @@ msgid "" "For :class:`bytes` objects, the original sequence is returned if *width* is " "less than or equal to ``len(s)``." msgstr "" +"Повертає копію об’єкта з центром у послідовності довжиною *шириною*. " +"Доповнення виконується за допомогою вказаного *fillbyte* (за замовчуванням " +"це пробіл ASCII). Для об’єктів :class:`bytes` оригінальна послідовність " +"повертається, якщо *width* менше або дорівнює ``len(s)``." msgid "" "Return a copy of the object left justified in a sequence of length *width*. " @@ -3646,6 +4728,10 @@ msgid "" "For :class:`bytes` objects, the original sequence is returned if *width* is " "less than or equal to ``len(s)``." msgstr "" +"Повертає копію об’єкта, вирівняну за лівим краєм у послідовності довжини " +"*ширина*. Доповнення виконується за допомогою вказаного *fillbyte* (за " +"замовчуванням це пробіл ASCII). Для об’єктів :class:`bytes` вихідна " +"послідовність повертається, якщо *width* менше або дорівнює ``len(s)``." msgid "" "Return a copy of the sequence with specified leading bytes removed. The " @@ -3655,6 +4741,12 @@ msgid "" "removing ASCII whitespace. The *chars* argument is not a prefix; rather, " "all combinations of its values are stripped::" msgstr "" +"Повертає копію послідовності з видаленими вказаними початковими байтами. " +"Аргумент *chars* є двійковою послідовністю, яка визначає набір значень " +"байтів, які потрібно видалити. Назва вказує на те, що цей метод зазвичай " +"використовується з символами ASCII. Якщо пропущено або ``None``, аргумент " +"*chars* за умовчанням видаляє пробіли ASCII. Аргумент *chars* не є " +"префіксом; навпаки, усі комбінації його значень видаляються:" msgid "" ">>> b' spacious '.lstrip()\n" @@ -3672,6 +4764,10 @@ msgid "" "object`. See :meth:`~bytes.removeprefix` for a method that will remove a " "single prefix string rather than all of a set of characters. For example::" msgstr "" +"Двійкова послідовність байтових значень для видалення може бути будь-яким :" +"term:`bytes-like object`. Перегляньте :meth:`~bytes.removeprefix` для " +"методу, який видаляє один рядок префікса, а не весь набір символів. " +"Наприклад::" msgid "" ">>> b'Arthur: three!'.lstrip(b'Arthur: ')\n" @@ -3690,6 +4786,10 @@ msgid "" "For :class:`bytes` objects, the original sequence is returned if *width* is " "less than or equal to ``len(s)``." msgstr "" +"Повертає копію об’єкта, вирівняну по правому краю в послідовності довжина " +"*ширина*. Доповнення виконується за допомогою вказаного *fillbyte* (за " +"замовчуванням це пробіл ASCII). Для об’єктів :class:`bytes` оригінальна " +"послідовність повертається, якщо *width* менше або дорівнює ``len(s)``." msgid "" "Split the binary sequence into subsequences of the same type, using *sep* as " @@ -3699,6 +4799,12 @@ msgid "" "splitting from the right, :meth:`rsplit` behaves like :meth:`split` which is " "described in detail below." msgstr "" +"Розділіть бінарну послідовність на підпослідовності одного типу, " +"використовуючи *sep* як рядок-роздільник. Якщо задано *maxsplit*, " +"виконується щонайбільше *maxsplit* розбиття, *найправіші*. Якщо *sep* не " +"вказано або ``None``, будь-яка підпослідовність, що складається виключно з " +"пробілів ASCII, є роздільником. За винятком розділення справа, :meth:" +"`rsplit` поводиться як :meth:`split`, що детально описано нижче." msgid "" "Return a copy of the sequence with specified trailing bytes removed. The " @@ -3708,6 +4814,12 @@ msgid "" "removing ASCII whitespace. The *chars* argument is not a suffix; rather, " "all combinations of its values are stripped::" msgstr "" +"Повертає копію послідовності з видаленими вказаними кінцевими байтами. " +"Аргумент *chars* є двійковою послідовністю, яка визначає набір значень " +"байтів, які потрібно видалити. Назва вказує на те, що цей метод зазвичай " +"використовується з символами ASCII. Якщо пропущено або ``None``, аргумент " +"*chars* за замовчуванням видаляє пробіли ASCII. Аргумент *chars* не є " +"суфіксом; навпаки, усі комбінації його значень видаляються:" msgid "" ">>> b' spacious '.rstrip()\n" @@ -3725,6 +4837,10 @@ msgid "" "object`. See :meth:`~bytes.removesuffix` for a method that will remove a " "single suffix string rather than all of a set of characters. For example::" msgstr "" +"Двійкова послідовність байтових значень для видалення може бути будь-яким :" +"term:`bytes-like object`. Перегляньте :meth:`~bytes.removesuffix`, щоб " +"дізнатися про метод, який видалить один рядок суфікса, а не весь набір " +"символів. Наприклад::" msgid "" ">>> b'Monty Python'.rstrip(b' Python')\n" @@ -3744,6 +4860,12 @@ msgid "" "elements). If *maxsplit* is not specified or is ``-1``, then there is no " "limit on the number of splits (all possible splits are made)." msgstr "" +"Розділіть бінарну послідовність на підпослідовності одного типу, " +"використовуючи *sep* як рядок-роздільник. Якщо задано *maxsplit* і воно є " +"невід’ємним, виконується щонайбільше розділень *maxsplit* (отже, список " +"матиме щонайбільше елементів ``maxsplit+1``). Якщо *maxsplit* не вказано або " +"дорівнює ``-1``, тоді немає обмежень на кількість розбивок (виконуються всі " +"можливі розбиття)." msgid "" "If *sep* is given, consecutive delimiters are not grouped together and are " @@ -3754,6 +4876,14 @@ msgid "" "the type of object being split. The *sep* argument may be any :term:`bytes-" "like object`." msgstr "" +"Если указано *sep*, последовательные разделители не группируются вместе и " +"считаются разделителями пустых подпоследовательностей (например, ``b'1,,2'." +"split(b',')`` возвращает ``[b'1', b'', b'2']`` ). Аргумент *sep* может " +"состоять из многобайтовой последовательности в качестве одного разделителя. " +"Разделение пустой последовательности с указанным разделителем возвращает " +"результат ``[б'']`` или ``[bytearray(b'')]`` в зависимости от типа " +"разделяемого объекта. Аргументом *sep* может быть любой :term:`байтовый " +"объект`." msgid "" ">>> b'1,2,3'.split(b',')\n" @@ -3765,6 +4895,14 @@ msgid "" ">>> b'1<>2<>3<4'.split(b'<>')\n" "[b'1', b'2', b'3<4']" msgstr "" +">>> b'1,2,3'.split(b',')\n" +"[b'1', b'2', b'3']\n" +">>> b'1,2,3'.split(b',', maxsplit=1)\n" +"[b'1', b'2,3']\n" +">>> b'1,2,,3,'.split(b',')\n" +"[b'1', b'2', b'', b'3', b'']\n" +">>> b'1<>2<>3<4'.split(b'<>')\n" +"[b'1', b'2', b'3<4']" msgid "" "If *sep* is not specified or is ``None``, a different splitting algorithm is " @@ -3774,6 +4912,12 @@ msgid "" "an empty sequence or a sequence consisting solely of ASCII whitespace " "without a specified separator returns ``[]``." msgstr "" +"Якщо *sep* не вказано або має значення ``None``, застосовується інший " +"алгоритм поділу: цикли послідовних пробілів ASCII розглядаються як один " +"роздільник, і результат не міститиме порожніх рядків на початку або в кінці, " +"якщо послідовність має пробіли на початку або в кінці. Отже, розділення " +"порожньої послідовності або послідовності, що складається виключно з " +"пробілів ASCII без указаного роздільника, повертає ``[]``." msgid "" ">>> b'1 2 3'.split()\n" @@ -3783,6 +4927,12 @@ msgid "" ">>> b' 1 2 3 '.split()\n" "[b'1', b'2', b'3']" msgstr "" +">>> b'1 2 3'.split()\n" +"[b'1', b'2', b'3']\n" +">>> b'1 2 3'.split(maxsplit=1)\n" +"[b'1', b'2 3']\n" +">>> b' 1 2 3 '.split()\n" +"[b'1', b'2', b'3']" msgid "" "Return a copy of the sequence with specified leading and trailing bytes " @@ -3792,6 +4942,12 @@ msgid "" "argument defaults to removing ASCII whitespace. The *chars* argument is not " "a prefix or suffix; rather, all combinations of its values are stripped::" msgstr "" +"Повертає копію послідовності з вилученими вказаними початковим і кінцевим " +"байтами. Аргумент *chars* є двійковою послідовністю, яка визначає набір " +"значень байтів, які потрібно видалити. Назва вказує на те, що цей метод " +"зазвичай використовується з символами ASCII. Якщо пропущено або ``None``, " +"аргумент *chars* за замовчуванням видаляє пробіли ASCII. Аргумент *chars* не " +"є префіксом або суфіксом; навпаки, усі комбінації його значень видаляються:" msgid "" ">>> b' spacious '.strip()\n" @@ -3808,6 +4964,8 @@ msgid "" "The binary sequence of byte values to remove may be any :term:`bytes-like " "object`." msgstr "" +"Двійкова послідовність байтових значень для видалення може бути будь-яким :" +"term:`bytes-like object`." msgid "" "The following methods on bytes and bytearray objects assume the use of ASCII " @@ -3815,12 +4973,19 @@ msgid "" "data. Note that all of the bytearray methods in this section do *not* " "operate in place, and instead produce new objects." msgstr "" +"Наступні методи для об’єктів bytes і bytearray передбачають використання " +"двійкових форматів, сумісних із ASCII, і їх не слід застосовувати до " +"довільних двійкових даних. Зауважте, що всі методи bytearray у цьому розділі " +"*не* працюють на місці, а створюють нові об’єкти." msgid "" "Return a copy of the sequence with each byte interpreted as an ASCII " "character, and the first byte capitalized and the rest lowercased. Non-ASCII " "byte values are passed through unchanged." msgstr "" +"Повертає копію послідовності з кожним байтом, інтерпретованим як символ " +"ASCII, і перший байт у великому регістрі, а решта – у нижньому. Байтові " +"значення, відмінні від ASCII, передаються без змін." msgid "" "Return a copy of the sequence where all ASCII tab characters are replaced by " @@ -3836,6 +5001,19 @@ msgid "" "other byte value is copied unchanged and the current column is incremented " "by one regardless of how the byte value is represented when printed::" msgstr "" +"Повертає копію послідовності, де всі символи табуляції ASCII замінено одним " +"або декількома пробілами ASCII, залежно від поточного стовпця та заданого " +"розміру табуляції. Позиції табуляції відбуваються кожні байти *табуляції* " +"(за замовчуванням — 8, надаючи позиції табуляції в стовпцях 0, 8, 16 і так " +"далі). Щоб розширити послідовність, поточний стовпець встановлюється на нуль " +"і послідовність перевіряється побайтно. Якщо байт є символом табуляції ASCII " +"(``b'\\t'``), один або більше символів пробілу вставляються в результат, " +"доки поточний стовпець не буде відповідати наступній позиції табуляції. (Сам " +"символ табуляції не копіюється.) Якщо поточний байт є ASCII символом нового " +"рядка (``b'\\n'``) або поверненням каретки (``b'\\r'``), він копіюється і " +"поточний стовпець скидається на нуль. Будь-яке інше значення байта " +"копіюється без змін, а поточний стовпець збільшується на одиницю незалежно " +"від того, як значення байта представлено під час друку::" msgid "" ">>> b'01\\t012\\t0123\\t01234'.expandtabs()\n" @@ -3855,6 +5033,11 @@ msgid "" "``b'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'``. ASCII decimal " "digits are those byte values in the sequence ``b'0123456789'``." msgstr "" +"Повертає ``True``, якщо всі байти в послідовності є алфавітними символами " +"ASCII або десятковими цифрами ASCII і послідовність не є порожньою, " +"``False`` інакше. Алфавітні символи ASCII – це значення байтів у " +"послідовності ``b'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ``. " +"Десяткові цифри ASCII – це значення байтів у послідовності ``b'0123456789``." msgid "" ">>> b'ABCabc1'.isalnum()\n" @@ -3873,6 +5056,10 @@ msgid "" "characters are those byte values in the sequence " "``b'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'``." msgstr "" +"Повертає ``True``, якщо всі байти в послідовності є алфавітними символами " +"ASCII і послідовність не є пустою, ``False`` інакше. Алфавітні символи ASCII " +"– це значення байтів у послідовності " +"``b'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ``." msgid "" ">>> b'ABCabc'.isalpha()\n" @@ -3889,12 +5076,17 @@ msgid "" "Return ``True`` if the sequence is empty or all bytes in the sequence are " "ASCII, ``False`` otherwise. ASCII bytes are in the range 0-0x7F." msgstr "" +"Повертає ``True``, якщо послідовність порожня або всі байти в послідовності " +"ASCII, ``False`` інакше. Байти ASCII знаходяться в діапазоні 0-0x7F." msgid "" "Return ``True`` if all bytes in the sequence are ASCII decimal digits and " "the sequence is not empty, ``False`` otherwise. ASCII decimal digits are " "those byte values in the sequence ``b'0123456789'``." msgstr "" +"Повертає ``True``, якщо всі байти в послідовності є десятковими цифрами " +"ASCII і послідовність не порожня, ``False`` інакше. Десяткові цифри ASCII – " +"це значення байтів у послідовності ``b'0123456789``." msgid "" ">>> b'1234'.isdigit()\n" @@ -3911,6 +5103,8 @@ msgid "" "Return ``True`` if there is at least one lowercase ASCII character in the " "sequence and no uppercase ASCII characters, ``False`` otherwise." msgstr "" +"Повертає ``True``, якщо в послідовності є принаймні один символ нижнього " +"регістру ASCII і немає символів ASCII у верхньому регістрі, інакше ``False``." msgid "" ">>> b'hello world'.islower()\n" @@ -3928,6 +5122,9 @@ msgid "" "``b'abcdefghijklmnopqrstuvwxyz'``. Uppercase ASCII characters are those byte " "values in the sequence ``b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``." msgstr "" +"Символи ASCII у нижньому регістрі – це значення байтів у послідовності " +"``b'abcdefghijklmnopqrstuvwxyz``. Символи ASCII у верхньому регістрі – це " +"значення байтів у послідовності ``b'ABCDEFGHIJKLMNOPQRSTUVWXYZ``." msgid "" "Return ``True`` if all bytes in the sequence are ASCII whitespace and the " @@ -3935,12 +5132,20 @@ msgid "" "those byte values in the sequence ``b' \\t\\n\\r\\x0b\\f'`` (space, tab, " "newline, carriage return, vertical tab, form feed)." msgstr "" +"Повертає ``True``, якщо всі байти в послідовності є пробілами ASCII і " +"послідовність не порожня, ``False`` інакше. Пробільні символи ASCII – це " +"значення байтів у послідовності ``b' \\t\\n\\r\\x0b\\f''`` (пробіл, " +"табуляція, новий рядок, повернення каретки, вертикальна табуляція, передача " +"форми)." msgid "" "Return ``True`` if the sequence is ASCII titlecase and the sequence is not " "empty, ``False`` otherwise. See :meth:`bytes.title` for more details on the " "definition of \"titlecase\"." msgstr "" +"Повертає ``True``, якщо послідовність має регістр заголовків ASCII і " +"послідовність не є порожньою, ``False`` інакше. Дивіться :meth:`bytes." +"title`, щоб дізнатися більше про визначення \"заголовка\"." msgid "" ">>> b'Hello World'.istitle()\n" @@ -3958,6 +5163,9 @@ msgid "" "character in the sequence and no lowercase ASCII characters, ``False`` " "otherwise." msgstr "" +"Повертає ``True``, якщо в послідовності є принаймні один символ ASCII у " +"верхньому регістрі та відсутні символи ASCII у нижньому регістрі, інакше " +"``False``." msgid "" ">>> b'HELLO WORLD'.isupper()\n" @@ -3974,6 +5182,8 @@ msgid "" "Return a copy of the sequence with all the uppercase ASCII characters " "converted to their corresponding lowercase counterpart." msgstr "" +"Повертає копію послідовності з усіма символами ASCII у верхньому регістрі, " +"перетвореними на їхні відповідні відповідники у нижньому регістрі." msgid "" ">>> b'Hello World'.lower()\n" @@ -3988,6 +5198,10 @@ msgid "" "splitting lines. Line breaks are not included in the resulting list unless " "*keepends* is given and true." msgstr "" +"Повертає список рядків у двійковій послідовності, розриваючи межі рядків " +"ASCII. Цей метод використовує підхід :term:`universal newlines` до " +"розділення рядків. Розриви рядків не включаються до результуючого списку, " +"якщо не задано *keepends* і воно є істинним." msgid "" ">>> b'ab c\\n\\nde fg\\rkl\\r\\n'.splitlines()\n" @@ -3995,12 +5209,19 @@ msgid "" ">>> b'ab c\\n\\nde fg\\rkl\\r\\n'.splitlines(keepends=True)\n" "[b'ab c\\n', b'\\n', b'de fg\\r', b'kl\\r\\n']" msgstr "" +">>> b'ab c\\n\\nde fg\\rkl\\r\\n'.splitlines()\n" +"[b'ab c', b'', b'de fg', b'kl']\n" +">>> b'ab c\\n\\nde fg\\rkl\\r\\n'.splitlines(keepends=True)\n" +"[b'ab c\\n', b'\\n', b'de fg\\r', b'kl\\r\\n']" msgid "" "Unlike :meth:`~bytes.split` when a delimiter string *sep* is given, this " "method returns an empty list for the empty string, and a terminal line break " "does not result in an extra line::" msgstr "" +"На відміну від :meth:`~bytes.split`, коли задано рядок розділювача *sep*, " +"цей метод повертає порожній список для порожнього рядка, а розрив кінцевого " +"рядка не призводить до додаткового рядка::" msgid "" ">>> b\"\".split(b'\\n'), b\"Two lines\\n\".split(b'\\n')\n" @@ -4008,11 +5229,18 @@ msgid "" ">>> b\"\".splitlines(), b\"One line\\n\".splitlines()\n" "([], [b'One line'])" msgstr "" +">>> b\"\".split(b'\\n'), b\"Two lines\\n\".split(b'\\n')\n" +"([b''], [b'Two lines', b''])\n" +">>> b\"\".splitlines(), b\"One line\\n\".splitlines()\n" +"([], [b'One line'])" msgid "" "Return a copy of the sequence with all the lowercase ASCII characters " "converted to their corresponding uppercase counterpart and vice-versa." msgstr "" +"Повертає копію послідовності з усіма символами нижнього регістру ASCII, " +"перетвореними на їхні відповідні відповідники у верхньому регістрі та " +"навпаки." msgid "" ">>> b'Hello World'.swapcase()\n" @@ -4027,12 +5255,18 @@ msgid "" "symmetrical in ASCII, even though that is not generally true for arbitrary " "Unicode code points." msgstr "" +"В отличие от :func:`str.swapcase` , всегда так бывает ``bin.swapcase()." +"swapcase() == bin`` для бинарных версий. Преобразования регистра в ASCII " +"симметричны, хотя это обычно не верно для произвольных кодовых точек Юникода." msgid "" "Return a titlecased version of the binary sequence where words start with an " "uppercase ASCII character and the remaining characters are lowercase. " "Uncased byte values are left unmodified." msgstr "" +"Повертає версію двійкової послідовності в заголовку, де слова починаються з " +"символу ASCII у верхньому регістрі, а решта символів – у нижньому регістрі. " +"Значення байтів без регістру залишаються незмінними." msgid "" ">>> b'Hello world'.title()\n" @@ -4047,6 +5281,10 @@ msgid "" "values in the sequence ``b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``. All other byte " "values are uncased." msgstr "" +"Символи ASCII у нижньому регістрі – це значення байтів у послідовності " +"``b'abcdefghijklmnopqrstuvwxyz``. Символи ASCII у верхньому регістрі – це " +"значення байтів у послідовності ``b'ABCDEFGHIJKLMNOPQRSTUVWXYZ``. Усі інші " +"значення байтів без регістру." msgid "" ">>> b\"they're bill's friends from the UK\".title()\n" @@ -4058,6 +5296,7 @@ msgstr "" msgid "" "A workaround for apostrophes can be constructed using regular expressions::" msgstr "" +"Обхідний шлях для апострофів можна створити за допомогою регулярних виразів:" msgid "" ">>> import re\n" @@ -4070,11 +5309,22 @@ msgid "" ">>> titlecase(b\"they're bill's friends.\")\n" "b\"They're Bill's Friends.\"" msgstr "" +">>> import re\n" +">>> def titlecase(s):\n" +"... return re.sub(rb\"[A-Za-z]+('[A-Za-z]+)?\",\n" +"... lambda mo: mo.group(0)[0:1].upper() +\n" +"... mo.group(0)[1:].lower(),\n" +"... s)\n" +"...\n" +">>> titlecase(b\"they're bill's friends.\")\n" +"b\"They're Bill's Friends.\"" msgid "" "Return a copy of the sequence with all the lowercase ASCII characters " "converted to their corresponding uppercase counterpart." msgstr "" +"Повертає копію послідовності з усіма символами нижнього регістру ASCII, " +"перетвореними на їхні відповідні відповідники у верхньому регістрі." msgid "" ">>> b'Hello World'.upper()\n" @@ -4090,6 +5340,11 @@ msgid "" "before. For :class:`bytes` objects, the original sequence is returned if " "*width* is less than or equal to ``len(seq)``." msgstr "" +"Поверніть копію послідовності зліва, заповнену цифрами ASCII ``b'0``, щоб " +"створити послідовність довжиною *ширина*. Початковий префікс знака " +"(``b'+'``/ ``b'-'``) обробляється шляхом вставки заповнення *після* символу " +"знака, а не перед ним. Для об’єктів :class:`bytes` оригінальна послідовність " +"повертається, якщо *width* менше або дорівнює ``len(seq)``." msgid "" ">>> b\"42\".zfill(5)\n" @@ -4103,7 +5358,7 @@ msgstr "" "b'-0042'" msgid "``printf``-style Bytes Formatting" -msgstr "" +msgstr "Форматування байтів у стилі ``printf``" msgid "" "The formatting operations described here exhibit a variety of quirks that " @@ -4111,6 +5366,10 @@ msgid "" "dictionaries correctly). If the value being printed may be a tuple or " "dictionary, wrap it in a tuple." msgstr "" +"Операції форматування, описані тут, демонструють різноманітні особливості, " +"які призводять до низки поширених помилок (наприклад, неправильне " +"відображення кортежів і словників). Якщо значення, яке друкується, може бути " +"кортежем або словником, оберніть його в кортеж." msgid "" "Bytes objects (``bytes``/``bytearray``) have one unique built-in operation: " @@ -4120,6 +5379,12 @@ msgid "" "zero or more elements of *values*. The effect is similar to using the :c:" "func:`sprintf` in the C language." msgstr "" +"Об’єкти Bytes (``bytes``/``bytearray``) мають одну унікальну вбудовану " +"операцію: оператор ``%`` (за модулем). Це також відоме як оператор " +"*форматування* або *інтерполяції* байтів. Враховуючи ``формат % значень`` " +"(де *format* є об’єктом байтів), ``%`` специфікації перетворення у *format* " +"замінюються нулем або більше елементами *значень*. Ефект подібний до " +"використання :c:func:`sprintf` у мові C." msgid "" "If *format* requires a single argument, *values* may be a single non-tuple " @@ -4127,6 +5392,10 @@ msgid "" "items specified by the format bytes object, or a single mapping object (for " "example, a dictionary)." msgstr "" +"Якщо для *format* потрібен один аргумент, *values* може бути одним " +"некортежним об’єктом. [5]_ В іншому випадку *values* має бути кортежем із " +"точною кількістю елементів, указаною об’єктом format bytes, або одним " +"об’єктом відображення (наприклад, словником)." msgid "" "When the right argument is a dictionary (or other mapping type), then the " @@ -4134,9 +5403,13 @@ msgid "" "that dictionary inserted immediately after the ``'%'`` character. The " "mapping key selects the value to be formatted from the mapping. For example:" msgstr "" +"Коли правильний аргумент є словником (або іншим типом відображення), тоді " +"формати в об’єкті bytes *мають* містити ключ відображення в дужках у цьому " +"словнику, вставлений відразу після символу ``'%'``. Ключ відображення " +"вибирає значення, яке потрібно відформатувати, із відображення. Наприклад:" msgid "Single byte (accepts integer or single byte objects)." -msgstr "" +msgstr "Однобайтовий (приймає цілі чи однобайтові об’єкти)." msgid "``'b'``" msgstr "``'b'``" @@ -4145,48 +5418,62 @@ msgid "" "Bytes (any object that follows the :ref:`buffer protocol ` or " "has :meth:`~object.__bytes__`)." msgstr "" +"Байты (любой объект, который следует протоколу :ref:`buffer\n" +"` или имеет :meth:`~object.__bytes__` )." msgid "" "``'s'`` is an alias for ``'b'`` and should only be used for Python2/3 code " "bases." msgstr "" +"``'s''`` є псевдонімом для ``'b''`` і має використовуватися лише для " +"базового коду Python2/3." msgid "" "Bytes (converts any Python object using ``repr(obj).encode('ascii', " "'backslashreplace')``)." msgstr "" +"Байти (перетворює будь-який об’єкт Python за допомогою ``repr(obj)." +"encode('ascii', 'backslashreplace')``)." msgid "" "``'r'`` is an alias for ``'a'`` and should only be used for Python2/3 code " "bases." msgstr "" +"``'r'`` є псевдонімом для ``'a'`` і має використовуватися лише для базових " +"кодів Python2/3." msgid "\\(7)" -msgstr "" +msgstr "\\(7)" msgid "``b'%s'`` is deprecated, but will not be removed during the 3.x series." -msgstr "" +msgstr "``b'%s`` є застарілим, але не буде видалено протягом серії 3.x." msgid "``b'%r'`` is deprecated, but will not be removed during the 3.x series." -msgstr "" +msgstr "``b'%r''`` є застарілим, але не буде видалено протягом серії 3.x." msgid ":pep:`461` - Adding % formatting to bytes and bytearray" -msgstr "" +msgstr ":pep:`461` - Додано форматування % до байтів і масиву байтів" msgid "Memory Views" -msgstr "" +msgstr "Bellek Görünümleri" msgid "" ":class:`memoryview` objects allow Python code to access the internal data of " "an object that supports the :ref:`buffer protocol ` without " "copying." msgstr "" +"Об’єкти :class:`memoryview` дозволяють коду Python отримувати доступ до " +"внутрішніх даних об’єкта, який підтримує :ref:`протокол буфера " +"` без копіювання." msgid "" "Create a :class:`memoryview` that references *object*. *object* must " "support the buffer protocol. Built-in objects that support the buffer " "protocol include :class:`bytes` and :class:`bytearray`." msgstr "" +"Створіть :class:`memoryview`, який посилається на *об’єкт*. *об’єкт* має " +"підтримувати протокол буфера. Вбудовані об’єкти, які підтримують протокол " +"буфера, включають :class:`bytes` і :class:`bytearray`." msgid "" "A :class:`memoryview` has the notion of an *element*, which is the atomic " @@ -4194,27 +5481,40 @@ msgid "" "as :class:`bytes` and :class:`bytearray`, an element is a single byte, but " "other types such as :class:`array.array` may have bigger elements." msgstr "" +":class:`memoryview` має поняття *елемента*, який є атомарною одиницею " +"пам’яті, яка обробляється вихідним *об’єктом*. Для багатьох простих типів, " +"таких як :class:`bytes` і :class:`bytearray`, елемент є одним байтом, але " +"інші типи, такі як :class:`array.array`, можуть мати більші елементи." msgid "" "``len(view)`` is equal to the length of :class:`~memoryview.tolist`, which " "is the nested list representation of the view. If ``view.ndim = 1``, this is " "equal to the number of elements in the view." msgstr "" +"``лен(просмотр)`` равна длине :class:`~memoryview.tolist` , который " +"представляет собой вложенный список представления. Если ``view.ndim = 1`` , " +"это равно количеству элементов в представлении." msgid "" "If ``view.ndim == 0``, ``len(view)`` now raises :exc:`TypeError` instead of " "returning 1." msgstr "" +"Если ``view.ndim == 0`` , ``лен(просмотр)`` теперь поднимает :exc:" +"`TypeError` вместо возврата 1." msgid "" "The :class:`~memoryview.itemsize` attribute will give you the number of " "bytes in a single element." msgstr "" +"The :class:`~memoryview.itemsize` Атрибут даст вам количество байтов в одном " +"элементе." msgid "" "A :class:`memoryview` supports slicing and indexing to expose its data. One-" "dimensional slicing will result in a subview::" msgstr "" +":class:`memoryview` підтримує нарізку та індексування для показу своїх " +"даних. Одновимірне нарізання призведе до підвиду::" msgid "" ">>> v = memoryview(b'abcefg')\n" @@ -4227,6 +5527,15 @@ msgid "" ">>> bytes(v[1:4])\n" "b'bce'" msgstr "" +">>> v = memoryview(b'abcefg')\n" +">>> v[1]\n" +"98\n" +">>> v[-1]\n" +"103\n" +">>> v[1:4]\n" +"\n" +">>> bytes(v[1:4])\n" +"b'bce'" msgid "" "If :class:`~memoryview.format` is one of the native format specifiers from " @@ -4237,9 +5546,17 @@ msgid "" "*ndim* integers where *ndim* is the number of dimensions. Zero-dimensional " "memoryviews can be indexed with the empty tuple." msgstr "" +"Якщо :class:`~memoryview.format` є одним із власних специфікаторів формату з " +"модуля :mod:`struct`, індексація за допомогою цілого числа або кортежу цілих " +"чисел також підтримується та повертає один *елемент* із правильним типом . " +"Одновимірні представлення пам'яті можна індексувати за допомогою цілого або " +"одноцілого кортежу. Багатовимірні представлення пам’яті можна індексувати за " +"допомогою кортежів з точно *ndim* цілих чисел, де *ndim* є кількістю " +"вимірів. Нульвимірні представлення пам'яті можна індексувати за допомогою " +"порожнього кортежу." msgid "Here is an example with a non-byte format::" -msgstr "" +msgstr "Ось приклад небайтового формату::" msgid "" ">>> import array\n" @@ -4252,11 +5569,22 @@ msgid "" ">>> m[::2].tolist()\n" "[-11111111, -33333333]" msgstr "" +">>> import array\n" +">>> a = array.array('l', [-11111111, 22222222, -33333333, 44444444])\n" +">>> m = memoryview(a)\n" +">>> m[0]\n" +"-11111111\n" +">>> m[-1]\n" +"44444444\n" +">>> m[::2].tolist()\n" +"[-11111111, -33333333]" msgid "" "If the underlying object is writable, the memoryview supports one-" "dimensional slice assignment. Resizing is not allowed::" msgstr "" +"Якщо основний об’єкт доступний для запису, memoryview підтримує одновимірне " +"призначення фрагментів. Зміна розміру заборонена::" msgid "" ">>> data = bytearray(b'abcefg')\n" @@ -4278,12 +5606,33 @@ msgid "" ">>> data\n" "bytearray(b'z1spam')" msgstr "" +">>> data = bytearray(b'abcefg')\n" +">>> v = memoryview(data)\n" +">>> v.readonly\n" +"False\n" +">>> v[0] = ord(b'z')\n" +">>> data\n" +"bytearray(b'zbcefg')\n" +">>> v[1:4] = b'123'\n" +">>> data\n" +"bytearray(b'z123fg')\n" +">>> v[2:3] = b'spam'\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +"ValueError: memoryview assignment: lvalue and rvalue have different " +"structures\n" +">>> v[2:6] = b'spam'\n" +">>> data\n" +"bytearray(b'z1spam')" msgid "" "One-dimensional memoryviews of :term:`hashable` (read-only) types with " "formats 'B', 'b' or 'c' are also hashable. The hash is defined as ``hash(m) " "== hash(m.tobytes())``::" msgstr "" +"Одномерные представления памяти типов :term:`hashable` (только для чтения) с " +"форматами «B», «b» или «c» также являются хэшируемыми. Хэш определяется как " +"``хэш(m) == хэш(m.tobytes())`` ::" msgid "" ">>> v = memoryview(b'abcefg')\n" @@ -4294,33 +5643,48 @@ msgid "" ">>> hash(v[::-2]) == hash(b'abcefg'[::-2])\n" "True" msgstr "" +">>> v = memoryview(b'abcefg')\n" +">>> hash(v) == hash(b'abcefg')\n" +"True\n" +">>> hash(v[2:4]) == hash(b'ce')\n" +"True\n" +">>> hash(v[::-2]) == hash(b'abcefg'[::-2])\n" +"True" msgid "" "One-dimensional memoryviews can now be sliced. One-dimensional memoryviews " "with formats 'B', 'b' or 'c' are now :term:`hashable`." msgstr "" +"Одномерные представления памяти теперь можно нарезать. Одномерные " +"представления памяти в форматах «B», «b» или «c» теперь :term:`хешируются`." msgid "" "memoryview is now registered automatically with :class:`collections.abc." "Sequence`" msgstr "" +"memoryview тепер автоматично реєструється в :class:`collections.abc.Sequence`" msgid "memoryviews can now be indexed with tuple of integers." -msgstr "" +msgstr "memoryviews тепер можна індексувати кортежем цілих чисел." msgid ":class:`memoryview` has several methods:" -msgstr "" +msgstr ":class:`memoryview` має кілька методів:" msgid "" "A memoryview and a :pep:`3118` exporter are equal if their shapes are " "equivalent and if all corresponding values are equal when the operands' " "respective format codes are interpreted using :mod:`struct` syntax." msgstr "" +"Memoriview і експортер :pep:`3118` є рівними, якщо їхні форми еквівалентні " +"та якщо всі відповідні значення рівні, коли відповідні коди формату " +"операндів інтерпретуються за допомогою синтаксису :mod:`struct`." msgid "" "For the subset of :mod:`struct` format strings currently supported by :meth:" "`tolist`, ``v`` and ``w`` are equal if ``v.tolist() == w.tolist()``::" msgstr "" +"Для підмножини рядків формату :mod:`struct`, які зараз підтримуються :meth:" +"`tolist`, ``v`` і ``w`` рівні, якщо ``v.tolist() == w.tolist()``::" msgid "" ">>> import array\n" @@ -4339,12 +5703,30 @@ msgid "" ">>> z.tolist() == c.tolist()\n" "True" msgstr "" +">>> import array\n" +">>> a = array.array('I', [1, 2, 3, 4, 5])\n" +">>> b = array.array('d', [1.0, 2.0, 3.0, 4.0, 5.0])\n" +">>> c = array.array('b', [5, 3, 1])\n" +">>> x = memoryview(a)\n" +">>> y = memoryview(b)\n" +">>> x == a == y == b\n" +"True\n" +">>> x.tolist() == a.tolist() == y.tolist() == b.tolist()\n" +"True\n" +">>> z = y[::-2]\n" +">>> z == c\n" +"True\n" +">>> z.tolist() == c.tolist()\n" +"True" msgid "" "If either format string is not supported by the :mod:`struct` module, then " "the objects will always compare as unequal (even if the format strings and " "buffer contents are identical)::" msgstr "" +"Якщо будь-який рядок формату не підтримується модулем :mod:`struct`, тоді " +"об’єкти завжди порівнюватимуться як нерівні (навіть якщо рядки формату та " +"вміст буфера ідентичні)::" msgid "" ">>> from ctypes import BigEndianStructure, c_long\n" @@ -4359,21 +5741,38 @@ msgid "" ">>> a == b\n" "False" msgstr "" +">>> from ctypes import BigEndianStructure, c_long\n" +">>> class BEPoint(BigEndianStructure):\n" +"... _fields_ = [(\"x\", c_long), (\"y\", c_long)]\n" +"...\n" +">>> point = BEPoint(100, 200)\n" +">>> a = memoryview(point)\n" +">>> b = memoryview(point)\n" +">>> a == point\n" +"False\n" +">>> a == b\n" +"False" msgid "" "Note that, as with floating-point numbers, ``v is w`` does *not* imply ``v " "== w`` for memoryview objects." msgstr "" +"Обратите внимание, что, как и в случае с числами с плавающей запятой, ``v - " +"это w`` *не* подразумевает ``v == w`` для объектов MemoryView." msgid "" "Previous versions compared the raw memory disregarding the item format and " "the logical array structure." msgstr "" +"Попередні версії порівнювали необроблену пам’ять без урахування формату " +"елемента та логічної структури масиву." msgid "" "Return the data in the buffer as a bytestring. This is equivalent to " "calling the :class:`bytes` constructor on the memoryview. ::" msgstr "" +"Повертає дані в буфері як байтовий рядок. Це еквівалентно виклику " +"конструктора :class:`bytes` у memoryview. ::" msgid "" ">>> m = memoryview(b\"abc\")\n" @@ -4394,6 +5793,9 @@ msgid "" "supports all format strings, including those that are not in :mod:`struct` " "module syntax." msgstr "" +"Для несуміжних масивів результат дорівнює представленню зведеного списку з " +"усіма елементами, перетвореними на байти. :meth:`tobytes` підтримує всі " +"рядки формату, включно з тими, яких немає в синтаксисі модуля :mod:`struct`." msgid "" "*order* can be {'C', 'F', 'A'}. When *order* is 'C' or 'F', the data of the " @@ -4402,11 +5804,18 @@ msgid "" "Fortran order is preserved. For non-contiguous views, the data is converted " "to C first. *order=None* is the same as *order='C'*." msgstr "" +"*порядок* може бути {'C', 'F', 'A'}. Якщо *порядок* має значення \"C\" або " +"\"F\", дані вихідного масиву перетворюються на порядок C або Fortran. Для " +"суміжних переглядів \"A\" повертає точну копію фізичної пам’яті. Зокрема, " +"зберігається порядок Fortran у пам'яті. Для несуміжних переглядів дані " +"спочатку перетворюються на C. *order=None* те саме, що *order='C'*." msgid "" "Return a string object containing two hexadecimal digits for each byte in " "the buffer. ::" msgstr "" +"Повертає рядковий об’єкт, що містить дві шістнадцяткові цифри для кожного " +"байта в буфері. ::" msgid "" ">>> m = memoryview(b\"abc\")\n" @@ -4422,9 +5831,12 @@ msgid "" "*sep* and *bytes_per_sep* parameters to insert separators between bytes in " "the hex output." msgstr "" +"Подібно до :meth:`bytes.hex`, :meth:`memoryview.hex` тепер підтримує " +"додаткові параметри *sep* і *bytes_per_sep* для вставки роздільників між " +"байтами в шістнадцятковому виведенні." msgid "Return the data in the buffer as a list of elements. ::" -msgstr "" +msgstr "Повертає дані в буфері як список елементів. ::" msgid "" ">>> memoryview(b'abc').tolist()\n" @@ -4435,16 +5847,27 @@ msgid "" ">>> m.tolist()\n" "[1.1, 2.2, 3.3]" msgstr "" +">>> memoryview(b'abc').tolist()\n" +"[97, 98, 99]\n" +">>> import array\n" +">>> a = array.array('d', [1.1, 2.2, 3.3])\n" +">>> m = memoryview(a)\n" +">>> m.tolist()\n" +"[1.1, 2.2, 3.3]" msgid "" ":meth:`tolist` now supports all single character native formats in :mod:" "`struct` module syntax as well as multi-dimensional representations." msgstr "" +":meth:`tolist` тепер підтримує всі односимвольні рідні формати в синтаксисі " +"модуля :mod:`struct`, а також багатовимірні представлення." msgid "" "Return a readonly version of the memoryview object. The original memoryview " "object is unchanged. ::" msgstr "" +"Повертає версію об’єкта memoryview лише для читання. Оригінальний об’єкт " +"memoryview не змінено. ::" msgid "" ">>> m = memoryview(bytearray(b'abc'))\n" @@ -4459,6 +5882,17 @@ msgid "" ">>> mm.tolist()\n" "[43, 98, 99]" msgstr "" +">>> m = memoryview(bytearray(b'abc'))\n" +">>> mm = m.toreadonly()\n" +">>> mm.tolist()\n" +"[97, 98, 99]\n" +">>> mm[0] = 42\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +"TypeError: cannot modify read-only memory\n" +">>> m[0] = 43\n" +">>> mm.tolist()\n" +"[43, 98, 99]" msgid "" "Release the underlying buffer exposed by the memoryview object. Many " @@ -4467,12 +5901,20 @@ msgid "" "release() is handy to remove these restrictions (and free any dangling " "resources) as soon as possible." msgstr "" +"Вивільніть базовий буфер, відкритий об’єктом memoryview. Багато об’єктів " +"виконують спеціальні дії, коли їх переглядають (наприклад, :class:" +"`bytearray` тимчасово забороняє зміну розміру); отже, виклик release() є " +"зручним, щоб усунути ці обмеження (і звільнити будь-які завислі ресурси) " +"якомога швидше." msgid "" "After this method has been called, any further operation on the view raises " "a :class:`ValueError` (except :meth:`release` itself which can be called " "multiple times)::" msgstr "" +"После вызова этого метода любая дальнейшая операция над представлением " +"вызывает ошибку. :class:`ValueError` (кроме :meth:`выпуск` сам по себе, " +"который можно вызывать несколько раз)::" msgid "" ">>> m = memoryview(b'abc')\n" @@ -4482,11 +5924,19 @@ msgid "" " File \"\", line 1, in \n" "ValueError: operation forbidden on released memoryview object" msgstr "" +">>> m = memoryview(b'abc')\n" +">>> m.release()\n" +">>> m[0]\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +"ValueError: operation forbidden on released memoryview object" msgid "" "The context management protocol can be used for a similar effect, using the " "``with`` statement::" msgstr "" +"Протокол керування контекстом може бути використаний для подібного ефекту, " +"використовуючи оператор ``with``::" msgid "" ">>> with memoryview(b'abc') as m:\n" @@ -4498,6 +5948,14 @@ msgid "" " File \"\", line 1, in \n" "ValueError: operation forbidden on released memoryview object" msgstr "" +">>> with memoryview(b'abc') as m:\n" +"... m[0]\n" +"...\n" +"97\n" +">>> m[0]\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +"ValueError: operation forbidden on released memoryview object" msgid "" "Cast a memoryview to a new format or shape. *shape* defaults to " @@ -4506,6 +5964,11 @@ msgid "" "is not copied. Supported casts are 1D -> C-:term:`contiguous` and C-" "contiguous -> 1D." msgstr "" +"Транслюйте пам’ять у новий формат або форму. *shape* за умовчанням має " +"значення ``[byte_length//new_itemsize]``, що означає, що перегляд результату " +"буде одновимірним. Поверненим значенням є новий перегляд пам’яті, але сам " +"буфер не копіюється. Підтримувані приведення: 1D -> C-:term:`contiguous` і C-" +"contiguous -> 1D." msgid "" "The destination format is restricted to a single element native format in :" @@ -4513,9 +5976,14 @@ msgid "" "'c'). The byte length of the result must be the same as the original length. " "Note that all byte lengths may depend on the operating system." msgstr "" +"Формат назначения ограничен собственным форматом одного элемента в :mod:" +"`структура` синтаксис. Один из форматов должен быть байтовым («B», «b» или " +"«c»). Длина результата в байтах должна быть такой же, как исходная длина. " +"Обратите внимание, что длина всех байтов может зависеть от операционной " +"системы." msgid "Cast 1D/long to 1D/unsigned bytes::" -msgstr "" +msgstr "Перетворення 1D/long на 1D/беззнакові байти::" msgid "" ">>> import array\n" @@ -4539,9 +6007,29 @@ msgid "" ">>> y.nbytes\n" "24" msgstr "" +">>> import array\n" +">>> a = array.array('l', [1,2,3])\n" +">>> x = memoryview(a)\n" +">>> x.format\n" +"'l'\n" +">>> x.itemsize\n" +"8\n" +">>> len(x)\n" +"3\n" +">>> x.nbytes\n" +"24\n" +">>> y = x.cast('B')\n" +">>> y.format\n" +"'B'\n" +">>> y.itemsize\n" +"1\n" +">>> len(y)\n" +"24\n" +">>> y.nbytes\n" +"24" msgid "Cast 1D/unsigned bytes to 1D/char::" -msgstr "" +msgstr "Перетворення 1D/беззнакових байтів у 1D/char::" msgid "" ">>> b = bytearray(b'zyz')\n" @@ -4555,9 +6043,19 @@ msgid "" ">>> b\n" "bytearray(b'ayz')" msgstr "" +">>> b = bytearray(b'zyz')\n" +">>> x = memoryview(b)\n" +">>> x[0] = b'a'\n" +"Traceback (most recent call last):\n" +" ...\n" +"TypeError: memoryview: invalid type for format 'B'\n" +">>> y = x.cast('c')\n" +">>> y[0] = b'a'\n" +">>> b\n" +"bytearray(b'ayz')" msgid "Cast 1D/bytes to 3D/ints to 1D/signed char::" -msgstr "" +msgstr "Перетворити 1D/байти на 3D/ints на 1D/signed char::" msgid "" ">>> import struct\n" @@ -4584,9 +6082,32 @@ msgid "" ">>> z.nbytes\n" "48" msgstr "" +">>> import struct\n" +">>> buf = struct.pack(\"i\"*12, *list(range(12)))\n" +">>> x = memoryview(buf)\n" +">>> y = x.cast('i', shape=[2,2,3])\n" +">>> y.tolist()\n" +"[[[0, 1, 2], [3, 4, 5]], [[6, 7, 8], [9, 10, 11]]]\n" +">>> y.format\n" +"'i'\n" +">>> y.itemsize\n" +"4\n" +">>> len(y)\n" +"2\n" +">>> y.nbytes\n" +"48\n" +">>> z = y.cast('b')\n" +">>> z.format\n" +"'b'\n" +">>> z.itemsize\n" +"1\n" +">>> len(z)\n" +"48\n" +">>> z.nbytes\n" +"48" msgid "Cast 1D/unsigned long to 2D/unsigned long::" -msgstr "" +msgstr "Перетворення 1D/unsigned long на 2D/unsigned long ::" msgid "" ">>> buf = struct.pack(\"L\"*6, *list(range(6)))\n" @@ -4599,15 +6120,26 @@ msgid "" ">>> y.tolist()\n" "[[0, 1, 2], [3, 4, 5]]" msgstr "" +">>> buf = struct.pack(\"L\"*6, *list(range(6)))\n" +">>> x = memoryview(buf)\n" +">>> y = x.cast('L', shape=[2,3])\n" +">>> len(y)\n" +"2\n" +">>> y.nbytes\n" +"48\n" +">>> y.tolist()\n" +"[[0, 1, 2], [3, 4, 5]]" msgid "The source format is no longer restricted when casting to a byte view." msgstr "" +"Вихідний формат більше не обмежений під час трансляції до байтового " +"перегляду." msgid "There are also several readonly attributes available:" -msgstr "" +msgstr "Також є кілька доступних атрибутів лише для читання:" msgid "The underlying object of the memoryview::" -msgstr "" +msgstr "Основний об’єкт memoryview::" msgid "" ">>> b = bytearray(b'xyz')\n" @@ -4625,6 +6157,9 @@ msgid "" "amount of space in bytes that the array would use in a contiguous " "representation. It is not necessarily equal to ``len(m)``::" msgstr "" +"``nbytes == product(shape) * itemsize == len(m.tobytes())``. Це обсяг " +"простору в байтах, який буде використовуватися масивом у безперервному " +"представленні. Воно не обов’язково дорівнює ``len(m)``::" msgid "" ">>> import array\n" @@ -4642,9 +6177,23 @@ msgid "" ">>> len(y.tobytes())\n" "12" msgstr "" +">>> import array\n" +">>> a = array.array('i', [1,2,3,4,5])\n" +">>> m = memoryview(a)\n" +">>> len(m)\n" +"5\n" +">>> m.nbytes\n" +"20\n" +">>> y = m[::2]\n" +">>> len(y)\n" +"3\n" +">>> y.nbytes\n" +"12\n" +">>> len(y.tobytes())\n" +"12" msgid "Multi-dimensional arrays::" -msgstr "" +msgstr "Çok-boyutlu diziler:" msgid "" ">>> import struct\n" @@ -4658,9 +6207,19 @@ msgid "" ">>> y.nbytes\n" "96" msgstr "" +">>> import struct\n" +">>> buf = struct.pack(\"d\"*12, *[1.5*x for x in range(12)])\n" +">>> x = memoryview(buf)\n" +">>> y = x.cast('d', shape=[3,4])\n" +">>> y.tolist()\n" +"[[0.0, 1.5, 3.0, 4.5], [6.0, 7.5, 9.0, 10.5], [12.0, 13.5, 15.0, 16.5]]\n" +">>> len(y)\n" +"3\n" +">>> y.nbytes\n" +"96" msgid "A bool indicating whether the memory is read only." -msgstr "" +msgstr "Bool, що вказує, чи є пам’ять лише для читання." msgid "" "A string containing the format (in :mod:`struct` module style) for each " @@ -4668,14 +6227,20 @@ msgid "" "arbitrary format strings, but some methods (e.g. :meth:`tolist`) are " "restricted to native single element formats." msgstr "" +"Рядок, що містить формат (у стилі модуля :mod:`struct`) для кожного елемента " +"в поданні. Огляд пам’яті можна створити з експортерів із довільними рядками " +"формату, але деякі методи (наприклад, :meth:`tolist`) обмежені рідними " +"одноелементними форматами." msgid "" "format ``'B'`` is now handled according to the struct module syntax. This " "means that ``memoryview(b'abc')[0] == b'abc'[0] == 97``." msgstr "" +"формат ``'B'`` тепер обробляється відповідно до синтаксису модуля struct. Це " +"означає, що ``memoryview(b'abc')[0] == b'abc'[0] == 97``." msgid "The size in bytes of each element of the memoryview::" -msgstr "" +msgstr "Розмір у байтах кожного елемента memoryview::" msgid "" ">>> import array, struct\n" @@ -4687,39 +6252,55 @@ msgid "" ">>> struct.calcsize('H') == m.itemsize\n" "True" msgstr "" +">>> import array, struct\n" +">>> m = memoryview(array.array('H', [32000, 32001, 32002]))\n" +">>> m.itemsize\n" +"2\n" +">>> m[0]\n" +"32000\n" +">>> struct.calcsize('H') == m.itemsize\n" +"True" msgid "" "An integer indicating how many dimensions of a multi-dimensional array the " "memory represents." msgstr "" +"Ціле число, що вказує, скільки вимірів багатовимірного масиву представляє " +"пам’ять." msgid "" "A tuple of integers the length of :attr:`ndim` giving the shape of the " "memory as an N-dimensional array." msgstr "" +"Кортеж цілих чисел довжиною :attr:`ndim`, що надає форму пам’яті як N-" +"вимірного масиву." msgid "An empty tuple instead of ``None`` when ndim = 0." -msgstr "" +msgstr "Порожній кортеж замість ``None``, коли ndim = 0." msgid "" "A tuple of integers the length of :attr:`ndim` giving the size in bytes to " "access each element for each dimension of the array." msgstr "" +"Кортеж цілих чисел довжиною :attr:`ndim`, що вказує розмір у байтах для " +"доступу до кожного елемента для кожного виміру масиву." msgid "Used internally for PIL-style arrays. The value is informational only." msgstr "" +"Використовується внутрішньо для масивів у стилі PIL. Значення лише " +"інформаційне." msgid "A bool indicating whether the memory is C-:term:`contiguous`." -msgstr "" +msgstr "Логічне значення, яке вказує, чи є пам’ять C-:term:`contiguous`." msgid "A bool indicating whether the memory is Fortran :term:`contiguous`." -msgstr "" +msgstr "Логічне значення, що вказує, чи є пам’ять Fortran :term:`contiguous`." msgid "A bool indicating whether the memory is :term:`contiguous`." -msgstr "" +msgstr "Bool, що вказує, чи є пам’ять :term:`contiguous`." msgid "Set Types --- :class:`set`, :class:`frozenset`" -msgstr "" +msgstr "Типи наборів --- :class:`set`, :class:`frozenset`" msgid "" "A :dfn:`set` object is an unordered collection of distinct :term:`hashable` " @@ -4729,6 +6310,12 @@ msgid "" "in :class:`dict`, :class:`list`, and :class:`tuple` classes, and the :mod:" "`collections` module.)" msgstr "" +"Об’єкт :dfn:`set` — це невпорядкована колекція окремих об’єктів :term:" +"`hashable`. Загальне використання включає тестування членства, видалення " +"дублікатів із послідовності та обчислення математичних операцій, таких як " +"перетин, об’єднання, різниця та симетрична різниця. (Для інших контейнерів " +"перегляньте вбудовані класи :class:`dict`, :class:`list` і :class:`tuple`, а " +"також модуль :mod:`collections`.)" msgid "" "Like other collections, sets support ``x in set``, ``len(set)``, and ``for x " @@ -4736,6 +6323,10 @@ msgid "" "position or order of insertion. Accordingly, sets do not support indexing, " "slicing, or other sequence-like behavior." msgstr "" +"Як і інші колекції, набори підтримують ``x in set``, ``len(set)`` і ``for x " +"in set``. Будучи невпорядкованою колекцією, набори не записують положення " +"елемента або порядок вставки. Відповідно, набори не підтримують " +"індексування, нарізку чи іншу поведінку, подібну до послідовності." msgid "" "There are currently two built-in set types, :class:`set` and :class:" @@ -4747,15 +6338,25 @@ msgid "" "it is created; it can therefore be used as a dictionary key or as an element " "of another set." msgstr "" +"Наразі існує два вбудовані типи наборів: :class:`set` і :class:`frozenset`. " +"Тип :class:`set` є змінним --- вміст можна змінити за допомогою таких " +"методів, як :meth:`~set.add` і :meth:`~set.remove`. Оскільки він є змінним, " +"він не має хеш-значення і не може використовуватися ні як ключ словника, ні " +"як елемент іншого набору. Тип :class:`frozenset` є незмінним і :term:" +"`hashable` --- його вміст не можна змінити після створення; тому його можна " +"використовувати як ключ до словника або як елемент іншого набору." msgid "" "Non-empty sets (not frozensets) can be created by placing a comma-separated " "list of elements within braces, for example: ``{'jack', 'sjoerd'}``, in " "addition to the :class:`set` constructor." msgstr "" +"Непорожні набори (не заморожені набори) можна створити шляхом розміщення " +"списку елементів, розділених комами, у фігурних дужках, наприклад: " +"``{'jack', 'sjoerd'}``, на додаток до :class:`set` конструктор." msgid "The constructors for both classes work the same:" -msgstr "" +msgstr "Конструктори для обох класів працюють однаково:" msgid "" "Return a new set or frozenset object whose elements are taken from " @@ -4763,73 +6364,93 @@ msgid "" "sets of sets, the inner sets must be :class:`frozenset` objects. If " "*iterable* is not specified, a new empty set is returned." msgstr "" +"Повертає новий набір або заморожений об’єкт, елементи якого взяті з " +"*iterable*. Елементи набору мають бути :term:`hashable`. Щоб представити " +"набори наборів, внутрішні набори мають бути об’єктами :class:`frozenset`. " +"Якщо *iterable* не вказано, повертається новий порожній набір." msgid "Sets can be created by several means:" -msgstr "" +msgstr "Набори можна створювати кількома способами:" msgid "" "Use a comma-separated list of elements within braces: ``{'jack', 'sjoerd'}``" msgstr "" +"Використовуйте список елементів, розділених комами, у фігурних дужках: " +"``{'jack', 'sjoerd'}``" msgid "" "Use a set comprehension: ``{c for c in 'abracadabra' if c not in 'abc'}``" msgstr "" +"Використовуйте розуміння набору: ``{c для c в 'abracadabra' якщо c не в " +"'abc'}``" msgid "" "Use the type constructor: ``set()``, ``set('foobar')``, ``set(['a', 'b', " "'foo'])``" msgstr "" +"Використовуйте конструктор типу: ``set()``, ``set('foobar')``, ``set(['a', " +"'b', 'foo'])``" msgid "" "Instances of :class:`set` and :class:`frozenset` provide the following " "operations:" msgstr "" +"Екземпляри :class:`set` і :class:`frozenset` забезпечують такі операції:" msgid "Return the number of elements in set *s* (cardinality of *s*)." -msgstr "" +msgstr "Повертає кількість елементів у наборі *s* (мощність *s*)." msgid "Test *x* for membership in *s*." -msgstr "" +msgstr "Перевірте *x* на членство в *s*." msgid "Test *x* for non-membership in *s*." -msgstr "" +msgstr "Перевірте *x* на неналежність до *s*." msgid "" "Return ``True`` if the set has no elements in common with *other*. Sets are " "disjoint if and only if their intersection is the empty set." msgstr "" +"Повертає ``True``, якщо набір не має спільних елементів з *other*. Множини " +"непересічні тоді і тільки тоді, коли їх перетин є порожньою множиною." msgid "Test whether every element in the set is in *other*." -msgstr "" +msgstr "Перевірте, чи кожен елемент у наборі знаходиться в *other*." msgid "" "Test whether the set is a proper subset of *other*, that is, ``set <= other " "and set != other``." msgstr "" +"Перевірте, чи набір є правильною підмножиною *other*, тобто ``set <= other і " +"set != other``." msgid "Test whether every element in *other* is in the set." -msgstr "" +msgstr "Перевірте, чи всі елементи в *other* є в наборі." msgid "" "Test whether the set is a proper superset of *other*, that is, ``set >= " "other and set != other``." msgstr "" +"Перевірте, чи є набір правильною надмножиною *other*, тобто ``set >= other і " +"set != other``." msgid "Return a new set with elements from the set and all others." -msgstr "" +msgstr "Повернути новий набір з елементами з набору та всі інші." msgid "Return a new set with elements common to the set and all others." msgstr "" +"Повертає новий набір із елементами, спільними для набору та всіх інших." msgid "Return a new set with elements in the set that are not in the others." -msgstr "" +msgstr "Повертає новий набір з елементами в наборі, яких немає в інших." msgid "" "Return a new set with elements in either the set or *other* but not both." msgstr "" +"Повертає новий набір з елементами або в наборі, або в *іншому*, але не в " +"обох." msgid "Return a shallow copy of the set." -msgstr "" +msgstr "Поверніть мілку копію набору." msgid "" "Note, the non-operator versions of :meth:`union`, :meth:`intersection`, :" @@ -4839,6 +6460,12 @@ msgid "" "precludes error-prone constructions like ``set('abc') & 'cbs'`` in favor of " "the more readable ``set('abc').intersection('cbs')``." msgstr "" +"Зауважте, версії без операторів :meth:`union`, :meth:`intersection`, :meth:" +"`difference`, :meth:`symmetric_difference`, :meth:`issubset` і :meth:" +"`issuperset` методи приймуть будь-яку ітерацію як аргумент. На відміну від " +"цього, їхні аналоги на основі операторів вимагають, щоб їхні аргументи були " +"наборами. Це виключає такі схильні до помилок конструкції, як ``set('abc') & " +"'cbs'`` на користь більш читабельного ``set('abc').intersection('cbs')``." msgid "" "Both :class:`set` and :class:`frozenset` support set to set comparisons. Two " @@ -4848,12 +6475,22 @@ msgid "" "is not equal). A set is greater than another set if and only if the first " "set is a proper superset of the second set (is a superset, but is not equal)." msgstr "" +"І :class:`set`, і :class:`frozenset` підтримують набір для встановлення " +"порівнянь. Дві множини рівні тоді і тільки тоді, коли кожен елемент кожної " +"множини міститься в іншій (кожен є підмножиною іншого). Набір менший за " +"інший набір тоді і тільки тоді, коли перший набір є належним підмножиною " +"другого набору (є підмножиною, але не дорівнює). Набір більший за інший " +"набір тоді і тільки тоді, коли перший набір є належним надмножиною другого " +"набору (є надмножиною, але не є рівним)." msgid "" "Instances of :class:`set` are compared to instances of :class:`frozenset` " "based on their members. For example, ``set('abc') == frozenset('abc')`` " "returns ``True`` and so does ``set('abc') in set([frozenset('abc')])``." msgstr "" +"Примірники :class:`set` порівнюються з примірниками :class:`frozenset` на " +"основі їхніх членів. Наприклад, ``set('abc') == frozenset('abc')`` повертає " +"``True``, а також ``set('abc')`` у ``set([frozenset('abc')])``." msgid "" "The subset and equality comparisons do not generalize to a total ordering " @@ -4861,57 +6498,74 @@ msgid "" "not subsets of each other, so *all* of the following return ``False``: " "``ab``." msgstr "" +"Порівняння підмножини та рівності не узагальнюють до загальної функції " +"впорядкування. Наприклад, будь-які дві непорожні непересічні множини не " +"рівні і не є підмножинами одна одної, тому *всі* з наступного повертають " +"``False``: ``a b``." msgid "" "Since sets only define partial ordering (subset relationships), the output " "of the :meth:`list.sort` method is undefined for lists of sets." msgstr "" +"Оскільки набори визначають лише часткове впорядкування (відносини " +"підмножин), вихід методу :meth:`list.sort` не визначений для списків наборів." msgid "Set elements, like dictionary keys, must be :term:`hashable`." -msgstr "" +msgstr "Елементи набору, як і ключі словника, мають бути :term:`hashable`." msgid "" "Binary operations that mix :class:`set` instances with :class:`frozenset` " "return the type of the first operand. For example: ``frozenset('ab') | " "set('bc')`` returns an instance of :class:`frozenset`." msgstr "" +"Бінарні операції, які поєднують екземпляри :class:`set` із :class:" +"`frozenset`, повертають тип першого операнда. Наприклад: ``frozenset('ab') | " +"set('bc')`` повертає екземпляр :class:`frozenset`." msgid "" "The following table lists operations available for :class:`set` that do not " "apply to immutable instances of :class:`frozenset`:" msgstr "" +"У наступній таблиці наведено операції, доступні для :class:`set`, які не " +"застосовуються до незмінних екземплярів :class:`frozenset`:" msgid "Update the set, adding elements from all others." -msgstr "" +msgstr "Оновіть набір, додавши елементи з усіх інших." msgid "Update the set, keeping only elements found in it and all others." -msgstr "" +msgstr "Оновіть набір, зберігаючи лише елементи, знайдені в ньому, і всі інші." msgid "Update the set, removing elements found in others." -msgstr "" +msgstr "Оновіть набір, видаляючи елементи, знайдені в інших." msgid "" "Update the set, keeping only elements found in either set, but not in both." msgstr "" +"Оновіть набір, зберігаючи лише елементи, знайдені в будь-якому наборі, але " +"не в обох." msgid "Add element *elem* to the set." -msgstr "" +msgstr "Додайте елемент *elem* до набору." msgid "" "Remove element *elem* from the set. Raises :exc:`KeyError` if *elem* is not " "contained in the set." msgstr "" +"Видалити елемент *elem* із набору. Викликає :exc:`KeyError`, якщо *elem* не " +"міститься в наборі." msgid "Remove element *elem* from the set if it is present." -msgstr "" +msgstr "Видалити елемент *elem* із набору, якщо він присутній." msgid "" "Remove and return an arbitrary element from the set. Raises :exc:`KeyError` " "if the set is empty." msgstr "" +"Вилучити та повернути довільний елемент із набору. Викликає :exc:`KeyError`, " +"якщо набір порожній." msgid "Remove all elements from the set." -msgstr "" +msgstr "Tüm öğeleri kümeden çıkarın." msgid "" "Note, the non-operator versions of the :meth:`update`, :meth:" @@ -4919,15 +6573,22 @@ msgid "" "`symmetric_difference_update` methods will accept any iterable as an " "argument." msgstr "" +"Зауважте, що безоператорні версії методів :meth:`update`, :meth:" +"`intersection_update`, :meth:`difference_update` і :meth:" +"`symmetric_difference_update` прийматимуть будь-яку ітерацію як аргумент." 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*." msgstr "" +"Обратите внимание, что аргумент *elem* для :meth:`~object.__contains__` , :" +"meth:`удалить` , и :meth:`выбросить` методы могут быть набором. Для " +"поддержки поиска эквивалентного замороженного набора из *elem* создается " +"временный набор." msgid "Mapping Types --- :class:`dict`" -msgstr "" +msgstr "Типи зіставлення --- :class:`dict`" msgid "" "A :term:`mapping` object maps :term:`hashable` values to arbitrary objects. " @@ -4936,6 +6597,11 @@ msgid "" "`list`, :class:`set`, and :class:`tuple` classes, and the :mod:`collections` " "module.)" msgstr "" +"Об’єкт :term:`mapping` відображає значення :term:`hashable` на довільні " +"об’єкти. Відображення є змінними об'єктами. Зараз існує лише один " +"стандартний тип відображення, :dfn:`dictionary`. (Для інших контейнерів " +"перегляньте вбудовані класи :class:`list`, :class:`set` і :class:`tuple`, а " +"також модуль :mod:`collections`.)" msgid "" "A dictionary's keys are *almost* arbitrary values. Values that are not :" @@ -4944,27 +6610,42 @@ msgid "" "may not be used as keys. Values that compare equal (such as ``1``, ``1.0``, " "and ``True``) can be used interchangeably to index the same dictionary entry." msgstr "" +"Ключи словаря — это *почти* произвольные значения. Значения, которые не " +"являются :term:`хешируемыми`, то есть значения, содержащие списки, словари " +"или другие изменяемые типы (которые сравниваются по значению, а не по " +"идентификатору объекта), не могут использоваться в качестве ключей. " +"Значения, которые сравниваются равными (например, ``1`` , ``1.0`` , и " +"``Правда`` ) можно использовать как взаимозаменяемые для индексации одной и " +"той же словарной статьи." msgid "" "Return a new dictionary initialized from an optional positional argument and " "a possibly empty set of keyword arguments." msgstr "" +"Повертає новий словник, ініціалізований необов’язковим позиційним аргументом " +"і, можливо, порожнім набором ключових аргументів." msgid "Dictionaries can be created by several means:" -msgstr "" +msgstr "Словники можна створювати кількома способами:" msgid "" "Use a comma-separated list of ``key: value`` pairs within braces: ``{'jack': " "4098, 'sjoerd': 4127}`` or ``{4098: 'jack', 4127: 'sjoerd'}``" msgstr "" +"Використовуйте розділений комами список пар ``ключ: значення`` у дужках: " +"``{'jack': 4098, 'sjoerd': 4127}`` або ``{4098: 'jack', 4127: 'sjoerd' }``" msgid "Use a dict comprehension: ``{}``, ``{x: x ** 2 for x in range(10)}``" msgstr "" +"Використовуйте розуміння диктового слова: ``{}``, ``{x: x ** 2 для x в " +"діапазоні (10)}``" msgid "" "Use the type constructor: ``dict()``, ``dict([('foo', 100), ('bar', " "200)])``, ``dict(foo=100, bar=200)``" msgstr "" +"Використовуйте конструктор типу: ``dict()``, ``dict([('foo', 100), ('bar', " +"200)])``, ``dict(foo=100, bar=200)``" msgid "" "If no positional argument is given, an empty dictionary is created. If a " @@ -4977,6 +6658,16 @@ msgid "" "corresponding value. If a key occurs more than once, the last value for " "that key becomes the corresponding value in the new dictionary." msgstr "" +"Если позиционный аргумент не указан, создается пустой словарь. Если задан " +"позиционный аргумент и он определяет метод ``keys()``, словарь создается " +"путем вызова :meth:`~object.__getitem__` для аргумента с каждым возвращаемым " +"ключом из метода. В противном случае позиционный аргумент должен быть :term:" +"`iterable` объектом. Каждый элемент в итерации сам по себе должен быть " +"итерацией, состоящей ровно из двух элементов. Первый элемент каждого " +"элемента становится ключом в новом словаре, а второй элемент — " +"соответствующим значением. Если ключ встречается более одного раза, " +"последнее значение этого ключа становится соответствующим значением в новом " +"словаре." msgid "" "If keyword arguments are given, the keyword arguments and their values are " @@ -4984,11 +6675,31 @@ msgid "" "being added is already present, the value from the keyword argument replaces " "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 "" +"Надання аргументів ключових слів, як у першому прикладі, працює лише для " +"ключів, які є дійсними ідентифікаторами Python. В іншому випадку можна " +"використовувати будь-які дійсні ключі." msgid "" -"To illustrate, the following examples all return a dictionary equal to " +"Dictionaries compare equal if and only if they have the same ``(key, " +"value)`` pairs (regardless of ordering). Order comparisons ('<', '<=', '>=', " +"'>') raise :exc:`TypeError`. To illustrate dictionary creation and " +"equality, the following examples all return a dictionary equal to " "``{\"one\": 1, \"two\": 2, \"three\": 3}``::" msgstr "" +"Dicionários são iguais se e somente se eles os mesmos pares ``(key, value)`` " +"(independente de ordem). Comparações de ordem ('<', '<=', '>=', '>') " +"levantam :exc:`TypeError`. Para ilustrar a criação e igualdade de " +"dicionários, os exemplos a seguir retornam um dicionário igual a ``{\"one\": " +"1, \"two\": 2, \"three\": 3}``::" msgid "" ">>> a = dict(one=1, two=2, three=3)\n" @@ -5000,27 +6711,79 @@ msgid "" ">>> a == b == c == d == e == f\n" "True" msgstr "" +">>> a = dict(one=1, two=2, three=3)\n" +">>> b = {'one': 1, 'two': 2, 'three': 3}\n" +">>> c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))\n" +">>> d = dict([('two', 2), ('one', 1), ('three', 3)])\n" +">>> e = dict({'three': 3, 'one': 1, 'two': 2})\n" +">>> f = dict({'one': 1, 'three': 3}, two=2)\n" +">>> a == b == c == d == e == f\n" +"True" 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." +"Dictionaries preserve insertion order. Note that updating a key does not " +"affect the order. Keys added after deletion are inserted at the end. ::" +msgstr "" +"Словники зберігають порядок вставки. Зауважте, що оновлення ключа не впливає " +"на порядок. Ключі, додані після видалення, вставляються в кінці. ::" + +msgid "" +">>> d = {\"one\": 1, \"two\": 2, \"three\": 3, \"four\": 4}\n" +">>> d\n" +"{'one': 1, 'two': 2, 'three': 3, 'four': 4}\n" +">>> list(d)\n" +"['one', 'two', 'three', 'four']\n" +">>> list(d.values())\n" +"[1, 2, 3, 4]\n" +">>> d[\"one\"] = 42\n" +">>> d\n" +"{'one': 42, 'two': 2, 'three': 3, 'four': 4}\n" +">>> del d[\"two\"]\n" +">>> d[\"two\"] = None\n" +">>> d\n" +"{'one': 42, 'three': 3, 'four': 4, 'two': None}" +msgstr "" +">>> d = {\"one\": 1, \"two\": 2, \"three\": 3, \"four\": 4}\n" +">>> d\n" +"{'one': 1, 'two': 2, 'three': 3, 'four': 4}\n" +">>> list(d)\n" +"['one', 'two', 'three', 'four']\n" +">>> list(d.values())\n" +"[1, 2, 3, 4]\n" +">>> d[\"one\"] = 42\n" +">>> d\n" +"{'one': 42, 'two': 2, 'three': 3, 'four': 4}\n" +">>> del d[\"two\"]\n" +">>> d[\"two\"] = None\n" +">>> d\n" +"{'one': 42, 'three': 3, 'four': 4, 'two': None}" + +msgid "" +"Dictionary order is guaranteed to be insertion order. This behavior was an " +"implementation detail of CPython from 3.6." msgstr "" +"Порядок словника гарантовано буде порядком вставки. Така поведінка була " +"деталлю реалізації CPython від 3.6." msgid "" "These are the operations that dictionaries support (and therefore, custom " "mapping types should support too):" msgstr "" +"Це операції, які підтримують словники (і, отже, також повинні підтримуватися " +"спеціальні типи зіставлення):" msgid "Return a list of all the keys used in the dictionary *d*." -msgstr "" +msgstr "Повернути список усіх ключів, які використовуються у словнику *d*." msgid "Return the number of items in the dictionary *d*." -msgstr "" +msgstr "Повернути кількість елементів у словнику *d*." msgid "" "Return the item of *d* with key *key*. Raises a :exc:`KeyError` if *key* is " "not in the map." msgstr "" +"Поверніть елемент *d* за допомогою ключа *key*. Викликає :exc:`KeyError`, " +"якщо *key* немає на карті." msgid "" "If a subclass of dict defines a method :meth:`__missing__` and *key* is not " @@ -5031,6 +6794,13 @@ msgid "" "exc:`KeyError` is raised. :meth:`__missing__` must be a method; it cannot be " "an instance variable::" msgstr "" +"Якщо підклас dict визначає метод :meth:`__missing__` і *key* відсутній, " +"операція ``d[key]`` викликає цей метод із ключем *key* як аргументом. Потім " +"операція ``d[key]`` повертає або викликає все, що повертається або " +"викликається викликом ``__missing__(key)``. Жодні інші операції чи методи не " +"викликають :meth:`__missing__`. Якщо :meth:`__missing__` не визначено, " +"виникає :exc:`KeyError`. :meth:`__missing__` має бути методом; це не може " +"бути змінна екземпляра::" msgid "" ">>> class Counter(dict):\n" @@ -5044,41 +6814,59 @@ msgid "" ">>> c['red']\n" "1" msgstr "" +">>> class Counter(dict):\n" +"... def __missing__(self, key):\n" +"... return 0\n" +"...\n" +">>> c = Counter()\n" +">>> c['red']\n" +"0\n" +">>> c['red'] += 1\n" +">>> c['red']\n" +"1" msgid "" "The example above shows part of the implementation of :class:`collections." "Counter`. A different ``__missing__`` method is used by :class:`collections." "defaultdict`." msgstr "" +"Наведений вище приклад показує частину реалізації :class:`collections." +"Counter`. Інший метод ``__missing__`` використовується :class:`collections." +"defaultdict`." msgid "Set ``d[key]`` to *value*." -msgstr "" +msgstr "Установіть для ``d[key]`` значення *value*." msgid "" "Remove ``d[key]`` from *d*. Raises a :exc:`KeyError` if *key* is not in the " "map." msgstr "" +"Видаліть ``d[key]`` з *d*. Викликає :exc:`KeyError`, якщо *key* немає на " +"карті." msgid "Return ``True`` if *d* has a key *key*, else ``False``." -msgstr "" +msgstr "Повертає ``True``, якщо *d* має ключ *key*, інакше ``False``." msgid "Equivalent to ``not key in d``." -msgstr "" +msgstr "Еквівалент ``не вводити d``." msgid "" "Return an iterator over the keys of the dictionary. This is a shortcut for " "``iter(d.keys())``." msgstr "" +"Повертає ітератор над ключами словника. Це ярлик для ``iter(d.keys())``." msgid "Remove all items from the dictionary." -msgstr "" +msgstr "Видаліть усі елементи зі словника." msgid "Return a shallow copy of the dictionary." -msgstr "" +msgstr "Поверніть мілку копію словника." msgid "" "Create a new dictionary with keys from *iterable* and values set to *value*." msgstr "" +"Створіть новий словник із ключами з *iterable* і значеннями, встановленими " +"на *value*." msgid "" ":meth:`fromkeys` is a class method that returns a new dictionary. *value* " @@ -5087,59 +6875,88 @@ msgid "" "an empty list. To get distinct values, use a :ref:`dict comprehension " "` instead." msgstr "" +":meth:`fromkeys` — це метод класу, який повертає новий словник. *value* за " +"замовчуванням ``None``. Усі значення стосуються лише одного екземпляра, тому " +"загалом не має сенсу, щоб *value* було змінним об’єктом, таким як порожній " +"список. Щоб отримати різні значення, замість цього використовуйте :ref:`dict " +"comprehension `." msgid "" "Return the value for *key* if *key* is in the dictionary, else *default*. If " "*default* is not given, it defaults to ``None``, so that this method never " "raises a :exc:`KeyError`." msgstr "" +"Повертає значення для *key*, якщо *key* є в словнику, інакше *за " +"замовчуванням*. Якщо *default* не вказано, за замовчуванням буде ``None``, " +"тому цей метод ніколи не викликає :exc:`KeyError`." msgid "" "Return a new view of the dictionary's items (``(key, value)`` pairs). See " "the :ref:`documentation of view objects `." msgstr "" +"Повертає нове подання елементів словника (пари \"(ключ, значення)\"). " +"Перегляньте :ref:`документацію об’єктів перегляду `." msgid "" "Return a new view of the dictionary's keys. See the :ref:`documentation of " "view objects `." msgstr "" +"Повернути новий вигляд ключів словника. Перегляньте :ref:`документацію " +"об’єктів перегляду `." msgid "" "If *key* is in the dictionary, remove it and return its value, else return " "*default*. If *default* is not given and *key* is not in the dictionary, a :" "exc:`KeyError` is raised." msgstr "" +"Якщо *key* є у словнику, видаліть його та поверніть його значення, інакше " +"поверніть *default*. Якщо *default* не вказано, а *key* немає в словнику, " +"виникає :exc:`KeyError`." msgid "" "Remove and return a ``(key, value)`` pair from the dictionary. Pairs are " "returned in :abbr:`LIFO (last-in, first-out)` order." msgstr "" +"Видалити та повернути пару ``(ключ, значення)`` зі словника. Пари " +"повертаються в порядку :abbr:`LIFO (останній прийшов, перший вийшов)`." msgid "" ":meth:`popitem` is useful to destructively iterate over a dictionary, as " "often used in set algorithms. If the dictionary is empty, calling :meth:" "`popitem` raises a :exc:`KeyError`." msgstr "" +":meth:`popitem` корисний для деструктивного повторення словника, як це часто " +"використовується в набір алгоритмів. Якщо словник порожній, виклик :meth:" +"`popitem` викликає :exc:`KeyError`." msgid "" "LIFO order is now guaranteed. In prior versions, :meth:`popitem` would " "return an arbitrary key/value pair." msgstr "" +"Замовлення LIFO тепер гарантовано. У попередніх версіях :meth:`popitem` " +"повертав довільну пару ключ/значення." msgid "" "Return a reverse iterator over the keys of the dictionary. This is a " "shortcut for ``reversed(d.keys())``." msgstr "" +"Повертає зворотний ітератор над ключами словника. Це ярлик для ``reversed(d." +"keys())``." msgid "" "If *key* is in the dictionary, return its value. If not, insert *key* with " "a value of *default* and return *default*. *default* defaults to ``None``." msgstr "" +"Якщо *key* є в словнику, поверніть його значення. Якщо ні, вставте *ключ* зі " +"значенням *default* і поверніть *default*. *default* за замовчуванням " +"``None``." msgid "" "Update the dictionary with the key/value pairs from *other*, overwriting " "existing keys. Return ``None``." msgstr "" +"Оновіть словник парами ключ/значення з *other*, перезаписавши існуючі ключі. " +"Повернути ``Жодного``." msgid "" ":meth:`update` accepts either another object with a ``keys()`` method (in " @@ -5148,17 +6965,27 @@ msgid "" "iterables of length two). If keyword arguments are specified, the dictionary " "is then updated with those key/value pairs: ``d.update(red=1, blue=2)``." msgstr "" +":meth:`update` принимает либо другой объект с методом ``keys()`` (в этом " +"случае :meth:`~object.__getitem__` вызывается с каждым ключом, возвращаемым " +"из метода), либо итерацию ключа/значения пары (как кортежи или другие " +"итерации длины два). Если указаны аргументы ключевого слова, словарь затем " +"обновляется этими парами ключ/значение: ``d.update(red=1, blue=2)``." msgid "" "Return a new view of the dictionary's values. See the :ref:`documentation " "of view objects `." msgstr "" +"Повернути нове подання значень словника. Перегляньте :ref:`документацію " +"об’єктів перегляду `." msgid "" "An equality comparison between one ``dict.values()`` view and another will " "always return ``False``. This also applies when comparing ``dict.values()`` " "to itself::" msgstr "" +"Порівняння рівності між одним переглядом ``dict.values()`` та іншим завжди " +"повертатиме ``False``. Це також стосується порівняння ``dict.values()`` із " +"собою::" msgid "" ">>> d = {'a': 1}\n" @@ -5174,50 +7001,33 @@ msgid "" "which must both be dictionaries. The values of *other* take priority when " "*d* and *other* share keys." msgstr "" +"Створіть новий словник із об’єднаними ключами та значеннями *d* та *other*, " +"які мають бути словниками. Значення *other* мають пріоритет, коли *d* та " +"*other* мають спільні ключі." msgid "" "Update the dictionary *d* with keys and values from *other*, which may be " "either a :term:`mapping` or an :term:`iterable` of key/value pairs. The " "values of *other* take priority when *d* and *other* share keys." msgstr "" +"Оновіть словник *d* ключами та значеннями з *other*, які можуть бути :term:" +"`mapping` або :term:`iterable` пар ключ/значення. Значення *other* мають " +"пріоритет, коли *d* та *other* мають спільні ключі." -msgid "" -"Dictionaries compare equal if and only if they have the same ``(key, " -"value)`` pairs (regardless of ordering). Order comparisons ('<', '<=', '>=', " -"'>') raise :exc:`TypeError`." -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. ::" -msgstr "" +msgid "Dictionaries and dictionary views are reversible. ::" +msgstr "Словники та перегляди словників є оборотними. ::" msgid "" ">>> d = {\"one\": 1, \"two\": 2, \"three\": 3, \"four\": 4}\n" ">>> d\n" "{'one': 1, 'two': 2, 'three': 3, 'four': 4}\n" -">>> list(d)\n" -"['one', 'two', 'three', 'four']\n" -">>> list(d.values())\n" -"[1, 2, 3, 4]\n" -">>> d[\"one\"] = 42\n" -">>> d\n" -"{'one': 42, 'two': 2, 'three': 3, 'four': 4}\n" -">>> del d[\"two\"]\n" -">>> d[\"two\"] = None\n" -">>> d\n" -"{'one': 42, 'three': 3, 'four': 4, 'two': None}" -msgstr "" - -msgid "" -"Dictionary order is guaranteed to be insertion order. This behavior was an " -"implementation detail of CPython from 3.6." -msgstr "" - -msgid "Dictionaries and dictionary views are reversible. ::" +">>> list(reversed(d))\n" +"['four', 'three', 'two', 'one']\n" +">>> list(reversed(d.values()))\n" +"[4, 3, 2, 1]\n" +">>> list(reversed(d.items()))\n" +"[('four', 4), ('three', 3), ('two', 2), ('one', 1)]" msgstr "" - -msgid "" ">>> d = {\"one\": 1, \"two\": 2, \"three\": 3, \"four\": 4}\n" ">>> d\n" "{'one': 1, 'two': 2, 'three': 3, 'four': 4}\n" @@ -5227,18 +7037,19 @@ msgid "" "[4, 3, 2, 1]\n" ">>> list(reversed(d.items()))\n" "[('four', 4), ('three', 3), ('two', 2), ('one', 1)]" -msgstr "" msgid "Dictionaries are now reversible." -msgstr "" +msgstr "Словники тепер оборотні." msgid "" ":class:`types.MappingProxyType` can be used to create a read-only view of a :" "class:`dict`." msgstr "" +":class:`types.MappingProxyType` можна використовувати для створення " +"перегляду :class:`dict` лише для читання." msgid "Dictionary view objects" -msgstr "" +msgstr "Об’єкти перегляду словника" msgid "" "The objects returned by :meth:`dict.keys`, :meth:`dict.values` and :meth:" @@ -5246,19 +7057,27 @@ msgid "" "dictionary's entries, which means that when the dictionary changes, the view " "reflects these changes." msgstr "" +"Об’єкти, які повертаються :meth:`dict.keys`, :meth:`dict.values` і :meth:" +"`dict.items`, є *об’єктами перегляду*. Вони забезпечують динамічний перегляд " +"статей словника, що означає, що коли словник змінюється, перегляд відображає " +"ці зміни." msgid "" "Dictionary views can be iterated over to yield their respective data, and " "support membership tests:" msgstr "" +"Перегляди словників можна повторювати, щоб отримати відповідні дані та " +"підтримувати тести членства:" msgid "Return the number of entries in the dictionary." -msgstr "" +msgstr "Повернути кількість статей у словнику." msgid "" "Return an iterator over the keys, values or items (represented as tuples of " "``(key, value)``) in the dictionary." msgstr "" +"Повертає ітератор над ключами, значеннями або елементами (представленими у " +"вигляді кортежів ``(ключ, значення)``) у словнику." msgid "" "Keys and values are iterated over in insertion order. This allows the " @@ -5266,32 +7085,46 @@ msgid "" "values(), d.keys())``. Another way to create the same list is ``pairs = " "[(v, k) for (k, v) in d.items()]``." msgstr "" +"Ключі та значення повторюються в порядку вставки. Це дозволяє створювати " +"пари ``(значення, ключ)`` за допомогою :func:`zip`: ``pairs = zip(d." +"values(), d.keys())``. Інший спосіб створити той самий список: ``pairs = " +"[(v, k) for (k, v) in d.items()]``." msgid "" "Iterating views while adding or deleting entries in the dictionary may raise " "a :exc:`RuntimeError` or fail to iterate over all entries." msgstr "" +"Ітерація подання під час додавання чи видалення записів у словнику може " +"викликати :exc:`RuntimeError` або не вдається виконати ітерацію по всіх " +"записах." msgid "Dictionary order is guaranteed to be insertion order." -msgstr "" +msgstr "Порядок словника гарантовано буде порядком вставки." msgid "" "Return ``True`` if *x* is in the underlying dictionary's keys, values or " "items (in the latter case, *x* should be a ``(key, value)`` tuple)." msgstr "" +"Повертає ``True``, якщо *x* міститься в ключах, значеннях або елементах " +"основного словника (в останньому випадку *x* має бути кортежем ``(ключ, " +"значення)``)." msgid "" "Return a reverse iterator over the keys, values or items of the dictionary. " "The view will be iterated in reverse order of the insertion." msgstr "" +"Повертає зворотний ітератор над ключами, значеннями або елементами словника. " +"Подання буде повторено в порядку, зворотному до вставки." msgid "Dictionary views are now reversible." -msgstr "" +msgstr "Перегляди словника тепер оборотні." msgid "" "Return a :class:`types.MappingProxyType` that wraps the original dictionary " "to which the view refers." msgstr "" +"Повертає :class:`types.MappingProxyType`, який обгортає вихідний словник, на " +"який посилається перегляд." msgid "" "Keys views are set-like since their entries are unique and :term:`hashable`. " @@ -5305,9 +7138,21 @@ msgid "" "any iterable as the other operand, unlike sets which only accept sets as the " "input." msgstr "" +"Представления ключей подобны наборам, поскольку их записи уникальны и :term:" +"`хешируются`. Представления элементов также имеют операции, подобные " +"множествам, поскольку пары (ключ, значение) уникальны, а ключи можно " +"хэшировать. Если все значения в представлении элементов также являются " +"хешируемыми, то представление элементов может взаимодействовать с другими " +"наборами. (Представления значений не рассматриваются как множества, " +"поскольку записи, как правило, не уникальны.) Для представлений, подобных " +"множествам, все операции, определенные для абстрактного базового класса :" +"class:`collections.abc.Set` доступны (например, ``==`` , ``<`` , или " +"``^`` ). При использовании операторов множества представления, подобные " +"множествам, принимают любую итерацию в качестве другого операнда, в отличие " +"от наборов, которые принимают только наборы в качестве входных данных." msgid "An example of dictionary view usage::" -msgstr "" +msgstr "Приклад використання перегляду словника::" msgid "" ">>> dishes = {'eggs': 2, 'sausage': 1, 'bacon': 1, 'spam': 500}\n" @@ -5348,9 +7193,46 @@ msgid "" ">>> values.mapping['spam']\n" "500" msgstr "" +">>> dishes = {'eggs': 2, 'sausage': 1, 'bacon': 1, 'spam': 500}\n" +">>> keys = dishes.keys()\n" +">>> values = dishes.values()\n" +"\n" +">>> # iteration\n" +">>> n = 0\n" +">>> for val in values:\n" +"... n += val\n" +"...\n" +">>> print(n)\n" +"504\n" +"\n" +">>> # keys and values are iterated over in the same order (insertion order)\n" +">>> list(keys)\n" +"['eggs', 'sausage', 'bacon', 'spam']\n" +">>> list(values)\n" +"[2, 1, 1, 500]\n" +"\n" +">>> # view objects are dynamic and reflect dict changes\n" +">>> del dishes['eggs']\n" +">>> del dishes['sausage']\n" +">>> list(keys)\n" +"['bacon', 'spam']\n" +"\n" +">>> # set operations\n" +">>> keys & {'eggs', 'bacon', 'salad'}\n" +"{'bacon'}\n" +">>> keys ^ {'sausage', 'juice'} == {'juice', 'sausage', 'bacon', 'spam'}\n" +"True\n" +">>> keys | ['juice', 'juice', 'juice'] == {'bacon', 'spam', 'juice'}\n" +"True\n" +"\n" +">>> # get back a read-only proxy for the original dictionary\n" +">>> values.mapping\n" +"mappingproxy({'bacon': 1, 'spam': 500})\n" +">>> values.mapping['spam']\n" +"500" msgid "Context Manager Types" -msgstr "" +msgstr "Bağlam Yöneticisi Türleri" msgid "" "Python's :keyword:`with` statement supports the concept of a runtime context " @@ -5358,6 +7240,11 @@ msgid "" "that allow user-defined classes to define a runtime context that is entered " "before the statement body is executed and exited when the statement ends:" msgstr "" +"Оператор Python :keyword:`with` підтримує концепцію контексту виконання, " +"визначеного менеджером контексту. Це реалізовано за допомогою пари методів, " +"які дозволяють визначеним користувачем класам визначати контекст виконання, " +"який вводиться перед виконанням тіла оператора та виходить, коли оператор " +"закінчується:" msgid "" "Enter the runtime context and return either this object or another object " @@ -5365,12 +7252,19 @@ msgid "" "to the identifier in the :keyword:`!as` clause of :keyword:`with` statements " "using this context manager." msgstr "" +"Введіть контекст середовища виконання та поверніть або цей об’єкт, або інший " +"об’єкт, пов’язаний із контекстом середовища виконання. Значення, яке " +"повертає цей метод, прив’язується до ідентифікатора в пункті :keyword:`!as` " +"операторів :keyword:`with` за допомогою цього менеджера контексту." msgid "" "An example of a context manager that returns itself is a :term:`file " "object`. File objects return themselves from __enter__() to allow :func:" "`open` to be used as the context expression in a :keyword:`with` statement." msgstr "" +"Прикладом контекстного менеджера, який повертає сам себе, є :term:`file " +"object`. Файлові об’єкти повертаються з __enter__(), щоб дозволити " +"використовувати :func:`open` як вираз контексту в операторі :keyword:`with`." msgid "" "An example of a context manager that returns a related object is the one " @@ -5380,6 +7274,12 @@ msgid "" "the body of the :keyword:`with` statement without affecting code outside " "the :keyword:`!with` statement." msgstr "" +"Прикладом менеджера контексту, який повертає пов’язаний об’єкт, є той, який " +"повертає :func:`decimal.localcontext`. Ці менеджери встановлюють активний " +"десятковий контекст на копію вихідного десяткового контексту, а потім " +"повертають копію. Це дозволяє вносити зміни до поточного десяткового " +"контексту в тілі оператора :keyword:`with`, не впливаючи на код поза " +"оператором :keyword:`!with`." msgid "" "Exit the runtime context and return a Boolean flag indicating if any " @@ -5388,6 +7288,11 @@ msgid "" "the exception type, value and traceback information. Otherwise, all three " "arguments are ``None``." msgstr "" +"Вийдіть із контексту виконання та поверніть логічний прапор, який вказує, чи " +"має бути придушено будь-який виняток, який стався. Якщо виняток стався під " +"час виконання тіла оператора :keyword:`with`, аргументи містять тип винятку, " +"значення та інформацію про відстеження. В іншому випадку всі три аргументи є " +"``Жодним``." msgid "" "Returning a true value from this method will cause the :keyword:`with` " @@ -5398,6 +7303,12 @@ msgid "" "replace any exception that occurred in the body of the :keyword:`!with` " "statement." msgstr "" +"Повернення цього методу справжнього значення призведе до того, що оператор :" +"keyword:`with` придушить виняток і продовжить виконання з оператором, який " +"слідує безпосередньо за оператором :keyword:`!with`. В іншому випадку " +"виняткова ситуація продовжує поширюватися після завершення виконання цього " +"методу. Винятки, які виникають під час виконання цього методу, замінять будь-" +"які винятки, які виникли в тілі оператора :keyword:`!with`." msgid "" "The exception passed in should never be reraised explicitly - instead, this " @@ -5406,6 +7317,11 @@ msgid "" "context management code to easily detect whether or not an :meth:`~object." "__exit__` method has actually failed." msgstr "" +"Переданное исключение никогда не должно вызываться повторно явно — вместо " +"этого этот метод должен возвращать ложное значение, чтобы указать, что метод " +"завершился успешно и не желает подавлять возникшее исключение. Это позволяет " +"коду управления контекстом легко определить, есть ли :meth:`~object." +"__exit__` метод фактически не сработал." msgid "" "Python defines several context managers to support easy thread " @@ -5414,6 +7330,12 @@ msgid "" "are not treated specially beyond their implementation of the context " "management protocol. See the :mod:`contextlib` module for some examples." msgstr "" +"Python визначає декілька контекстних менеджерів для підтримки легкої " +"синхронізації потоків, швидкого закриття файлів чи інших об’єктів і " +"простішого маніпулювання активним десятковим арифметичним контекстом. " +"Конкретні типи не розглядаються спеціально за межами їх реалізації в " +"протоколі керування контекстом. Перегляньте модуль :mod:`contextlib` для " +"деяких прикладів." msgid "" "Python's :term:`generator`\\s and the :class:`contextlib.contextmanager` " @@ -5423,6 +7345,12 @@ msgid "" "`~contextmanager.__enter__` and :meth:`~contextmanager.__exit__` methods, " "rather than the iterator produced by an undecorated generator function." msgstr "" +":term:`generator`\\s Python і декоратор :class:`contextlib.contextmanager` " +"забезпечують зручний спосіб реалізації цих протоколів. Якщо функція-" +"генератор прикрашена декоратором :class:`contextlib.contextmanager`, вона " +"повертатиме менеджер контексту, який реалізує необхідні методи :meth:" +"`~contextmanager.__enter__` і :meth:`~contextmanager.__exit__`, а не " +"ітератор, створений недекорованою функцією генератора." msgid "" "Note that there is no specific slot for any of these methods in the type " @@ -5431,19 +7359,28 @@ msgid "" "Compared to the overhead of setting up the runtime context, the overhead of " "a single class dictionary lookup is negligible." msgstr "" +"Зауважте, що немає спеціального слота для жодного з цих методів у структурі " +"типу для об’єктів Python в API Python/C. Типи розширень, які хочуть " +"визначити ці методи, повинні надати їх як звичайний доступний метод Python. " +"Порівняно з накладними витратами на налаштування контексту виконання, " +"накладні витрати на пошук словника одного класу є незначними." msgid "" "Type Annotation Types --- :ref:`Generic Alias `, :ref:" "`Union `" msgstr "" +"Типи анотацій типу --- :ref:`Загальний псевдонім `, :ref:" +"`Об’єднання `" msgid "" "The core built-in types for :term:`type annotations ` are :ref:" "`Generic Alias ` and :ref:`Union `." msgstr "" +"Основними вбудованими типами для :term:`анотацій типу ` є :ref:" +"`Generic Alias ` і :ref:`Union `." msgid "Generic Alias Type" -msgstr "" +msgstr "Genel Takma Ad Türü" msgid "" "``GenericAlias`` objects are generally created by :ref:`subscripting " @@ -5453,16 +7390,27 @@ msgid "" "the ``list`` class with the argument :class:`int`. ``GenericAlias`` objects " "are intended primarily for use with :term:`type annotations `." msgstr "" +"Об’єкти ``GenericAlias`` зазвичай створюються :ref:`індексом " +"` класу. Найчастіше вони використовуються з :ref:" +"`контейнерними класами `, такими як :class:`list` або :class:" +"`dict`. Наприклад, ``list[int]`` є об’єктом ``GenericAlias``, створеним " +"шляхом підписання класу ``list`` з аргументом :class:`int`. Об’єкти " +"``GenericAlias`` призначені насамперед для використання з :term:`анотаціями " +"типу `." msgid "" "It is generally only possible to subscript a class if the class implements " "the special method :meth:`~object.__class_getitem__`." msgstr "" +"Як правило, індекс класу можливий, лише якщо клас реалізує спеціальний " +"метод :meth:`~object.__class_getitem__`." msgid "" "A ``GenericAlias`` object acts as a proxy for a :term:`generic type`, " "implementing *parameterized generics*." msgstr "" +"Об’єкт ``GenericAlias`` діє як проксі для :term:`generic type`, реалізуючи " +"*параметризовані генерики*." msgid "" "For a container class, the argument(s) supplied to a :ref:`subscription " @@ -5471,6 +7419,10 @@ msgid "" "to signify a :class:`set` in which all the elements are of type :class:" "`bytes`." msgstr "" +"Для класу-контейнера аргумент(и), що надаються :ref:`підписці " +"` класу, може вказувати тип(и) елементів, які містить об’єкт. " +"Наприклад, ``set[bytes]`` можна використовувати в анотаціях типу для " +"позначення :class:`set`, у якому всі елементи мають тип :class:`bytes`." msgid "" "For a class which defines :meth:`~object.__class_getitem__` but is not a " @@ -5479,6 +7431,11 @@ msgid "" "object. For example, :mod:`regular expressions ` can be used on both " "the :class:`str` data type and the :class:`bytes` data type:" msgstr "" +"Для класу, який визначає :meth:`~object.__class_getitem__`, але не є " +"контейнером, аргумент(и), що надаються до підписки класу, часто вказуватиме " +"тип(и) повернення одного або кількох методів, визначених для об’єкта . " +"Наприклад, :mod:`регулярні вирази ` можна використовувати як для типу " +"даних :class:`str`, так і для типу даних :class:`bytes`:" msgid "" "If ``x = re.search('foo', 'foo')``, ``x`` will be a :ref:`re.Match `, де повертаються значення ``x.group(0 )`` і ``x[0]`` будуть " +"мати тип :class:`str`. Ми можемо представити цей тип об’єктів в анотаціях " +"типу за допомогою ``GenericAlias`` ``re.Match[str]``." msgid "" "If ``y = re.search(b'bar', b'bar')``, (note the ``b`` for :class:`bytes`), " @@ -5494,23 +7455,36 @@ msgid "" "annotations, we would represent this variety of :ref:`re.Match ` objects with ``re.Match[bytes]``." msgstr "" +"Якщо ``y = re.search(b'bar', b'bar')`` (зверніть увагу на ``b`` для :class:" +"`bytes`), ``y`` також буде екземпляром ``re.Match``, але повертані значення " +"``y.group(0)`` і ``y[0]`` будуть мати тип :class:`bytes`. В анотаціях типів " +"ми б представили цю різноманітність об’єктів :ref:`re.Match ` " +"за допомогою ``re.Match[bytes]``." msgid "" "``GenericAlias`` objects are instances of the class :class:`types." "GenericAlias`, which can also be used to create ``GenericAlias`` objects " "directly." msgstr "" +"Об’єкти ``GenericAlias`` є екземплярами класу :class:`types.GenericAlias`, " +"який також можна використовувати для безпосереднього створення об’єктів " +"``GenericAlias``." msgid "" "Creates a ``GenericAlias`` representing a type ``T`` parameterized by types " "*X*, *Y*, and more depending on the ``T`` used. For example, a function " "expecting a :class:`list` containing :class:`float` elements::" msgstr "" +"Створює ``Generic Alias``, що представляє тип ``T``, параметризований типами " +"*X*, *Y* тощо залежно від ``T``, що використовується. Наприклад, функція, " +"яка очікує :class:`list`, що містить елементи :class:`float`::" msgid "" "def average(values: list[float]) -> float:\n" " return sum(values) / len(values)" msgstr "" +"def average(values: list[float]) -> float:\n" +" return sum(values) / len(values)" msgid "" "Another example for :term:`mapping` objects, using a :class:`dict`, which is " @@ -5518,16 +7492,24 @@ msgid "" "the value type. In this example, the function expects a ``dict`` with keys " "of type :class:`str` and values of type :class:`int`::" msgstr "" +"Інший приклад для об’єктів :term:`mapping` з використанням :class:`dict`, " +"який є загальним типом, який очікує двох параметрів типу, що представляють " +"тип ключа та тип значення. У цьому прикладі функція очікує ``dict`` з " +"ключами типу :class:`str` і значеннями типу :class:`int`::" msgid "" "def send_post_request(url: str, body: dict[str, int]) -> None:\n" " ..." msgstr "" +"def send_post_request(url: str, body: dict[str, int]) -> None:\n" +" ..." msgid "" "The builtin functions :func:`isinstance` and :func:`issubclass` do not " "accept ``GenericAlias`` types for their second argument::" msgstr "" +"Вбудовані функції :func:`isinstance` і :func:`issubclass` не приймають типи " +"``GenericAlias`` для свого другого аргументу::" msgid "" ">>> isinstance([1, 2], list[str])\n" @@ -5535,6 +7517,10 @@ msgid "" " File \"\", line 1, in \n" "TypeError: isinstance() argument 2 cannot be a parameterized generic" msgstr "" +">>> isinstance([1, 2], list[str])\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +"TypeError: isinstance() argument 2 cannot be a parameterized generic" msgid "" "The Python runtime does not enforce :term:`type annotations `. " @@ -5543,6 +7529,11 @@ msgid "" "not checked against their type. For example, the following code is " "discouraged, but will run without errors::" msgstr "" +"Середовище виконання Python не вимагає :term:`анотацій типу `. " +"Це поширюється на загальні типи та їхні параметри типу. Під час створення " +"об’єкта-контейнера з ``GenericAlias`` елементи в контейнері не перевіряються " +"на їх тип. Наприклад, наступний код не рекомендується, але працюватиме без " +"помилок:" msgid "" ">>> t = list[str]\n" @@ -5557,6 +7548,8 @@ msgid "" "Furthermore, parameterized generics erase type parameters during object " "creation::" msgstr "" +"Крім того, параметризовані генерики стирають параметри типу під час " +"створення об’єкта:" msgid "" ">>> t = list[str]\n" @@ -5567,11 +7560,20 @@ msgid "" ">>> type(l)\n" "" msgstr "" +">>> t = list[str]\n" +">>> type(t)\n" +"\n" +"\n" +">>> l = t()\n" +">>> type(l)\n" +"" msgid "" "Calling :func:`repr` or :func:`str` on a generic shows the parameterized " "type::" msgstr "" +"Виклик :func:`repr` або :func:`str` у загальному показує параметризований " +"тип::" msgid "" ">>> repr(list[int])\n" @@ -5590,6 +7592,8 @@ msgid "" "The :meth:`~object.__getitem__` method of generic containers will raise an " "exception to disallow mistakes like ``dict[str][str]``::" msgstr "" +"Метод :meth:`~object.__getitem__` загальних контейнерів викличе виняток, щоб " +"заборонити такі помилки, як ``dict[str][str]``::" msgid "" ">>> dict[str][str]\n" @@ -5597,12 +7601,19 @@ msgid "" " ...\n" "TypeError: dict[str] is not a generic class" msgstr "" +">>> dict[str][str]\n" +"Traceback (most recent call last):\n" +" ...\n" +"TypeError: dict[str] is not a generic class" msgid "" "However, such expressions are valid when :ref:`type variables ` " "are used. The index must have as many elements as there are type variable " "items in the ``GenericAlias`` object's :attr:`~genericalias.__args__`. ::" msgstr "" +"Однак такі вирази дійсні, коли використовуються :ref:`змінні типу " +"`. Індекс має містити стільки елементів, скільки елементів змінних " +"типу в об’єкті ``GenericAlias`` :attr:`~genericalias.__args__`. ::" msgid "" ">>> from typing import TypeVar\n" @@ -5610,14 +7621,20 @@ msgid "" ">>> dict[str, Y][int]\n" "dict[str, int]" msgstr "" +">>> from typing import TypeVar\n" +">>> Y = TypeVar('Y')\n" +">>> dict[str, Y][int]\n" +"dict[str, int]" msgid "Standard Generic Classes" -msgstr "" +msgstr "Стандартні загальні класи" msgid "" "The following standard library classes support parameterized generics. This " "list is non-exhaustive." msgstr "" +"Наступні стандартні бібліотечні класи підтримують параметризовані генерики. " +"Цей список не є вичерпним." msgid ":class:`tuple`" msgstr ":class:`tuple`" @@ -5638,10 +7655,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`" @@ -5758,10 +7775,10 @@ msgid ":class:`queue.SimpleQueue`" msgstr ":class:`queue.SimpleQueue`" msgid ":ref:`re.Pattern `" -msgstr "" +msgstr ":ref:`re.Патерн `" msgid ":ref:`re.Match `" -msgstr "" +msgstr ":ref:`re.Match `" msgid ":class:`shelve.BsdDbShelf`" msgstr ":class:`shelve.BsdDbShelf`" @@ -5788,13 +7805,14 @@ msgid ":class:`weakref.WeakValueDictionary`" msgstr ":class:`weakref.WeakValueDictionary`" msgid "Special Attributes of ``GenericAlias`` objects" -msgstr "" +msgstr "Спеціальні атрибути об’єктів ``GenericAlias``" msgid "All parameterized generics implement special read-only attributes." msgstr "" +"Усі параметризовані генерики реалізують спеціальні атрибути лише для читання." msgid "This attribute points at the non-parameterized generic class::" -msgstr "" +msgstr "Цей атрибут вказує на непараметризований загальний клас::" msgid "" ">>> list[int].__origin__\n" @@ -5808,6 +7826,9 @@ msgid "" "passed to the original :meth:`~object.__class_getitem__` of the generic " "class::" msgstr "" +"Цей атрибут є :class:`tuple` (можливо, довжиною 1) загальних типів, " +"переданих до оригінального :meth:`~object.__class_getitem__` загального " +"класу::" msgid "" ">>> dict[str, list[int]].__args__\n" @@ -5820,6 +7841,8 @@ msgid "" "This attribute is a lazily computed tuple (possibly empty) of unique type " "variables found in ``__args__``::" msgstr "" +"Цей атрибут є ліниво обчисленим кортежем (можливо, порожнім) унікальних " +"змінних типу, знайдених у ``__args__``::" msgid "" ">>> from typing import TypeVar\n" @@ -5839,17 +7862,22 @@ msgid "" "have correct ``__parameters__`` after substitution because :class:`typing." "ParamSpec` is intended primarily for static type checking." msgstr "" +"Об’єкт ``GenericAlias`` з параметрами :class:`typing.ParamSpec` може не мати " +"правильних ``__parameters__`` після заміни, тому що :class:`typing." +"ParamSpec` призначений насамперед для статичної перевірки типу." msgid "" "A boolean that is true if the alias has been unpacked using the ``*`` " "operator (see :data:`~typing.TypeVarTuple`)." msgstr "" +"Логическое значение, имеющее значение true, если псевдоним был распакован с " +"помощью ``*`` оператор (см. :data:`~typing.TypeVarTuple` )." msgid ":pep:`484` - Type Hints" msgstr "" msgid "Introducing Python's framework for type annotations." -msgstr "" +msgstr "Представляємо структуру Python для анотацій типів." msgid ":pep:`585` - Type Hinting Generics In Standard Collections" msgstr "" @@ -5859,11 +7887,16 @@ msgid "" "provided they implement the special class method :meth:`~object." "__class_getitem__`." msgstr "" +"Представляємо можливість нативної параметризації класів стандартної " +"бібліотеки, якщо вони реалізують спеціальний метод класу :meth:`~object." +"__class_getitem__`." msgid "" ":ref:`Generics`, :ref:`user-defined generics ` and :" "class:`typing.Generic`" msgstr "" +":ref:`Generics`, :ref:`визначені користувачем узагальнення ` і :class:`typing.Generic`" msgid "" "Documentation on how to implement generic classes that can be parameterized " @@ -5871,7 +7904,7 @@ msgid "" msgstr "" msgid "Union Type" -msgstr "" +msgstr "Тип союзу" msgid "" "A union object holds the value of the ``|`` (bitwise or) operation on " @@ -5887,11 +7920,16 @@ msgid "" "example, the following function expects an argument of type :class:`int` or :" "class:`float`::" msgstr "" +"Визначає об’єкт об’єднання, який містить типи *X*, *Y* і так далі. ``X | Y`` " +"означає X або Y. Це еквівалентно ``typing.Union[X, Y]``. Наприклад, наступна " +"функція очікує аргумент типу :class:`int` або :class:`float`::" msgid "" "def square(number: int | float) -> int | float:\n" " return number ** 2" msgstr "" +"def square(number: int | float) -> int | float:\n" +" return number ** 2" msgid "" "The ``|`` operand cannot be used at runtime to define unions where one or " @@ -5900,25 +7938,33 @@ msgid "" "For unions which include forward references, present the whole expression as " "a string, e.g. ``\"int | Foo\"``." msgstr "" +"The ``|`` операнд нельзя использовать во время выполнения для определения " +"объединений, в которых один или несколько членов являются прямой ссылкой. " +"Например, ``интервал | \"Фу\"`` , где ``\"Фу\"`` является ссылкой на еще не " +"определенный класс, произойдет сбой во время выполнения. Для объединений, " +"которые включают прямые ссылки, представьте все выражение в виде строки, " +"например ``\"int | Фу\"`` ." msgid "" "Union objects can be tested for equality with other union objects. Details:" msgstr "" +"Об’єкти об’єднання можна перевірити на рівність з іншими об’єктами " +"об’єднання. Подробиці:" msgid "Unions of unions are flattened::" -msgstr "" +msgstr "Союзи союзів сплощені::" msgid "(int | str) | float == int | str | float" -msgstr "" +msgstr "(int | str) | float == int | str | float" msgid "Redundant types are removed::" -msgstr "" +msgstr "Зайві типи видаляються:" msgid "int | str | int == int | str" msgstr "int | str | int == int | str" msgid "When comparing unions, the order is ignored::" -msgstr "" +msgstr "Під час порівняння об'єднань порядок ігнорується:" msgid "int | str == str | int" msgstr "int | str == str | int" @@ -5930,7 +7976,7 @@ msgid "int | str == typing.Union[int, str]" msgstr "int | str == typing.Union[int, str]" msgid "Optional types can be spelled as a union with ``None``::" -msgstr "" +msgstr "Необов'язкові типи можуть бути написані як об'єднання з ``None``::" msgid "str | None == typing.Optional[str]" msgstr "str | None == typing.Optional[str]" @@ -5939,6 +7985,8 @@ msgid "" "Calls to :func:`isinstance` and :func:`issubclass` are also supported with a " "union object::" msgstr "" +"Виклики :func:`isinstance` і :func:`issubclass` також підтримуються з " +"об’єктом об’єднання::" msgid "" ">>> isinstance(\"\", int | str)\n" @@ -5951,6 +7999,8 @@ msgid "" "However, :ref:`parameterized generics ` in union objects " "cannot be checked::" msgstr "" +"Однако :ref:`параметризованные дженерики\n" +"` в объектах объединения невозможно проверить::" msgid "" ">>> isinstance(1, int | list[int]) # short-circuit evaluation\n" @@ -5960,6 +8010,12 @@ msgid "" " ...\n" "TypeError: isinstance() argument 2 cannot be a parameterized generic" msgstr "" +">>> isinstance(1, int | list[int]) # short-circuit evaluation\n" +"True\n" +">>> isinstance([1], int | list[int])\n" +"Traceback (most recent call last):\n" +" ...\n" +"TypeError: isinstance() argument 2 cannot be a parameterized generic" msgid "" "The user-exposed type for the union object can be accessed from :data:`types." @@ -5982,6 +8038,9 @@ msgid "" "``X | Y``. If a metaclass implements :meth:`!__or__`, the Union may " "override it:" msgstr "" +"The :meth:`!__or__` добавлен метод для объектов типа для поддержки " +"синтаксиса `` Х | И `` . Если метакласс реализует :meth:`!__or__` , Союз " +"может отменить это:" msgid "" ">>> class M(type):\n" @@ -5996,17 +8055,30 @@ msgid "" ">>> int | C\n" "int | C" msgstr "" +">>> class M(type):\n" +"... def __or__(self, other):\n" +"... return \"Hello\"\n" +"...\n" +">>> class C(metaclass=M):\n" +"... pass\n" +"...\n" +">>> C | int\n" +"'Hello'\n" +">>> int | C\n" +"int | C" msgid ":pep:`604` -- PEP proposing the ``X | Y`` syntax and the Union type." -msgstr "" +msgstr ":pep:`604` -- PEP пропонує ``X | Синтаксис Y`` і тип Union." msgid "Other Built-in Types" -msgstr "" +msgstr "Інші вбудовані типи" msgid "" "The interpreter supports several other kinds of objects. Most of these " "support only one or two operations." msgstr "" +"Інтерпретатор підтримує кілька інших видів об'єктів. Більшість із них " +"підтримує лише одну або дві операції." msgid "Modules" msgstr "Moduły" @@ -6020,6 +8092,12 @@ msgid "" "exist, rather it requires an (external) *definition* for a module named " "*foo* somewhere.)" msgstr "" +"Єдиною спеціальною операцією над модулем є доступ до атрибутів: ``m.name``, " +"де *m* — це модуль, а *name* отримує доступ до імені, визначеного в таблиці " +"символів *m*. Модулю можна призначити атрибути. (Зауважте, що оператор :" +"keyword:`import` не є, строго кажучи, операцією над об’єктом модуля; " +"``import foo`` не вимагає існування об’єкта модуля з назвою *foo*, скоріше " +"для цього потрібен (зовнішній) *визначення* для модуля з назвою *foo* десь.)" msgid "" "A special attribute of every module is :attr:`~object.__dict__`. This is the " @@ -6030,18 +8108,27 @@ msgid "" "``m.__dict__ = {}``). Modifying :attr:`~object.__dict__` directly is not " "recommended." msgstr "" +"Спеціальним атрибутом кожного модуля є :attr:`~object.__dict__`. Це словник, " +"що містить таблицю символів модуля. Зміна цього словника фактично змінить " +"таблицю символів модуля, але пряме призначення атрибуту :attr:`~object." +"__dict__` неможливо (ви можете написати ``m.__dict__['a'] = 1``, що визначає " +"``m.a`` буде ``1``, але ви не можете написати ``m.__dict__ = {}``). Не " +"рекомендується безпосередньо змінювати :attr:`~object.__dict__`." msgid "" "Modules built into the interpreter are written like this: ````. If loaded from a file, they are written as ````." msgstr "" +"Модулі, вбудовані в інтерпретатор, записуються так: ````. Якщо завантажуються з файлу, вони записуються як ````." msgid "Classes and Class Instances" -msgstr "" +msgstr "Sınıflar ve Sınıf Örnekleri" msgid "See :ref:`objects` and :ref:`class` for these." -msgstr "" +msgstr "Перегляньте :ref:`objects` і :ref:`class` для них." msgid "Functions" msgstr "Zadania" @@ -6050,6 +8137,8 @@ msgid "" "Function objects are created by function definitions. The only operation on " "a function object is to call it: ``func(argument-list)``." msgstr "" +"Функціональні об’єкти створюються визначеннями функцій. Єдина операція над " +"об’єктом-функцією – це викликати його: ``func(список-аргументів)``." msgid "" "There are really two flavors of function objects: built-in functions and " @@ -6057,9 +8146,12 @@ msgid "" "function), but the implementation is different, hence the different object " "types." msgstr "" +"Насправді існує два види функціональних об’єктів: вбудовані функції та " +"функції, визначені користувачем. Обидва підтримують однакову операцію " +"(виклик функції), але реалізація різна, отже, різні типи об’єктів." msgid "See :ref:`function` for more information." -msgstr "" +msgstr "Перегляньте :ref:`function` для отримання додаткової інформації." msgid "Methods" msgstr "" @@ -6070,6 +8162,10 @@ msgid "" "`append` on lists) and :ref:`class instance method `. " "Built-in methods are described with the types that support them." msgstr "" +"Методы — это функции, которые вызываются с использованием нотации атрибута. " +"Есть два варианта: :ref:`встроенные методы\n" +"` (например, :meth:`добавить` в списках) и метод экземпляра класса.`. " +"Встроенные методы описываются типами, которые их поддерживают." msgid "" "If you access a method (a function defined in a class namespace) through an " @@ -6082,6 +8178,15 @@ msgid "" "is completely equivalent to calling ``m.__func__(m.__self__, arg-1, " "arg-2, ..., arg-n)``." msgstr "" +"Если вы получаете доступ к методу (функции, определенной в пространстве имен " +"класса) через экземпляр, вы получаете специальный объект: :dfn:`связанный " +"метод` (также называемый :ref:`метод экземпляра).\n" +"`) объект. При вызове он добавит ``сам`` аргумент в список аргументов. " +"Привязанные методы имеют два специальных атрибута, доступных только для " +"чтения: :attr:`m.__self__. ` — это объект, с которым " +"работает метод, а :attr:`m.__func__ ` — это функция, " +"реализующая метод. Вызов ``m(arg-1, arg-2, ..., arg-n)`` полностью " +"эквивалентно вызову ``m.__func__(m.__self__, arg-1, arg-2, ..., arg-n)`` ." msgid "" "Like :ref:`function objects `, bound method objects " @@ -6092,6 +8197,13 @@ msgid "" "In order to set a method attribute, you need to explicitly set it on the " "underlying function object:" msgstr "" +"Как :ref:`функциональные объекты\n" +"`, привязанные объекты метода поддерживают получение произвольных атрибутов. " +"Однако, поскольку атрибуты метода фактически хранятся в базовом объекте " +"функции ( :attr:`method.__func__` ), установка атрибутов метода для " +"связанных методов запрещена. Попытка установить атрибут метода приводит к :" +"exc:`AttributeError` воспитывается. Чтобы установить атрибут метода, вам " +"необходимо явно установить его в базовом объекте функции:" msgid "" ">>> class C:\n" @@ -6107,9 +8219,22 @@ msgid "" ">>> c.method.whoami\n" "'my name is method'" msgstr "" +">>> class C:\n" +"... def method(self):\n" +"... pass\n" +"...\n" +">>> c = C()\n" +">>> c.method.whoami = 'my name is method' # can't set on the method\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +"AttributeError: 'method' object has no attribute 'whoami'\n" +">>> c.method.__func__.whoami = 'my name is method'\n" +">>> c.method.whoami\n" +"'my name is method'" msgid "See :ref:`instance-methods` for more information." msgstr "" +"Видеть :ref:`методы экземпляра` для получения дополнительной информации." msgid "Code Objects" msgstr "" @@ -6122,20 +8247,30 @@ msgid "" "function and can be extracted from function objects through their :attr:" "`~function.__code__` attribute. See also the :mod:`code` module." msgstr "" +"Объекты кода используются реализацией для представления " +"«псевдоскомпилированного» исполняемого кода Python, такого как тело функции. " +"Они отличаются от объектов-функций, поскольку не содержат ссылки на свою " +"глобальную среду выполнения. Объекты кода возвращаются встроенным :func:" +"`скомпилировать` функции и могут быть извлечены из функциональных объектов " +"через их :attr:`~function.__code__` атрибут. См. также :mod:`код` модуль." msgid "" "Accessing :attr:`~function.__code__` raises an :ref:`auditing event " "` ``object.__getattr__`` with arguments ``obj`` and " "``\"__code__\"``." msgstr "" +"Доступ :attr:`~function.__code__` вызывает :ref:`событие аудита\n" +"` ``object.__getattr__`` с аргументами ``объект`` и ``\"__code__\"`` ." msgid "" "A code object can be executed or evaluated by passing it (instead of a " "source string) to the :func:`exec` or :func:`eval` built-in functions." msgstr "" +"Об’єкт коду можна виконати або оцінити, передавши його (замість вихідного " +"рядка) у вбудовані функції :func:`exec` або :func:`eval`." msgid "See :ref:`types` for more information." -msgstr "" +msgstr "Перегляньте :ref:`types` для отримання додаткової інформації." msgid "Type Objects" msgstr "" @@ -6146,24 +8281,32 @@ msgid "" "operations on types. The standard module :mod:`types` defines names for all " "standard built-in types." msgstr "" +"Об’єкти типу представляють різні типи об’єктів. Доступ до типу об’єкта " +"здійснюється за допомогою вбудованої функції :func:`type`. Над типами немає " +"спеціальних операцій. Стандартний модуль :mod:`types` визначає імена для " +"всіх стандартних вбудованих типів." msgid "Types are written like this: ````." -msgstr "" +msgstr "Типи записуються так: ````." msgid "The Null Object" -msgstr "" +msgstr "Boş Nesne" msgid "" "This object is returned by functions that don't explicitly return a value. " "It supports no special operations. There is exactly one null object, named " "``None`` (a built-in name). ``type(None)()`` produces the same singleton." msgstr "" +"Цей об’єкт повертають функції, які явно не повертають значення. Він не " +"підтримує ніяких спеціальних операцій. Існує рівно один нульовий об’єкт із " +"назвою ``None`` (вбудована назва). ``type(None)()`` створює той самий " +"синглтон." msgid "It is written as ``None``." -msgstr "" +msgstr "Він записується як ``None``." msgid "The Ellipsis Object" -msgstr "" +msgstr "Об’єкт \"Еліпсис\"." msgid "" "This object is commonly used by slicing (see :ref:`slicings`). It supports " @@ -6171,12 +8314,16 @@ msgid "" "`Ellipsis` (a built-in name). ``type(Ellipsis)()`` produces the :const:" "`Ellipsis` singleton." msgstr "" +"Цей об’єкт зазвичай використовується для нарізки (див. :ref:`slicings`). Він " +"не підтримує ніяких спеціальних операцій. Існує рівно один об’єкт з крапкою, " +"який називається :const:`Ellipsis` (вбудована назва). ``type(Ellipsis)()`` " +"виробляє :const:`Ellipsis` синглтон." msgid "It is written as ``Ellipsis`` or ``...``." -msgstr "" +msgstr "Він записується як ``Еліпсис`` або ``...``." msgid "The NotImplemented Object" -msgstr "" +msgstr "Об’єкт NotImplemented" msgid "" "This object is returned from comparisons and binary operations when they are " @@ -6184,52 +8331,67 @@ msgid "" "more information. There is exactly one :data:`NotImplemented` object. :code:" "`type(NotImplemented)()` produces the singleton instance." msgstr "" +"Этот объект возвращается из сравнений и двоичных операций, когда их просят " +"работать с типами, которые они не поддерживают. Видеть :ref:`сравнения` для " +"получения дополнительной информации. Есть ровно один :data:`NotImplemented` " +"объект. :code:`type(NotImplemented)()` создает экземпляр синглтона." msgid "It is written as :code:`NotImplemented`." -msgstr "" +msgstr "Это написано как :code:`Нереализован` ." msgid "Internal Objects" -msgstr "" +msgstr "Dahili Nesneler" msgid "" "See :ref:`types` for this information. It describes :ref:`stack frame " "objects `, :ref:`traceback objects `, and " "slice objects." msgstr "" +"Видеть :ref:`типы` для этой информации. Он описывает объекты фрейма стека.\n" +"`, :ref:`объекты трассировки` и нарезать объекты." msgid "Special Attributes" -msgstr "" +msgstr "Atribut Spesial" msgid "" "The implementation adds a few special read-only attributes to several object " "types, where they are relevant. Some of these are not reported by the :func:" "`dir` built-in function." msgstr "" +"Реалізація додає кілька спеціальних атрибутів лише для читання до кількох " +"типів об’єктів, де вони актуальні. Деякі з них не повідомляються вбудованою " +"функцією :func:`dir`." msgid "" "The name of the class, function, method, descriptor, or generator instance." -msgstr "" +msgstr "Ім'я класу, функції, методу, дескриптора або екземпляра генератора." msgid "" "The :term:`qualified name` of the class, function, method, descriptor, or " "generator instance." msgstr "" +":term:`qualified name` класу, функції, методу, дескриптора або екземпляра " +"генератора." msgid "The name of the module in which a class or function was defined." -msgstr "" +msgstr "Имя модуля, в котором был определен класс или функция." msgid "" "The documentation string of a class or function, or ``None`` if undefined." msgstr "" +"Строка документации класса или функции или None, если она не определена." msgid "" "The :ref:`type parameters ` of generic classes, functions, and :" "ref:`type aliases `. For classes and functions that are not " "generic, this will be an empty tuple." msgstr "" +":ref:`Параметры типа ` универсальных классов, функций и :ref:" +"`псевдонимов типов `. Для классов и функций, которые не " +"являются универсальными, это будет пустой кортеж." msgid "Integer string conversion length limitation" -msgstr "" +msgstr "Ограничение длины преобразования целочисленной строки" msgid "" "CPython has a global limit for converting between :class:`int` and :class:" @@ -6237,6 +8399,11 @@ msgid "" "decimal or other non-power-of-two number bases. Hexadecimal, octal, and " "binary conversions are unlimited. The limit can be configured." msgstr "" +"CPython имеет глобальное ограничение на преобразование между :класс:`int` и :" +"class:`str` для смягчения атак типа «отказ в обслуживании». Это ограничение " +"*только* применяется к десятичным или другим системам счисления, отличным от " +"степени двойки. Шестнадцатеричные, восьмеричные и двоичные преобразования не " +"ограничены. Лимит можно настроить." msgid "" "The :class:`int` type in CPython is an arbitrary length number stored in " @@ -6246,20 +8413,32 @@ msgid "" "algorithms for base 10 have sub-quadratic complexity. Converting a large " "value such as ``int('1' * 500_000)`` can take over a second on a fast CPU." msgstr "" +"The :класс:`int` тип в CPython — это число произвольной длины, хранящееся в " +"двоичной форме (широко известное как «bignum»). Не существует алгоритма, " +"который мог бы преобразовать строку в двоичное целое число или двоичное " +"целое число в строку за линейное время, *если только* основание не является " +"степенью 2. Даже самые известные алгоритмы для основания 10 имеют " +"субквадратическую сложность. Преобразование большого значения, например " +"``int('1' * 500_000)`` может занять больше секунды на быстром процессоре." msgid "" "Limiting conversion size offers a practical way to avoid :cve:`2020-10735`." msgstr "" +"Ограничение размера конверсии предлагает практический способ избежать :cve:" +"`2020-10735` ." msgid "" "The limit is applied to the number of digit characters in the input or " "output string when a non-linear conversion algorithm would be involved. " "Underscores and the sign are not counted towards the limit." msgstr "" +"Ограничение применяется к количеству цифровых символов во входной или " +"выходной строке, когда используется алгоритм нелинейного преобразования. " +"Символы подчеркивания и знак не учитываются при расчете лимита." msgid "" "When an operation would exceed the limit, a :exc:`ValueError` is raised:" -msgstr "" +msgstr "Если операция превысит лимит, :exc:`ValueError` поднят:" msgid "" ">>> import sys\n" @@ -6283,6 +8462,26 @@ msgid "" "7144\n" ">>> assert int(hex(i_squared), base=16) == i*i # Hexadecimal is unlimited." msgstr "" +">>> import sys\n" +">>> sys.set_int_max_str_digits(4300) # Illustrative, this is the default.\n" +">>> _ = int('2' * 5432)\n" +"Traceback (most recent call last):\n" +"...\n" +"ValueError: Exceeds the limit (4300 digits) for integer string conversion: " +"value has 5432 digits; use sys.set_int_max_str_digits() to increase the " +"limit\n" +">>> i = int('2' * 4300)\n" +">>> len(str(i))\n" +"4300\n" +">>> i_squared = i*i\n" +">>> len(str(i_squared))\n" +"Traceback (most recent call last):\n" +"...\n" +"ValueError: Exceeds the limit (4300 digits) for integer string conversion; " +"use sys.set_int_max_str_digits() to increase the limit\n" +">>> len(hex(i_squared))\n" +"7144\n" +">>> assert int(hex(i_squared), base=16) == i*i # Hexadecimal is unlimited." msgid "" "The default limit is 4300 digits as provided in :data:`sys.int_info." @@ -6290,9 +8489,13 @@ msgid "" "configured is 640 digits as provided in :data:`sys.int_info." "str_digits_check_threshold `." msgstr "" +"Ограничение по умолчанию составляет 4300 цифр, как указано в :data:`sys." +"int_info.default_max_str_digits. ` . Самый низкий предел, " +"который можно настроить, составляет 640 цифр, как указано в :data:`sys." +"int_info.str_digits_check_threshold. ` ." msgid "Verification:" -msgstr "" +msgstr "Верификация:" msgid "" ">>> import sys\n" @@ -6303,20 +8506,29 @@ msgid "" "... '571186405732').to_bytes(53, 'big')\n" "..." msgstr "" +">>> import sys\n" +">>> assert sys.int_info.default_max_str_digits == 4300, sys.int_info\n" +">>> assert sys.int_info.str_digits_check_threshold == 640, sys.int_info\n" +">>> msg = int('578966293710682886880994035146873798396722250538762761564'\n" +"... '9252925514383915483333812743580549779436104706260696366600'\n" +"... '571186405732').to_bytes(53, 'big')\n" +"..." msgid "Affected APIs" -msgstr "" +msgstr "Затронутые API" msgid "" "The limitation only applies to potentially slow conversions between :class:" "`int` and :class:`str` or :class:`bytes`:" msgstr "" +"Ограничение применяется только к потенциально медленным преобразованиям " +"между :класс:`int` и :class:`str` или :class:`байты` :" msgid "``int(string)`` with default base 10." -msgstr "" +msgstr "``int(строка)`` с базой по умолчанию 10." msgid "``int(string, base)`` for all bases that are not a power of 2." -msgstr "" +msgstr "``int(строка, база)`` для всех оснований, не являющихся степенью 2." msgid "``str(integer)``." msgstr "``str(integer)``." @@ -6328,46 +8540,56 @@ msgid "" "any other string conversion to base 10, for example ``f\"{integer}\"``, " "``\"{}\".format(integer)``, or ``b\"%d\" % integer``." msgstr "" +"любое другое преобразование строк в базу 10, например ``f\"{integer}\"`` , " +"``\"{}\".format(целое число)`` , или ``b\"%d\" % целое число`` ." msgid "The limitations do not apply to functions with a linear algorithm:" -msgstr "" +msgstr "Ограничения не распространяются на функции с линейным алгоритмом:" msgid "``int(string, base)`` with base 2, 4, 8, 16, or 32." -msgstr "" +msgstr "``int(строка, база)`` с основанием 2, 4, 8, 16 или 32." msgid ":func:`int.from_bytes` and :func:`int.to_bytes`." -msgstr "" +msgstr ":func:`int.from_bytes` и :func:`int.to_bytes`." 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 "" +":ref:`formatspec` для шестнадцатеричных, восьмеричных и двоичных чисел." msgid ":class:`str` to :class:`float`." -msgstr "" +msgstr ":class:`str` на :class:`float`." msgid ":class:`str` to :class:`decimal.Decimal`." -msgstr "" +msgstr ":class:`str` на :class:`decimal.Decimal`." msgid "Configuring the limit" -msgstr "" +msgstr "Настройка лимита" msgid "" "Before Python starts up you can use an environment variable or an " "interpreter command line flag to configure the limit:" msgstr "" +"Перед запуском Python вы можете использовать переменную среды или флаг " +"командной строки интерпретатора, чтобы настроить ограничение:" msgid "" ":envvar:`PYTHONINTMAXSTRDIGITS`, e.g. ``PYTHONINTMAXSTRDIGITS=640 python3`` " "to set the limit to 640 or ``PYTHONINTMAXSTRDIGITS=0 python3`` to disable " "the limitation." msgstr "" +":envvar:`PYTHONINTMAXSTRDIGITS` , например ``PYTHONINTMAXSTRDIGITS=640 " +"python3`` чтобы установить ограничение на 640 или ``PYTHONINTMAXSTRDIGITS=0 " +"python3`` чтобы отключить ограничение." msgid "" ":option:`-X int_max_str_digits <-X>`, e.g. ``python3 -X " "int_max_str_digits=640``" msgstr "" +":option:`-X int_max_str_digits\n" +"`, например ``python3 -X int_max_str_digits=640``" msgid "" ":data:`sys.flags.int_max_str_digits` contains the value of :envvar:" @@ -6376,32 +8598,49 @@ msgid "" "value of *-1* indicates that both were unset, thus a value of :data:`sys." "int_info.default_max_str_digits` was used during initialization." msgstr "" +":data:`sys.flags.int_max_str_digits` содержит значение :envvar:" +"`PYTHONINTMAXSTRDIGITS` или :option:`-X int_max_str_digits\n" +"`. Если и env var, и ``-X`` опция установлена, ``-X`` вариант имеет " +"приоритет. Значение *-1* указывает, что оба были отключены, поэтому " +"значение :data:`sys.int_info.default_max_str_digits` использовался во время " +"инициализации." msgid "" "From code, you can inspect the current limit and set a new one using these :" "mod:`sys` APIs:" msgstr "" +"Из кода вы можете проверить текущий предел и установить новый, используя " +"эти :mod:`sys` API:" msgid "" ":func:`sys.get_int_max_str_digits` and :func:`sys.set_int_max_str_digits` " "are a getter and setter for the interpreter-wide limit. Subinterpreters have " "their own limit." msgstr "" +":func:`sys.get_int_max_str_digits` и :func:`sys.set_int_max_str_digits` " +"являются геттером и установщиком ограничения для всего интерпретатора. У " +"субинтерпретаторов есть свой предел." msgid "" "Information about the default and minimum can be found in :data:`sys." "int_info`:" msgstr "" +"Информацию о значениях по умолчанию и минимуме можно найти в :data:`sys." +"int_info` :" msgid "" ":data:`sys.int_info.default_max_str_digits ` is the compiled-" "in default limit." msgstr "" +":data:`sys.int_info.default_max_str_digits ` — это " +"скомпилированный предел по умолчанию." msgid "" ":data:`sys.int_info.str_digits_check_threshold ` is the lowest " "accepted value for the limit (other than 0 which disables it)." msgstr "" +":data:`sys.int_info.str_digits_check_threshold ` — наименьшее " +"допустимое значение предела (кроме 0, которое отключает его)." msgid "" "Setting a low limit *can* lead to problems. While rare, code exists that " @@ -6413,6 +8652,16 @@ msgid "" "exist for the code. A workaround for source that contains such large " "constants is to convert them to ``0x`` hexadecimal form as it has no limit." msgstr "" +"Установка нижнего предела *может* привести к проблемам. Хотя и редко, но " +"существует код, который содержит в исходном виде целочисленные константы в " +"десятичном формате, превышающие минимальный порог. Последствием установки " +"ограничения является то, что исходный код Python, содержащий десятичные " +"целые литералы, длина которых превышает предел, столкнется с ошибкой во " +"время анализа, обычно во время запуска или во время импорта или даже во " +"время установки - в любое время и в обновленном виде. ``.pyc`` для кода еще " +"не существует. Обходной путь для источника, содержащего такие большие " +"константы, — преобразовать их в ``0x`` шестнадцатеричной форме, поскольку " +"она не имеет предела." msgid "" "Test your application thoroughly if you use a low limit. Ensure your tests " @@ -6420,9 +8669,14 @@ msgid "" "during startup and even during any installation step that may invoke Python " "to precompile ``.py`` sources to ``.pyc`` files." msgstr "" +"Тщательно протестируйте свое приложение, если вы используете нижний предел. " +"Убедитесь, что ваши тесты выполняются с ограничением, установленным заранее " +"через среду или флаг, чтобы оно применялось во время запуска и даже на любом " +"этапе установки, который может вызвать Python для предварительной " +"компиляции. ``.py`` источники для ``.pyc`` файлы." msgid "Recommended configuration" -msgstr "" +msgstr "Рекомендуемая конфигурация" msgid "" "The default :data:`sys.int_info.default_max_str_digits` is expected to be " @@ -6430,6 +8684,11 @@ msgid "" "limit, set it from your main entry point using Python version agnostic code " "as these APIs were added in security patch releases in versions before 3.12." msgstr "" +"По умолчанию :data:`sys.int_info.default_max_str_digits` ожидается, что это " +"будет разумно для большинства приложений. Если вашему приложению требуется " +"другой предел, установите его из основной точки входа, используя код, " +"независимый от версии Python, поскольку эти API были добавлены в выпуски " +"исправлений безопасности в версиях до 3.12." msgid "Example::" msgstr "Przykład::" @@ -6445,9 +8704,19 @@ msgid "" "... elif current_limit < lower_bound:\n" "... sys.set_int_max_str_digits(lower_bound)" msgstr "" +">>> import sys\n" +">>> if hasattr(sys, \"set_int_max_str_digits\"):\n" +"... upper_bound = 68000\n" +"... lower_bound = 4004\n" +"... current_limit = sys.get_int_max_str_digits()\n" +"... if current_limit == 0 or current_limit > upper_bound:\n" +"... sys.set_int_max_str_digits(upper_bound)\n" +"... elif current_limit < lower_bound:\n" +"... sys.set_int_max_str_digits(lower_bound)" msgid "If you need to disable it entirely, set it to ``0``." msgstr "" +"Если вам нужно полностью отключить его, установите для него значение ``0`` ." msgid "Footnotes" msgstr "Przypisy" @@ -6456,28 +8725,37 @@ msgid "" "Additional information on these special methods may be found in the Python " "Reference Manual (:ref:`customization`)." msgstr "" +"Додаткову інформацію про ці спеціальні методи можна знайти в довідковому " +"посібнику Python (:ref:`customization`)." msgid "" "As a consequence, the list ``[1, 2]`` is considered equal to ``[1.0, 2.0]``, " "and similarly for tuples." msgstr "" +"Як наслідок, список ``[1, 2]`` вважається рівним ``[1.0, 2.0]``, і " +"аналогічно для кортежів." msgid "They must have since the parser can't tell the type of the operands." -msgstr "" +msgstr "Мабуть, оскільки аналізатор не може визначити тип операндів." msgid "" "Cased characters are those with general category property being one of " "\"Lu\" (Letter, uppercase), \"Ll\" (Letter, lowercase), or \"Lt\" (Letter, " "titlecase)." msgstr "" +"Регістр символів — це символи загальної категорії, які мають одну з таких " +"властивостей: \"Lu\" (літера, верхній регістр), \"Ll\" (літера, нижній " +"регістр) або \"Lt\" (літера, регістр заголовка)." msgid "" "To format only a tuple you should therefore provide a singleton tuple whose " "only element is the tuple to be formatted." msgstr "" +"Untuk memformat hanya *tuple*, Anda harus menyediakan *tuple* *singleton* " +"dimana elemennya hanya *tuple* yang akan diformat." msgid "built-in" -msgstr "" +msgstr "встроенный" msgid "types" msgstr "" @@ -6486,85 +8764,85 @@ msgid "statement" msgstr "instrukcja" msgid "if" -msgstr "" +msgstr "if" msgid "while" msgstr "" msgid "truth" -msgstr "" +msgstr "truth" msgid "value" -msgstr "" +msgstr "nilai" msgid "Boolean" msgstr "Wartość logiczna" msgid "operations" -msgstr "" +msgstr "операции" msgid "false" -msgstr "" +msgstr "salah" msgid "true" -msgstr "" +msgstr "true" msgid "None (Built-in object)" -msgstr "" +msgstr "None (встроенный object)" msgid "False (Built-in object)" -msgstr "" +msgstr "False (встроенный object)" msgid "operator" msgstr "" msgid "or" -msgstr "" +msgstr "or" msgid "and" -msgstr "" +msgstr "and" msgid "False" -msgstr "" +msgstr "False" msgid "True" -msgstr "" +msgstr "True" msgid "not" -msgstr "" +msgstr "not" msgid "chaining" msgstr "" msgid "comparisons" -msgstr "" +msgstr "сравнения" msgid "comparison" -msgstr "" +msgstr "сравнение" msgid "==" msgstr "==" msgid "< (less)" -msgstr "" +msgstr "< (меньше)" msgid "<=" -msgstr "" +msgstr "<=" msgid "> (greater)" -msgstr "" +msgstr "> (больше)" msgid ">=" -msgstr "" +msgstr ">=" msgid "!=" -msgstr "" +msgstr "!=" msgid "is" -msgstr "" +msgstr "is" msgid "is not" -msgstr "" +msgstr "is not" msgid "object" msgstr "obiekt" @@ -6573,34 +8851,34 @@ msgid "numeric" msgstr "" msgid "objects" -msgstr "" +msgstr "объекты" msgid "comparing" -msgstr "" +msgstr "сравнение" msgid "__eq__() (instance method)" -msgstr "" +msgstr "__eq__() (instance method)" msgid "__ne__() (instance method)" -msgstr "" +msgstr "__ne__() (instance method)" msgid "__lt__() (instance method)" -msgstr "" +msgstr "__lt__() (instance method)" msgid "__le__() (instance method)" -msgstr "" +msgstr "__le__() (instance method)" msgid "__gt__() (instance method)" -msgstr "" +msgstr "__gt__() (instance method)" msgid "__ge__() (instance method)" -msgstr "" +msgstr "__ge__() (instance method)" msgid "in" -msgstr "" +msgstr "in" msgid "not in" -msgstr "" +msgstr "not in" msgid "integer" msgstr "" @@ -6615,22 +8893,22 @@ msgid "C" msgstr "C" msgid "language" -msgstr "" +msgstr "язык" msgid "literals" -msgstr "" +msgstr "литералы" msgid "hexadecimal" -msgstr "" +msgstr "шестнадцатеричная" msgid "octal" -msgstr "" +msgstr "восьмеричный" msgid "binary" -msgstr "" +msgstr "бинарные" msgid "arithmetic" -msgstr "" +msgstr "арифметическме" msgid "built-in function" msgstr "funkcja wbudowana" @@ -6642,94 +8920,94 @@ msgid "float" msgstr "typ (float) zmiennoprzecinkowy pojedynczej precyzji" msgid "complex" -msgstr "" +msgstr "комплексные" msgid "+ (plus)" -msgstr "" +msgstr "+ (плюс)" msgid "unary operator" -msgstr "" +msgstr "унарный оператор" msgid "binary operator" -msgstr "" +msgstr "бинарный оператор" msgid "- (minus)" -msgstr "" +msgstr "- (мінус)" msgid "* (asterisk)" msgstr "* (asterisk)" msgid "/ (slash)" -msgstr "" +msgstr "/ (косая черта)" msgid "//" -msgstr "" +msgstr "//" msgid "% (percent)" -msgstr "" +msgstr "% (процент)" msgid "**" msgstr "**" msgid "operations on" -msgstr "" +msgstr "операции по" msgid "conjugate() (complex number method)" -msgstr "" +msgstr "conjugate() (метод комплексных чисел)" msgid "module" msgstr "moduł" msgid "math" -msgstr "" +msgstr "math" msgid "floor() (in module math)" -msgstr "" +msgstr "Floor() (в математическом модуле)" msgid "ceil() (in module math)" -msgstr "" +msgstr "ceil() (в математическом модуле)" msgid "trunc() (in module math)" -msgstr "" +msgstr "trunc() (in module math)" msgid "conversions" -msgstr "" +msgstr "конверсии" msgid "bitwise" -msgstr "" +msgstr "побитовый" msgid "shifting" -msgstr "" +msgstr "смещение " msgid "masking" -msgstr "" +msgstr "маскировка" msgid "| (vertical bar)" -msgstr "" +msgstr "| (вертикальная полоса)" msgid "^ (caret)" -msgstr "" +msgstr "^ (caret)" msgid "& (ampersand)" -msgstr "" +msgstr "& (амперсанд)" msgid "<<" -msgstr "" +msgstr "<<" msgid ">>" -msgstr "" +msgstr ">>" msgid "~ (tilde)" -msgstr "" +msgstr "~ (тильда)" msgid "values" -msgstr "" +msgstr "nilai" msgid "iterator protocol" -msgstr "" +msgstr "протокол итератора" msgid "protocol" -msgstr "" +msgstr "протокол" msgid "iterator" msgstr "iterator" @@ -6738,55 +9016,55 @@ msgid "sequence" msgstr "sekwencja" msgid "iteration" -msgstr "" +msgstr "итерация" msgid "container" -msgstr "" +msgstr "контейнер" msgid "iteration over" -msgstr "" +msgstr "итерация над" msgid "len" msgstr "len" msgid "min" -msgstr "" +msgstr "min" msgid "max" -msgstr "" +msgstr "max" msgid "concatenation" -msgstr "" +msgstr "конкатенация" msgid "operation" -msgstr "" +msgstr "операция" msgid "repetition" -msgstr "" +msgstr "повторение" msgid "subscript" -msgstr "" +msgstr "нижний индекс" msgid "slice" msgstr "" msgid "count() (sequence method)" -msgstr "" +msgstr "count() (sequence method)" msgid "index() (sequence method)" -msgstr "" +msgstr "index() (sequence method)" msgid "loop" -msgstr "" +msgstr "цикл" msgid "over mutable sequence" -msgstr "" +msgstr "над изменяемой последовательностью" msgid "mutable sequence" -msgstr "" +msgstr "изменяемая последовательность" msgid "loop over" -msgstr "" +msgstr "цикл по адресу" msgid "immutable" msgstr "" @@ -6810,52 +9088,52 @@ msgid "type" msgstr "typ" msgid "assignment" -msgstr "" +msgstr "присваивание" msgid "del" -msgstr "" +msgstr "del" msgid "append() (sequence method)" -msgstr "" +msgstr "append() (sequence method)" msgid "clear() (sequence method)" -msgstr "" +msgstr "clear() (sequence method)" msgid "copy() (sequence method)" -msgstr "" +msgstr "copy() (sequence method)" msgid "extend() (sequence method)" -msgstr "" +msgstr "extend() (sequence method)" msgid "insert() (sequence method)" -msgstr "" +msgstr "insert() (sequence method)" msgid "pop() (sequence method)" -msgstr "" +msgstr "pop() (sequence method)" msgid "remove() (sequence method)" -msgstr "" +msgstr "remove() (sequence method)" msgid "reverse() (sequence method)" -msgstr "" +msgstr "reverse() (sequence method)" msgid "range" -msgstr "" +msgstr "range" msgid "string" msgstr "ciąg znaków" msgid "text sequence type" -msgstr "" +msgstr "text sequence type" msgid "str (built-in class)" -msgstr "" +msgstr "str (built-in class)" msgid "(see also string)" -msgstr "" +msgstr "(см. также строка )" msgid "io.StringIO" -msgstr "" +msgstr "io.StringIO" msgid "buffer protocol" msgstr "" @@ -6864,28 +9142,28 @@ msgid "bytes" msgstr "" msgid "methods" -msgstr "" +msgstr "методы" msgid "re" -msgstr "" +msgstr "re" msgid "universal newlines" msgstr "uniwersalne nowe linie" msgid "str.splitlines method" -msgstr "" +msgstr "str.splitlines method" msgid "! formatted string literal" -msgstr "" +msgstr "literal de string formatada com !" msgid "formatted string literals" -msgstr "" +msgstr "literais de string formatadas" msgid "! f-string" -msgstr "" +msgstr "! f-string" msgid "f-strings" -msgstr "" +msgstr "f-strings" msgid "fstring" msgstr "fstring" @@ -6900,82 +9178,82 @@ msgid "interpolated literal" msgstr "interpolowany literał" msgid "{} (curly brackets)" -msgstr "" +msgstr "{} (фигурные скобки)" msgid "in formatted string literal" -msgstr "" +msgstr "в форматированном строковом литерале" msgid "! (exclamation mark)" -msgstr "" +msgstr "! (ponto de exclamação)" msgid ": (colon)" msgstr ": (dwukropek)" msgid "= (equals)" -msgstr "" +msgstr "= (равно)" msgid "for help in debugging using string literals" -msgstr "" +msgstr "за помощь в отладке с использованием строковых литералов" msgid "formatting, string (%)" -msgstr "" +msgstr "formatting, string (%)" msgid "interpolation, string (%)" -msgstr "" +msgstr "interpolation, string (%)" msgid "formatting, printf" -msgstr "" +msgstr "formatting, printf" msgid "interpolation, printf" -msgstr "" +msgstr "interpolation, printf" msgid "printf-style formatting" -msgstr "" +msgstr "printf-style formatting" msgid "sprintf-style formatting" -msgstr "" +msgstr "sprintf-style formatting" msgid "() (parentheses)" -msgstr "" +msgstr "() (parentheses)" msgid "in printf-style formatting" -msgstr "" +msgstr "in printf-style formatting" msgid ". (dot)" -msgstr "" +msgstr ". (точка)" msgid "# (hash)" msgstr "# (kratka)" msgid "space" -msgstr "" +msgstr "простір" msgid "binary sequence types" -msgstr "" +msgstr "типы двоичных последовательностей" msgid "memoryview" msgstr "" msgid "array" -msgstr "" +msgstr "array" msgid "bytes.splitlines method" -msgstr "" +msgstr "bytes.splitlines method" msgid "bytearray.splitlines method" -msgstr "" +msgstr "bytearray.splitlines method" msgid "formatting" -msgstr "" +msgstr "форматирование" msgid "bytes (%)" msgstr "bytes (%)" msgid "bytearray (%)" -msgstr "" +msgstr "байтовый массив (%)" msgid "interpolation" -msgstr "" +msgstr "интерполяция" msgid "set" msgstr "zestaw" @@ -6996,28 +9274,28 @@ msgid "context management protocol" msgstr "" msgid "context management" -msgstr "" +msgstr "управление контекстом" msgid "annotation" msgstr "adnotacja" msgid "type annotation; type hint" -msgstr "" +msgstr "type annotation; type hint" msgid "GenericAlias" -msgstr "" +msgstr "GenericAlias" msgid "Generic" -msgstr "" +msgstr "Общий" msgid "Alias" -msgstr "" +msgstr "псевдоним" msgid "Union" -msgstr "" +msgstr "Союз" msgid "union" -msgstr "" +msgstr "союз" msgid "method" msgstr "metoda" @@ -7032,13 +9310,13 @@ msgid "compile" msgstr "" msgid "__code__ (function object attribute)" -msgstr "" +msgstr "__code__ (function object attribute)" msgid "exec" msgstr "exec" msgid "eval" -msgstr "" +msgstr "eval" msgid "..." msgstr "..." diff --git a/library/string.po b/library/string.po index af3d6ba2cb..8dfc27e616 100644 --- a/library/string.po +++ b/library/string.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-09 14:59+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -25,10 +24,10 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!string` --- Common string operations" -msgstr "" +msgstr ":mod:`!string` --- Общие операции со строками" msgid "**Source code:** :source:`Lib/string.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/string.py`" msgid ":ref:`textseq`" msgstr ":ref:`textseq`" @@ -37,61 +36,78 @@ msgid ":ref:`string-methods`" msgstr ":ref:`string-methods`" msgid "String constants" -msgstr "" +msgstr "Konstanta pada string" msgid "The constants defined in this module are:" -msgstr "" +msgstr "Konstanta yang didefinisikan dalam modul ini antara lain:" msgid "" "The concatenation of the :const:`ascii_lowercase` and :const:" "`ascii_uppercase` constants described below. This value is not locale-" "dependent." msgstr "" +"Sebuah rangkaian dari konstanta :const:`ascii_lowercase` dan :const:" +"`ascii_uppercase` yang di deskripsikan dibawah. Nilai ini tidak dependen-" +"lokal." msgid "" "The lowercase letters ``'abcdefghijklmnopqrstuvwxyz'``. This value is not " "locale-dependent and will not change." msgstr "" +"Huruf kecil ``'abcdefghijklmnopqrstuvwxyz'``. Nilai ini tidak dependen-lokal " +"dan tidak akan berubah." msgid "" "The uppercase letters ``'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``. This value is not " "locale-dependent and will not change." msgstr "" +"Huruf besar ``'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``. Nilai ini tidak dependen-lokal " +"dan tidak akan berubah." msgid "The string ``'0123456789'``." -msgstr "" +msgstr "String ``'0123456789'``." msgid "The string ``'0123456789abcdefABCDEF'``." -msgstr "" +msgstr "String ``'0123456789abcdefABCDEF'``." msgid "The string ``'01234567'``." -msgstr "" +msgstr "String ``'01234567'``." msgid "" "String of ASCII characters which are considered punctuation characters in " "the ``C`` locale: ``!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~``." msgstr "" +"String karakter ASCII yang dianggap sebagai karakter tanda baca pada lokal " +"``C`` : ``!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~``." msgid "" "String of ASCII characters which are considered printable by Python. This is " "a combination of :const:`digits`, :const:`ascii_letters`, :const:" "`punctuation`, and :const:`whitespace`." msgstr "" +"String de caracteres ASCII que são considerados imprimíveis pelo Python. " +"Esta é uma combinação de :const:`digits`, :const:`ascii_letters`, :const:" +"`punctuation` e :const:`whitespace`." msgid "" "By design, :meth:`string.printable.isprintable() ` returns :" "const:`False`. In particular, ``string.printable`` is not printable in the " "POSIX sense (see :manpage:`LC_CTYPE `)." msgstr "" +"Por design, :meth:`string.printable.isprintable() ` " +"retorna :const:`False`. Em particular, ``string.printable`` não é imprimível " +"no sentido POSIX (veja :manpage:`LC_CTYPE `)." msgid "" "A string containing all ASCII characters that are considered whitespace. " "This includes the characters space, tab, linefeed, return, formfeed, and " "vertical tab." msgstr "" +"String karakter ASCII yang dianggap sebagai spasi. Termasuk karakter space, " +"tab, linefeed, return, formfeed, dan vertical tab." msgid "Custom String Formatting" -msgstr "" +msgstr "Спеціальне форматування рядків" msgid "" "The built-in string class provides the ability to do complex variable " @@ -101,20 +117,29 @@ msgid "" "behaviors using the same implementation as the built-in :meth:`~str.format` " "method." msgstr "" +"Вбудований клас рядків надає можливість робити складні заміни змінних і " +"форматувати значення за допомогою методу :meth:`~str.format`, описаного в :" +"pep:`3101`. Клас :class:`Formatter` в модулі :mod:`string` дозволяє вам " +"створювати та налаштовувати власну поведінку форматування рядків, " +"використовуючи ту саму реалізацію, що й вбудований метод :meth:`~str.format`." msgid "The :class:`Formatter` class has the following public methods:" -msgstr "" +msgstr "Клас :class:`Formatter` має такі публічні методи:" msgid "" "The primary API method. It takes a format string and an arbitrary set of " "positional and keyword arguments. It is just a wrapper that calls :meth:" "`vformat`." msgstr "" +"Основний метод API. Він приймає рядок формату та довільний набір позиційних " +"і ключових аргументів. Це просто оболонка, яка викликає :meth:`vformat`." msgid "" "A format string argument is now :ref:`positional-only `." msgstr "" +"Аргумент формату рядка тепер :ref:`позиційний лише `." msgid "" "This function does the actual work of formatting. It is exposed as a " @@ -124,11 +149,19 @@ msgid "" "`vformat` does the work of breaking up the format string into character data " "and replacement fields. It calls the various methods described below." msgstr "" +"Ця функція виконує фактичну роботу з форматування. Вона представлена як " +"окрема функція для випадків, коли ви хочете передати попередньо визначений " +"словник аргументів, а не розпаковувати та перепаковувати словник як окремі " +"аргументи за допомогою синтаксису ``*args`` і ``**kwargs``. :meth:`vformat` " +"розбиває рядок формату на символьні дані та поля заміни. Він викликає різні " +"методи, описані нижче." msgid "" "In addition, the :class:`Formatter` defines a number of methods that are " "intended to be replaced by subclasses:" msgstr "" +"Крім того, :class:`Formatter` визначає ряд методів, які мають бути замінені " +"підкласами:" msgid "" "Loop over the format_string and return an iterable of tuples " @@ -136,6 +169,9 @@ msgid "" "by :meth:`vformat` to break the string into either literal text, or " "replacement fields." msgstr "" +"Перейдіть до format_string і поверніть ітерацію кортежів (*literal_text*, " +"*field_name*, *format_spec*, *conversion*). Це використовується :meth:" +"`vformat`, щоб розбити рядок на буквальний текст або поля заміни." msgid "" "The values in the tuple conceptually represent a span of literal text " @@ -161,18 +197,26 @@ msgid "" "argument in *args*; if it is a string, then it represents a named argument " "in *kwargs*." msgstr "" +"Отримати вказане значення поля. Аргумент *key* буде цілим числом або рядком. " +"Якщо це ціле число, воно представляє індекс позиційного аргументу в *args*; " +"якщо це рядок, то він представляє іменований аргумент у *kwargs*." msgid "" "The *args* parameter is set to the list of positional arguments to :meth:" "`vformat`, and the *kwargs* parameter is set to the dictionary of keyword " "arguments." msgstr "" +"Параметр *args* встановлюється на список позиційних аргументів :meth:" +"`vformat`, а параметр *kwargs* встановлюється на словник ключових аргументів." msgid "" "For compound field names, these functions are only called for the first " "component of the field name; subsequent components are handled through " "normal attribute and indexing operations." msgstr "" +"Для складених імен полів ці функції викликаються лише для першого компонента " +"імені поля; подальші компоненти обробляються через звичайні операції " +"атрибутів та індексування." msgid "" "So for example, the field expression '0.name' would cause :meth:`get_value` " @@ -180,11 +224,16 @@ msgid "" "looked up after :meth:`get_value` returns by calling the built-in :func:" "`getattr` function." msgstr "" +"Так, наприклад, вираз поля \"0.name\" призведе до виклику :meth:`get_value` " +"з аргументом *key* 0. Атрибут ``name`` шукатиметься після :meth:`get_value` " +"повертається шляхом виклику вбудованої функції :func:`getattr`." msgid "" "If the index or keyword refers to an item that does not exist, then an :exc:" "`IndexError` or :exc:`KeyError` should be raised." msgstr "" +"Якщо індекс або ключове слово посилається на елемент, який не існує, тоді " +"має бути викликана :exc:`IndexError` або :exc:`KeyError`." msgid "" "Implement checking for unused arguments if desired. The arguments to this " @@ -194,20 +243,33 @@ msgid "" "vformat. The set of unused args can be calculated from these parameters. :" "meth:`check_unused_args` is assumed to raise an exception if the check fails." msgstr "" +"За потреби реалізуйте перевірку невикористаних аргументів. Аргументи цієї " +"функції — це набір усіх ключів аргументів, на які фактично посилається рядок " +"формату (цілі числа для позиційних аргументів і рядки для іменованих " +"аргументів), а також посилання на *args* і *kwargs*, передане до vformat. " +"Набір невикористаних аргументів можна обчислити за цими параметрами. " +"Припускається, що :meth:`check_unused_args` викликає виключення, якщо " +"перевірка не вдається." msgid "" ":meth:`format_field` simply calls the global :func:`format` built-in. The " "method is provided so that subclasses can override it." msgstr "" +":meth:`format_field` просто викликає глобальний вбудований :func:`format`. " +"Метод надається для того, щоб підкласи могли його замінити." msgid "" "Converts the value (returned by :meth:`get_field`) given a conversion type " "(as in the tuple returned by the :meth:`parse` method). The default version " "understands 's' (str), 'r' (repr) and 'a' (ascii) conversion types." msgstr "" +"Перетворює значення (повернуте :meth:`get_field`) із заданим типом " +"перетворення (як у кортежі, поверненому методом :meth:`parse`). Версія за " +"замовчуванням підтримує типи перетворення 's' (str), 'r' (repr) і " +"'a' (ascii)." msgid "Format String Syntax" -msgstr "" +msgstr "Синтаксис рядка формату" msgid "" "The :meth:`str.format` method and the :class:`Formatter` class share the " @@ -217,6 +279,11 @@ msgid "" "less sophisticated and, in particular, does not support arbitrary " "expressions." msgstr "" +"Метод :meth:`str.format` і клас :class:`Formatter` мають однаковий синтаксис " +"для рядків форматування (хоча у випадку :class:`Formatter` підкласи можуть " +"визначати власний синтаксис рядків форматування). Синтаксис подібний до " +"синтаксису :ref:`форматованих рядкових літералів `, але він менш " +"складний і, зокрема, не підтримує довільні вирази." msgid "" "Format strings contain \"replacement fields\" surrounded by curly braces ``{}" @@ -225,9 +292,13 @@ msgid "" "character in the literal text, it can be escaped by doubling: ``{{`` and ``}}" "``." msgstr "" +"Рядки формату містять \"поля заміни\", оточені фігурними дужками ``{}``. " +"Все, що не міститься в фігурних дужках, вважається буквальним текстом, який " +"копіюється без змін у вивід. Якщо вам потрібно включити фігурну дужку в " +"буквальний текст, її можна екранувати подвоєнням: ``{{`` і ``}}``." msgid "The grammar for a replacement field is as follows:" -msgstr "" +msgstr "Граматика поля заміни така:" msgid "" "In less formal terms, the replacement field can start with a *field_name* " @@ -237,9 +308,15 @@ msgid "" "``'!'``, and a *format_spec*, which is preceded by a colon ``':'``. These " "specify a non-default format for the replacement value." msgstr "" +"Якщо говорити менш формально, то поле заміни може починатися з *field_name*, " +"яке визначає об’єкт, значення якого має бути відформатовано та вставлено у " +"вихідні дані замість поля заміни. За *field_name* необов’язково йде поле " +"*conversion*, якому передує знак оклику ``'!'``, і *format_spec*, якому " +"передує двокрапка ``':''``. Вони вказують нестандартний формат для значення " +"заміни." msgid "See also the :ref:`formatspec` section." -msgstr "" +msgstr "Дивіться також розділ :ref:`formatspec`." msgid "" "The *field_name* itself begins with an *arg_name* that is either a number or " @@ -256,18 +333,34 @@ msgid "" "func:`getattr`, while an expression of the form ``'[index]'`` does an index " "lookup using :meth:`~object.__getitem__`." msgstr "" +"Само *field_name* начинается с *arg_name*, которое представляет собой число " +"или ключевое слово. Если это число, оно относится к позиционному аргументу, " +"а если это ключевое слово, оно относится к именованному ключевому аргументу. " +"*arg_name* рассматривается как число, если вызов :meth:`str.isdecimal` для " +"строки возвращает true. Если числовые имена arg_names в строке формата равны " +"0, 1, 2, ... последовательно, их все можно опустить (а не только некоторые), " +"и числа 0, 1, 2, ... будут автоматически вставлены в этом порядке. . " +"Поскольку *arg_name* не ограничивается кавычками, невозможно указать " +"произвольные ключи словаря (например, строки ``'10'`` или ``':-]'``) внутри " +"строки формата. За *arg_name* может следовать любое количество выражений " +"индекса или атрибута. Выражение формы ``'.name'`` выбирает именованный " +"атрибут, используя :func:`getattr`, а выражение формы ``'[index]'`` " +"выполняет поиск по индексу, используя :meth:`~ объект.__getitem__`." msgid "" "The positional argument specifiers can be omitted for :meth:`str.format`, so " "``'{} {}'.format(a, b)`` is equivalent to ``'{0} {1}'.format(a, b)``." msgstr "" +"Специфікатори позиційного аргументу можна опустити для :meth:`str.format`, " +"тому ``'{} {}'.format(a, b)`` еквівалентний ``'{0} {1}'.format (а, б)``." msgid "" "The positional argument specifiers can be omitted for :class:`Formatter`." msgstr "" +"Специфікатори позиційного аргументу можна опустити для :class:`Formatter`." msgid "Some simple format string examples::" -msgstr "" +msgstr "Кілька простих прикладів рядків форматування::" msgid "" "\"First, thou shalt count to {0}\" # References first positional argument\n" @@ -280,6 +373,15 @@ msgid "" "\"Units destroyed: {players[0]}\" # First element of keyword argument " "'players'." msgstr "" +"\"First, thou shalt count to {0}\" # References first positional argument\n" +"\"Bring me a {}\" # Implicitly references the first " +"positional argument\n" +"\"From {} to {}\" # Same as \"From {0} to {1}\"\n" +"\"My quest is {name}\" # References keyword argument 'name'\n" +"\"Weight in tons {0.weight}\" # 'weight' attribute of first positional " +"arg\n" +"\"Units destroyed: {players[0]}\" # First element of keyword argument " +"'players'." msgid "" "The *conversion* field causes a type coercion before formatting. Normally, " @@ -289,12 +391,21 @@ msgid "" "formatting. By converting the value to a string before calling :meth:" "`~object.__format__`, the normal formatting logic is bypassed." msgstr "" +"Поле *conversion* вызывает приведение типа перед форматированием. Обычно " +"работа по форматированию значения выполняется методом :meth:`~object." +"__format__` самого значения. Однако в некоторых случаях желательно " +"принудительно отформатировать тип как строку, переопределив его собственное " +"определение форматирования. Преобразуя значение в строку перед вызовом :meth:" +"`~object.__format__`, нормальная логика форматирования обходит." msgid "" "Three conversion flags are currently supported: ``'!s'`` which calls :func:" "`str` on the value, ``'!r'`` which calls :func:`repr` and ``'!a'`` which " "calls :func:`ascii`." msgstr "" +"Наразі підтримуються три позначки перетворення: ``'!s'``, який викликає :" +"func:`str` для значення, ``''!r'``, який викликає :func:`repr` та ``'!a'`` , " +"який викликає :func:`ascii`." msgid "Some examples::" msgstr "Trochę przykładów::" @@ -304,6 +415,9 @@ msgid "" "\"Bring out the holy {name!r}\" # Calls repr() on the argument first\n" "\"More {!a}\" # Calls ascii() on the argument first" msgstr "" +"\"Harold's a clever {0!s}\" # Calls str() on the argument first\n" +"\"Bring out the holy {name!r}\" # Calls repr() on the argument first\n" +"\"More {!a}\" # Calls ascii() on the argument first" msgid "" "The *format_spec* field contains a specification of how the value should be " @@ -311,11 +425,17 @@ msgid "" "decimal precision and so on. Each value type can define its own " "\"formatting mini-language\" or interpretation of the *format_spec*." msgstr "" +"Поле *format_spec* містить специфікацію того, як має бути представлене " +"значення, включаючи такі деталі, як ширина поля, вирівнювання, відступ, " +"десяткова точність тощо. Кожен тип значення може визначати власну \"міні-" +"мову форматування\" або інтерпретацію *format_spec*." msgid "" "Most built-in types support a common formatting mini-language, which is " "described in the next section." msgstr "" +"Більшість вбудованих типів підтримують загальну міні-мову форматування, яка " +"описана в наступному розділі." msgid "" "A *format_spec* field can also include nested replacement fields within it. " @@ -435,7 +555,7 @@ msgid "" msgstr "" msgid "space" -msgstr "" +msgstr "простір" msgid "" "Indicates that a leading space should be used on positive numbers, and a " @@ -1021,8 +1141,8 @@ msgid "" msgstr "" msgid "" -"Returns false if the template has invalid placeholders that will cause :meth:" -"`substitute` to raise :exc:`ValueError`." +"Returns ``False`` if the template has invalid placeholders that will cause :" +"meth:`substitute` to raise :exc:`ValueError`." msgstr "" msgid "" @@ -1154,40 +1274,40 @@ msgid "" msgstr "" msgid "{} (curly brackets)" -msgstr "" +msgstr "{} (фигурные скобки)" msgid "in string formatting" msgstr "" msgid ". (dot)" -msgstr "" +msgstr ". (точка)" msgid "[] (square brackets)" -msgstr "" +msgstr "[] (квадратні дужки)" msgid "! (exclamation)" -msgstr "" +msgstr "! (знак оклику)" msgid ": (colon)" msgstr ": (dwukropek)" msgid "< (less)" -msgstr "" +msgstr "< (меньше)" msgid "> (greater)" -msgstr "" +msgstr "> (больше)" msgid "= (equals)" -msgstr "" +msgstr "= (равно)" msgid "^ (caret)" -msgstr "" +msgstr "^ (caret)" msgid "+ (plus)" -msgstr "" +msgstr "+ (плюс)" msgid "- (minus)" -msgstr "" +msgstr "- (мінус)" msgid "z" msgstr "" diff --git a/library/struct.po b/library/struct.po index 7805c654bb..8cf4445520 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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,9 +25,10 @@ msgstr "" msgid ":mod:`!struct` --- Interpret bytes as packed binary data" msgstr "" +":mod:`!struct` --- Интерпретировать байты как упакованные двоичные данные" 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 " @@ -41,6 +39,12 @@ msgid "" "connections), or data transfer between the Python application and the C " "layer." msgstr "" +"Этот модуль преобразует значения Python в структуры C, представленные как " +"объекты Python :class:`bytes`. Компактные строки формата ` описывают предполагаемые преобразования в/из значений Python. " +"Функции и объекты модуля могут использоваться для двух совершенно разных " +"приложений: обмена данными с внешними источниками (файлами или сетевыми " +"подключениями) или передачи данных между приложением Python и уровнем C." msgid "" "When no prefix character is given, native mode is the default. It packs or " @@ -52,6 +56,14 @@ msgid "" "for defining byte ordering and padding between elements. See :ref:`struct-" "alignment` for details." msgstr "" +"Если префикс не указан, по умолчанию используется собственный режим. Он " +"упаковывает или распаковывает данные на основе платформы и компилятора, на " +"которых был построен интерпретатор Python. Результат упаковки данной " +"структуры C включает байты заполнения, которые поддерживают правильное " +"выравнивание для задействованных типов C; аналогично выравнивание " +"учитывается при распаковке. Напротив, при передаче данных между внешними " +"источниками программист отвечает за определение порядка байтов и заполнение " +"между элементами. Подробности смотрите в :ref:`struct-alignment`." msgid "" "Several :mod:`struct` functions (and methods of :class:`Struct`) take a " @@ -62,29 +74,44 @@ msgid "" "implement the buffer protocol, so that they can be read/filled without " "additional copying from a :class:`bytes` object." msgstr "" +"Кілька функцій :mod:`struct` (та методи :class:`Struct`) приймають аргумент " +"*buffer*. Це відноситься до об’єктів, які реалізують :ref:`bufferobjects` і " +"забезпечують доступний для читання чи запису буфер. Найпоширенішими типами, " +"які використовуються для цієї мети, є :class:`bytes` і :class:`bytearray`, " +"але багато інших типів, які можна розглядати як масив байтів, реалізують " +"протокол буфера, тому їх можна читати/заповнювати без додаткове копіювання з " +"об'єкта :class:`bytes`." msgid "Functions and Exceptions" -msgstr "" +msgstr "Функції та винятки" msgid "The module defines the following exception and functions:" -msgstr "" +msgstr "Модуль визначає такі винятки та функції:" msgid "" "Exception raised on various occasions; argument is a string describing what " "is wrong." msgstr "" +"Виняток, що виникає з різних приводів; аргумент - це рядок, що описує те, що " +"є неправильним." msgid "" "Return a bytes object containing the values *v1*, *v2*, ... packed according " "to the format string *format*. The arguments must match the values required " "by the format exactly." msgstr "" +"Повертає об’єкт bytes, що містить значення *v1*, *v2*, ... упаковані " +"відповідно до рядка формату *format*. Аргументи мають точно відповідати " +"значенням, які вимагає формат." msgid "" "Pack the values *v1*, *v2*, ... according to the format string *format* and " "write the packed bytes into the writable buffer *buffer* starting at " "position *offset*. Note that *offset* is a required argument." msgstr "" +"Упакуйте значення *v1*, *v2*, ... відповідно до рядка формату *format* і " +"запишіть упаковані байти в записуваний буфер *buffer*, починаючи з позиції " +"*offset*. Зауважте, що *offset* є обов’язковим аргументом." msgid "" "Unpack from the buffer *buffer* (presumably packed by ``pack(format, ...)``) " @@ -92,6 +119,10 @@ msgid "" "contains exactly one item. The buffer's size in bytes must match the size " "required by the format, as reflected by :func:`calcsize`." msgstr "" +"Розпакуйте з буфера *buffer* (імовірно запакованого ``pack(format, ...)``) " +"відповідно до рядка формату *format*. Результатом є кортеж, навіть якщо він " +"містить рівно один елемент. Розмір буфера в байтах має відповідати розміру, " +"який вимагає формат, як це відображається :func:`calcsize`." msgid "" "Unpack from *buffer* starting at position *offset*, according to the format " @@ -99,6 +130,11 @@ msgid "" "item. The buffer's size in bytes, starting at position *offset*, must be at " "least the size required by the format, as reflected by :func:`calcsize`." msgstr "" +"Розпакуйте з *buffer*, починаючи з позиції *offset*, відповідно до рядка " +"формату *format*. Результатом є кортеж, навіть якщо він містить рівно один " +"елемент. Розмір буфера в байтах, починаючи з позиції *offset*, має бути " +"принаймні розміром, який вимагається форматом, що відображається :func:" +"`calcsize`." msgid "" "Iteratively unpack from the buffer *buffer* according to the format string " @@ -107,17 +143,24 @@ msgid "" "buffer's size in bytes must be a multiple of the size required by the " "format, as reflected by :func:`calcsize`." msgstr "" +"Итеративно распаковать из буфера *buffer* в соответствии со строкой формата " +"*format*. Эта функция возвращает итератор, который будет читать из буфера " +"куски одинакового размера до тех пор, пока все его содержимое не будет " +"использовано. Размер буфера в байтах должен быть кратным размеру, требуемому " +"форматом, что отражено в :func:`calcsize`." msgid "Each iteration yields a tuple as specified by the format string." -msgstr "" +msgstr "Кожна ітерація дає кортеж, як зазначено в рядку формату." msgid "" "Return the size of the struct (and hence of the bytes object produced by " "``pack(format, ...)``) corresponding to the format string *format*." msgstr "" +"Повертає розмір структури (і, отже, об’єкта bytes, створеного " +"``pack(format, ...)``), що відповідає рядку формату *format*." msgid "Format Strings" -msgstr "" +msgstr "Форматувати рядки" msgid "" "Format strings describe the data layout when packing and unpacking data. " @@ -128,9 +171,16 @@ msgid "" "which describes the overall properties of the data and one or more format " "characters which describe the actual data values and padding." msgstr "" +"Строки формата описывают расположение данных при упаковке и распаковке " +"данных. Они состоят из :ref:`formatcharacters`, которые " +"определяют тип упаковываемых/распаковываемых данных. Кроме того, специальные " +"символы управляют порядком байтов, размером и выравниванием`. Каждая строка формата состоит из необязательного префиксного " +"символа, который описывает общие свойства данных, и одного или нескольких " +"символов формата, которые описывают фактические значения данных и заполнение." msgid "Byte Order, Size, and Alignment" -msgstr "" +msgstr "Порядок байтів, розмір і вирівнювання" msgid "" "By default, C types are represented in the machine's native format and byte " @@ -140,74 +190,85 @@ msgid "" "corresponding C struct. Whether to use native byte ordering and padding or " "standard formats depends on the application." msgstr "" +"По умолчанию типы C представлены в собственном формате машины и порядке " +"байтов и правильно выровнены путем пропуска дополнительных байтов, если это " +"необходимо (в соответствии с правилами, используемыми компилятором C). Такое " +"поведение выбрано таким образом, чтобы байты упакованной структуры точно " +"соответствовали расположению памяти соответствующей структуры C. " +"Использовать ли собственный порядок байтов и заполнение или стандартные " +"форматы, зависит от приложения." msgid "" "Alternatively, the first character of the format string can be used to " "indicate the byte order, size and alignment of the packed data, according to " "the following table:" msgstr "" +"Крім того, перший символ рядка формату можна використовувати для вказівки " +"порядку байтів, розміру та вирівнювання упакованих даних згідно з наведеною " +"нижче таблицею:" msgid "Character" msgstr "Znak" msgid "Byte order" -msgstr "" +msgstr "Порядок байтів" msgid "Size" -msgstr "" +msgstr "Розмір" msgid "Alignment" -msgstr "" +msgstr "Вирівнювання" msgid "``@``" msgstr "``@``" msgid "native" -msgstr "" +msgstr "рідний" msgid "``=``" msgstr "``=``" msgid "standard" -msgstr "" +msgstr "стандарт" msgid "none" -msgstr "" +msgstr "немає" msgid "``<``" msgstr "``<``" msgid "little-endian" -msgstr "" +msgstr "маленький байт" msgid "``>``" msgstr "``>``" msgid "big-endian" -msgstr "" +msgstr "великий байт" msgid "``!``" msgstr "``!``" msgid "network (= big-endian)" -msgstr "" +msgstr "мережа (= порядок байтів)" msgid "If the first character is not one of these, ``'@'`` is assumed." -msgstr "" +msgstr "Якщо перший символ не є одним із цих, передбачається ``'@'``." msgid "" "The number 1023 (``0x3ff`` in hexadecimal) has the following byte " "representations:" msgstr "" +"Число 1023 (шестнадцатеричное 0x3ff) имеет следующие байтовые представления:" msgid "``03 ff`` in big-endian (``>``)" -msgstr "" +msgstr "``03 ff`` in big-endian (``>``)" msgid "``ff 03`` in little-endian (``<``)" -msgstr "" +msgstr "``ff 03`` in little-endian (``<``)" msgid "Python example:" -msgstr "" +msgstr "Пример Python:" msgid "" "Native byte order is big-endian or little-endian, depending on the host " @@ -215,31 +276,46 @@ msgid "" "endian; IBM z and many legacy architectures are big-endian. Use :data:`sys." "byteorder` to check the endianness of your system." msgstr "" +"Собственный порядок байтов — прямой или прямой, в зависимости от хост-" +"системы. Например, Intel x86, AMD64 (x86-64) и Apple M1 имеют прямой порядок " +"байтов; IBM z и многие устаревшие архитектуры имеют обратный порядок байтов. " +"Используйте :data:`sys.byteorder`, чтобы проверить порядок байтов вашей " +"системы." msgid "" "Native size and alignment are determined using the C compiler's ``sizeof`` " "expression. This is always combined with native byte order." msgstr "" +"Власний розмір і вирівнювання визначаються за допомогою виразу ``sizeof`` " +"компілятора C. Це завжди поєднується з рідним порядком байтів." msgid "" "Standard size depends only on the format character; see the table in the :" "ref:`format-characters` section." msgstr "" +"Стандартний розмір залежить тільки від символу формату; див. таблицю в " +"розділі :ref:`format-characters`." msgid "" "Note the difference between ``'@'`` and ``'='``: both use native byte order, " "but the size and alignment of the latter is standardized." msgstr "" +"Зверніть увагу на різницю між ``'@'`` і ``'='``: обидва використовують " +"власний порядок байтів, але розмір і вирівнювання останнього стандартизовані." msgid "" "The form ``'!'`` represents the network byte order which is always big-" "endian as defined in `IETF RFC 1700 `_." msgstr "" +"Форма ``'!'`` представляє мережевий порядок байтів, який завжди є старшим " +"байтом, як визначено в `IETF RFC 1700 `_." msgid "" "There is no way to indicate non-native byte order (force byte-swapping); use " "the appropriate choice of ``'<'`` or ``'>'``." msgstr "" +"Немає способу вказати невласний порядок байтів (примусова заміна байтів); " +"використовуйте відповідний вибір ``' <'`` or ``'> ''``." msgid "Notes:" msgstr "Uwagi:" @@ -248,17 +324,24 @@ msgid "" "Padding is only automatically added between successive structure members. No " "padding is added at the beginning or the end of the encoded struct." msgstr "" +"Відступи автоматично додаються лише між послідовними елементами структури. " +"Заповнення не додається на початку або в кінці закодованої структури." msgid "" "No padding is added when using non-native size and alignment, e.g. with '<', " "'>', '=', and '!'." msgstr "" +"Під час використання невласного розміру та вирівнювання відступи не " +"додаються, напр. з \"<', '>\", \"=\" і \"!\"." msgid "" "To align the end of a structure to the alignment requirement of a particular " "type, end the format with the code for that type with a repeat count of " "zero. See :ref:`struct-examples`." msgstr "" +"Щоб вирівняти кінець структури відповідно до вимог вирівнювання певного " +"типу, завершіть формат кодом для цього типу з нульовою кількістю повторів. " +"Див. :ref:`struct-examples`." msgid "Format Characters" msgstr "" @@ -271,6 +354,12 @@ msgid "" "``'!'`` or ``'='``. When using native size, the size of the packed value is " "platform-dependent." msgstr "" +"Символи форматування мають таке значення; перетворення між значеннями C і " +"Python повинно бути очевидним, враховуючи їхні типи. Стовпець \"Стандартний " +"розмір\" стосується розміру упакованого значення в байтах при використанні " +"стандартного розміру; тобто, коли форматний рядок починається з одного з ``' " +"<'``, ``'> ''``, ``'!''`` або ``'='``. При використанні рідного розміру " +"розмір упакованого значення залежить від платформи." msgid "Format" msgstr "Format" @@ -282,7 +371,7 @@ msgid "Python type" msgstr "" msgid "Standard size" -msgstr "" +msgstr "Стандартний розмір" msgid "Notes" msgstr "Notatki" @@ -291,13 +380,13 @@ msgid "``x``" msgstr "``x``" msgid "pad byte" -msgstr "" +msgstr "pad byte" msgid "no value" -msgstr "" +msgstr "немає значення" msgid "\\(7)" -msgstr "" +msgstr "\\(7)" msgid "``c``" msgstr "``c``" @@ -306,7 +395,7 @@ msgid ":c:expr:`char`" msgstr ":c:expr:`char`" msgid "bytes of length 1" -msgstr "" +msgstr "байти довжиною 1" msgid "1" msgstr "1" @@ -315,13 +404,13 @@ msgid "``b``" msgstr "``b``" msgid ":c:expr:`signed char`" -msgstr "" +msgstr ":c:expr:`signed char`" msgid "integer" msgstr "" msgid "\\(1), \\(2)" -msgstr "" +msgstr "\\(1), \\(2)" msgid "``B``" msgstr "``B``" @@ -339,7 +428,7 @@ msgid ":c:expr:`_Bool`" msgstr ":c:expr:`_Bool`" msgid "bool" -msgstr "" +msgstr "bool" msgid "\\(1)" msgstr "\\(1)" @@ -420,7 +509,7 @@ msgid "``e``" msgstr "``e``" msgid "\\(6)" -msgstr "" +msgstr "\\(6)" msgid "float" msgstr "typ (float) zmiennoprzecinkowy pojedynczej precyzji" @@ -450,42 +539,50 @@ 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)" msgid "Added support for the ``'n'`` and ``'N'`` formats." -msgstr "" +msgstr "Додано підтримку форматів ``'n'`` і ``'N'``." msgid "Added support for the ``'e'`` format." -msgstr "" +msgstr "Додано підтримку формату ``'e''``." 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." msgstr "" +"Код преобразования ``'?'`` соответствует типу :c:expr:`_Bool`, определенному " +"стандартами C, начиная с C99. В стандартном режиме он представлен одним " +"байтом." msgid "" "When attempting to pack a non-integer using any of the integer conversion " "codes, if the non-integer has a :meth:`~object.__index__` method then that " "method is called to convert the argument to an integer before packing." msgstr "" +"При попытке упаковать нецелое число с использованием любого из целочисленных " +"кодов преобразования, если нецелое число имеет метод :meth:`~object." +"__index__`, то этот метод вызывается для преобразования аргумента в целое " +"число перед упаковкой." msgid "Added use of the :meth:`~object.__index__` method for non-integers." msgstr "" +"Добавлено использование метода :meth:`~object.__index__` для нецелых чисел." msgid "" "The ``'n'`` and ``'N'`` conversion codes are only available for the native " @@ -493,6 +590,10 @@ msgid "" "the standard size, you can use whichever of the other integer formats fits " "your application." msgstr "" +"Коди перетворення ``'n'`` і ``'N'`` доступні лише для рідного розміру " +"(вибрано як типовий або з символом порядку байтів ``'@''``). Для " +"стандартного розміру ви можете використовувати будь-який з інших форматів " +"цілих чисел, який підходить для вашої програми." msgid "" "For the ``'f'``, ``'d'`` and ``'e'`` conversion codes, the packed " @@ -500,6 +601,10 @@ msgid "" "``'f'``, ``'d'`` or ``'e'`` respectively), regardless of the floating-point " "format used by the platform." msgstr "" +"Для кодів перетворення ``'f'``, ``'d'`` і ``'e'`` упаковане представлення " +"використовує формат IEEE 754 binary32, binary64 або binary16 (для ``'f''`` , " +"``'d'`` або ``'e'`` відповідно), незалежно від формату з плаваючою комою, " +"який використовується платформою." msgid "" "The ``'P'`` format character is only available for the native byte ordering " @@ -508,6 +613,11 @@ msgid "" "on the host system. The struct module does not interpret this as native " "ordering, so the ``'P'`` format is not available." msgstr "" +"Символ формату ``'P'`` доступний лише для власного порядку байтів (вибрано " +"як типовий або з символом порядку байтів ``'@'``). Символ порядку байтів " +"``'='`` вибирає порядок використання малого або великого порядку байтів на " +"основі головної системи. Модуль struct не інтерпретує це як рідне " +"впорядкування, тому формат ``'P'`` недоступний." msgid "" "The IEEE 754 binary16 \"half precision\" type was introduced in the 2008 " @@ -519,9 +629,18 @@ msgid "" "operations. See the Wikipedia page on the `half-precision floating-point " "format `_ for more information." msgstr "" +"Двійковий тип16 IEEE 754 із \"половиною точності\" було введено в редакції " +"2008 року `стандарту IEEE 754 `_. Він має знаковий біт, " +"5-бітний експоненту та 11-бітну точність (з 10 бітами, збереженими явно), і " +"може представляти числа приблизно від ``6.1e-05`` до ``6.5e+04`` з повною " +"точністю. . Цей тип не широко підтримується компіляторами C: на типовій " +"машині беззнаковий короткий можна використовувати для зберігання, але не для " +"математичних операцій. Перегляньте сторінку Вікіпедії про `формат числа з " +"плаваючою комою половинної точності `_ для отримання " +"додаткової інформації." msgid "When packing, ``'x'`` inserts one NUL byte." -msgstr "" +msgstr "При упаковке ``'x'`` вставляет один NUL-байт." msgid "" "The ``'p'`` format character encodes a \"Pascal string\", meaning a short " @@ -535,6 +654,16 @@ msgid "" "consumes ``count`` bytes, but that the string returned can never contain " "more than 255 bytes." msgstr "" +"Символ формату ``'p'`` кодує \"рядок Pascal\", що означає короткий рядок " +"змінної довжини, що зберігається у *фіксованій кількості байтів*, визначеній " +"підрахунком. Перший збережений байт — це довжина рядка або 255, залежно від " +"того, що менше. Далі йдуть байти рядка. Якщо рядок, переданий у :func:" +"`pack`, задовгий (довший за лічильник мінус 1), зберігаються лише перші " +"байти ``count-1`` рядка. Якщо рядок коротший за ``count-1``, він " +"доповнюється нульовими байтами, щоб використати рівно кількість байтів. " +"Зверніть увагу, що для :func:`unpack` символ формату ``'p'`` споживає " +"``count`` байтів, але що повернутий рядок ніколи не може містити більше 255 " +"байтів." msgid "" "For the ``'s'`` format character, the count is interpreted as the length of " @@ -549,16 +678,32 @@ msgid "" "number of bytes. As a special case, ``'0s'`` means a single, empty string " "(while ``'0c'`` means 0 characters)." msgstr "" +"Для символа формата ``'s'`` счетчик интерпретируется как длина байтов, а не " +"как счетчик повторений, как для других символов формата; например, ``'10s'`` " +"означает одну 10-байтовую строку, сопоставленную с одной байтовой строкой " +"Python или из нее, а ``'10c'`` означает 10 отдельных однобайтовых символьных " +"элементов (например, ``cccccccccc`` ) сопоставление десяти различным " +"байтовым объектам Python или обратно. (См. :ref:`struct-examples` для " +"конкретной демонстрации разницы.) Если счетчик не указан, по умолчанию он " +"равен 1. Для упаковки строка усекается или дополняется нулевыми байтами, " +"чтобы она соответствовала размеру. При распаковке результирующий объект " +"байтов всегда содержит ровно указанное количество байтов. В частном случае " +"``'0s'`` означает одну пустую строку (в то время как ``'0c'`` означает 0 " +"символов)." msgid "" "A format character may be preceded by an integral repeat count. For " "example, the format string ``'4h'`` means exactly the same as ``'hhhh'``." msgstr "" +"Символу форматування може передувати цілий підрахунок повторів. Наприклад, " +"рядок формату ``'4h''`` означає те саме, що ``'hhhh'``." msgid "" "Whitespace characters between formats are ignored; a count and its format " "must not contain whitespace though." msgstr "" +"Пробіли між форматами ігноруються; кількість і його формат не повинні " +"містити пробіли." msgid "" "When packing a value ``x`` using one of the integer formats (``'b'``, " @@ -566,11 +711,17 @@ msgid "" "``'Q'``), if ``x`` is outside the valid range for that format then :exc:" "`struct.error` is raised." msgstr "" +"Під час пакування значення ``x`` з використанням одного з цілочисельних " +"форматів (``'b'``, ``'B'``, ``'h'``, ``'H'``, ``'i'``, ``'I'``, ``'l'``, " +"``'L'``, ``'q'``, ``'Q'``), якщо ``x`` знаходиться за межами допустимого " +"діапазону для цього формату, тоді виникає :exc:`struct.error`." msgid "" "Previously, some of the integer formats wrapped out-of-range values and " "raised :exc:`DeprecationWarning` instead of :exc:`struct.error`." msgstr "" +"Раніше деякі цілочисельні формати обгортали значення поза діапазоном і " +"викликали :exc:`DeprecationWarning` замість :exc:`struct.error`." msgid "" "For the ``'?'`` format character, the return value is either :const:`True` " @@ -578,6 +729,11 @@ msgid "" "used. Either 0 or 1 in the native or standard bool representation will be " "packed, and any non-zero value will be ``True`` when unpacking." msgstr "" +"Для символу формату ``'?'`` повертається значення :const:`True` або :const:" +"`False`. При упаковці використовується значення істинності об'єкта " +"аргументу. Буде запаковано 0 або 1 у нативному або стандартному логічному " +"представленні, а будь-яке ненульове значення під час розпакування буде " +"``True``." msgid "Examples" msgstr "Przykłady" @@ -587,11 +743,17 @@ msgid "" "of any prefix character) may not match what the reader's machine produces as " "that depends on the platform and compiler." msgstr "" +"Примеры собственного порядка байтов (обозначаемые префиксом формата ``'@'`` " +"или отсутствием какого-либо префиксного символа) могут не соответствовать " +"тому, что выдает машина чтения, поскольку это зависит от платформы и " +"компилятора." msgid "" "Pack and unpack integers of three different sizes, using big endian " "ordering::" msgstr "" +"Упаковывайте и распаковывайте целые числа трёх разных размеров, используя " +"обратный порядок байтов:" msgid "" ">>> from struct import *\n" @@ -602,9 +764,18 @@ msgid "" ">>> calcsize('>bhl')\n" "7" msgstr "" +">>> from struct import *\n" +">>> pack(\">bhl\", 1, 2, 3)\n" +"b'\\x01\\x00\\x02\\x00\\x00\\x00\\x03'\n" +">>> unpack('>bhl', b'\\x01\\x00\\x02\\x00\\x00\\x00\\x03')\n" +"(1, 2, 3)\n" +">>> calcsize('>bhl')\n" +"7" msgid "Attempt to pack an integer which is too large for the defined field::" msgstr "" +"Попытка упаковать целое число, которое слишком велико для определенного " +"поля::" msgid "" ">>> pack(\">h\", 99999)\n" @@ -612,10 +783,13 @@ msgid "" " File \"\", line 1, in \n" "struct.error: 'h' format requires -32768 <= number <= 32767" msgstr "" +">>> пакет(\">h\", 99999) Traceback (последний вызов последний): Файл " +"«», строка 1, в <модуле> struct.error: для формата 'h' требуется " +"-32768 <= число <= 32767" msgid "" "Demonstrate the difference between ``'s'`` and ``'c'`` format characters::" -msgstr "" +msgstr "Продемонстрируйте разницу между символами формата ``'s'`` и ``'c'``::" msgid "" ">>> pack(\"@ccc\", b'1', b'2', b'3')\n" @@ -632,6 +806,8 @@ msgid "" "Unpacked fields can be named by assigning them to variables or by wrapping " "the result in a named tuple::" msgstr "" +"Розпаковані поля можна назвати, призначивши їх змінним або загорнувши " +"результат у іменований кортеж::" msgid "" ">>> record = b'raymond \\x32\\x12\\x08\\x01\\x08'\n" @@ -642,6 +818,13 @@ msgid "" ">>> Student._make(unpack('<10sHHb', record))\n" "Student(name=b'raymond ', serialnum=4658, school=264, gradelevel=8)" msgstr "" +">>> record = b'raymond \\x32\\x12\\x08\\x01\\x08'\n" +">>> name, serialnum, school, gradelevel = unpack('<10sHHb', record)\n" +"\n" +">>> from collections import namedtuple\n" +">>> Student = namedtuple('Student', 'name serialnum school gradelevel')\n" +">>> Student._make(unpack('<10sHHb', record))\n" +"Student(name=b'raymond ', serialnum=4658, school=264, gradelevel=8)" msgid "" "The ordering of format characters may have an impact on size in native mode " @@ -651,6 +834,12 @@ msgid "" "integer on a four-byte boundary. In this example, the output was produced on " "a little endian machine::" msgstr "" +"Порядок символов формата может влиять на размер в основном режиме, поскольку " +"заполнение неявно. В стандартном режиме пользователь несет ответственность " +"за вставку любого желаемого заполнения. Обратите внимание, что в первом " +"вызове ``pack`` ниже, после упакованного ``'#'`` были добавлены три NUL-" +"байта, чтобы выровнять следующее целое число по границе четырех байтов. В " +"этом примере выходные данные были созданы на машине с прямым порядком байтов:" msgid "" ">>> pack('@ci', b'#', 0x12131415)\n" @@ -662,11 +851,22 @@ msgid "" ">>> calcsize('@ic')\n" "5" msgstr "" +">>> pack('@ci', b'#', 0x12131415)\n" +"b'#\\x00\\x00\\x00\\x15\\x14\\x13\\x12'\n" +">>> pack('@ic', 0x12131415, b'#')\n" +"b'\\x15\\x14\\x13\\x12#'\n" +">>> calcsize('@ci')\n" +"8\n" +">>> calcsize('@ic')\n" +"5" msgid "" "The following format ``'llh0l'`` results in two pad bytes being added at the " "end, assuming the platform's longs are aligned on 4-byte boundaries::" msgstr "" +"Следующий формат ``'llh0l'`` приводит к добавлению в конце двух байтов " +"заполнения, предполагая, что длинные длины платформы выровнены по границам 4 " +"байтов:" msgid "" ">>> pack('@llh0l', 1, 2, 3)\n" @@ -676,25 +876,25 @@ msgstr "" "b'\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x02\\x00\\x03\\x00\\x00'" msgid "Module :mod:`array`" -msgstr "" +msgstr "Модуль :mod:`array`" msgid "Packed binary storage of homogeneous data." -msgstr "" +msgstr "Упаковане двійкове сховище однорідних даних." msgid "Module :mod:`json`" msgstr "moduł :mod:`json`" msgid "JSON encoder and decoder." -msgstr "" +msgstr "Кодер и декодер JSON." msgid "Module :mod:`pickle`" msgstr "moduł :mod:`pickle`" msgid "Python object serialization." -msgstr "" +msgstr "Сериализация объектов Python." msgid "Applications" -msgstr "" +msgstr "Приложения" msgid "" "Two main applications for the :mod:`struct` module exist, data interchange " @@ -704,9 +904,16 @@ msgid "" "layout (:ref:`standard formats`). Generally " "speaking, the format strings constructed for these two domains are distinct." msgstr "" +"Существуют два основных приложения для модуля :mod:`struct`: обмен данными " +"между кодом Python и C внутри приложения или другого приложения, " +"скомпилированного с использованием одного и того же компилятора (:ref:" +"`native formats`) и обмен данными между приложениями " +"с использованием согласованного формата данных (:ref:`standard " +"formats`). Вообще говоря, строки формата, созданные " +"для этих двух доменов, различны." msgid "Native Formats" -msgstr "" +msgstr "Родные форматы" msgid "" "When constructing format strings which mimic native layouts, the compiler " @@ -717,10 +924,19 @@ msgid "" "format string to round up to the correct byte boundary for proper alignment " "of consecutive chunks of data." msgstr "" +"При создании строк формата, имитирующих собственные макеты, компилятор и " +"архитектура машины определяют порядок и заполнение байтов. В таких случаях " +"для указания собственного порядка байтов и размеров данных следует " +"использовать символ формата ``@``. Внутренние байты заполнения обычно " +"вставляются автоматически. Возможно, что код формата с нулевым повторением " +"потребуется в конце строки формата для округления до правильной границы " +"байта и правильного выравнивания последовательных фрагментов данных." msgid "" "Consider these two simple examples (on a 64-bit, little-endian machine)::" msgstr "" +"Рассмотрим эти два простых примера (на 64-битной машине с прямым порядком " +"байтов):" msgid "" ">>> calcsize('@lhl')\n" @@ -738,6 +954,9 @@ msgid "" "string without the use of extra padding. A zero-repeat format code solves " "that problem::" msgstr "" +"Данные не дополняются до 8-байтовой границы в конце второй строки формата " +"без использования дополнительного заполнения. Код формата с нулевым " +"повторением решает эту проблему:" msgid "" ">>> calcsize('@llh0l')\n" @@ -750,14 +969,19 @@ msgid "" "The ``'x'`` format code can be used to specify the repeat, but for native " "formats it is better to use a zero-repeat format like ``'0l'``." msgstr "" +"Код формата ``'x'`` может использоваться для указания повторения, но для " +"собственных форматов лучше использовать формат с нулевым повторением, " +"например ``'0l'``." msgid "" "By default, native byte ordering and alignment is used, but it is better to " "be explicit and use the ``'@'`` prefix character." msgstr "" +"По умолчанию используется собственный порядок и выравнивание байтов, но " +"лучше указать явно и использовать префиксный символ ``'@'``." msgid "Standard Formats" -msgstr "" +msgstr "Стандартные форматы" msgid "" "When exchanging data beyond your process such as networking or storage, be " @@ -771,6 +995,17 @@ msgid "" "must explicitly add ``'x'`` pad bytes where needed. Revisiting the examples " "from the previous section, we have::" msgstr "" +"При обмене данными, выходящим за рамки вашего процесса, например, сети или " +"хранилища, будьте точны. Укажите точный порядок байтов, размер и " +"выравнивание. Не думайте, что они соответствуют исходному порядку конкретной " +"машины. Например, порядок байтов в сети — обратный порядок байтов, тогда как " +"у многих популярных процессоров — прямой порядок байтов. Определив это явно, " +"пользователю не нужно беспокоиться о специфике платформы, на которой " +"работает его код. Первым символом обычно должен быть ``<`` или ``>`` (или ``!" +"``). Заполнение является обязанностью программиста. Символ формата с нулевым " +"повтором не будет работать. Вместо этого пользователь должен явно добавить x " +"байтов заполнения там, где это необходимо. Возвращаясь к примерам из " +"предыдущего раздела, мы имеем:" msgid "" ">>> calcsize('>> pack('@llh0l', 1, 2, 3) == pack('>> calcsize('>> pack('>> calcsize('@llh')\n" +"18\n" +">>> pack('@llh', 1, 2, 3) == pack('>> calcsize('>> calcsize('@llh0l')\n" +"24\n" +">>> pack('@llh0l', 1, 2, 3) == pack('>> calcsize('>> pack('@llh0l', 1, 2, 3) == pack('>> calcsize('>> calcsize('@llh0l')\n" +"12\n" +">>> pack('@llh0l', 1, 2, 3) == pack(' (greater)" -msgstr "" +msgstr "> (больше)" msgid "! (exclamation)" -msgstr "" +msgstr "! (знак оклику)" msgid "? (question mark)" -msgstr "" +msgstr "? (знак питання)" diff --git a/library/subprocess.po b/library/subprocess.po index 719dded1a6..812a1dca82 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-08 03:57+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -57,6 +55,8 @@ msgid "" "This module is not supported on :ref:`mobile platforms ` or :ref:`WebAssembly platforms `." msgstr "" +"Этот модуль не поддерживается на :ref:`мобильных платформах ` или :ref:`платформах WebAssembly `." msgid "Using the :mod:`subprocess` Module" msgstr "" @@ -795,7 +795,7 @@ msgid "" msgstr "" msgid "Added context manager support." -msgstr "" +msgstr "Додано підтримку менеджера контексту." msgid "" "Popen destructor now emits a :exc:`ResourceWarning` warning if the child " @@ -1643,7 +1643,7 @@ msgid "" msgstr "" msgid "Windows support was added." -msgstr "" +msgstr "Додано підтримку Windows." msgid "" "The function now returns (exitcode, output) instead of (status, output) as " @@ -1667,11 +1667,34 @@ msgstr "" "'/bin/ls'" msgid "Windows support added" -msgstr "" +msgstr "Додано підтримку Windows" msgid "Notes" msgstr "Notatki" +msgid "Timeout Behavior" +msgstr "" + +msgid "" +"When using the ``timeout`` parameter in functions like :func:`run`, :meth:" +"`Popen.wait`, or :meth:`Popen.communicate`, users should be aware of the " +"following behaviors:" +msgstr "" + +msgid "" +"**Process Creation Delay**: The initial process creation itself cannot be " +"interrupted on many platform APIs. This means that even when specifying a " +"timeout, you are not guaranteed to see a timeout exception until at least " +"after however long process creation takes." +msgstr "" + +msgid "" +"**Extremely Small Timeout Values**: Setting very small timeout values (such " +"as a few milliseconds) may result in almost immediate :exc:`TimeoutExpired` " +"exceptions because process creation and system scheduling inherently require " +"time." +msgstr "" + msgid "Converting an argument sequence to a string on Windows" msgstr "" diff --git a/library/symtable.po b/library/symtable.po index 5cb15d32a7..cca1dd60ca 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/library/sys.monitoring.po b/library/sys.monitoring.po index f07a26de55..bedc8daf79 100644 --- a/library/sys.monitoring.po +++ b/library/sys.monitoring.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2023-09-08 14:16+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-25 15:00+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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,39 +24,49 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!sys.monitoring` --- Execution event monitoring" -msgstr "" +msgstr ":mod:`!sys.monitoring` --- Мониторинг событий выполнения" msgid "" ":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 "" +":mod:`sys.monitoring` — это пространство имен внутри модуля :mod:`sys`, а не " +"независимый модуль, поэтому нет необходимости ``импортировать sys." +"monitoring``, просто ``импортируйте sys``, а затем используйте ``sys." +"monitoring``." msgid "" "This namespace provides access to the functions and constants necessary to " "activate and control event monitoring." 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 " "receive callbacks when events of interest occur." msgstr "" +"Во время выполнения программ происходят события, которые могут представлять " +"интерес для инструментов, отслеживающих выполнение. Пространство имен :mod:" +"`sys.monitoring` предоставляет средства для получения обратных вызовов при " +"возникновении интересующих событий." msgid "The monitoring API consists of three components:" -msgstr "" +msgstr "API мониторинга состоит из трех компонентов:" msgid "`Tool identifiers`_" -msgstr "" +msgstr "`Идентификаторы инструментов`_" msgid "`Events`_" -msgstr "" +msgstr "`Events`_" msgid ":ref:`Callbacks `" -msgstr "" +msgstr ":ref:`Callbacks `" msgid "Tool identifiers" -msgstr "" +msgstr "Идентификаторы инструментов" msgid "" "A tool identifier is an integer and the associated name. Tool identifiers " @@ -65,19 +75,31 @@ msgid "" "independent and cannot be used to monitor each other. This restriction may " "be lifted in the future." msgstr "" +"Идентификатор инструмента представляет собой целое число и связанное с ним " +"имя. Идентификаторы инструментов используются для предотвращения " +"взаимодействия инструментов друг с другом и для обеспечения одновременной " +"работы нескольких инструментов. На данный момент инструменты полностью " +"независимы и не могут использоваться для мониторинга друг друга. В будущем " +"это ограничение может быть снято." msgid "" "Before registering or activating events, a tool should choose an identifier. " "Identifiers are integers in the range 0 to 5 inclusive." msgstr "" +"Прежде чем регистрировать или активировать события, инструмент должен " +"выбрать идентификатор. Идентификаторы представляют собой целые числа в " +"диапазоне от 0 до 5 включительно." msgid "Registering and using tools" -msgstr "" +msgstr "Регистрация и использование инструментов" msgid "" "Must be called before *tool_id* can be used. *tool_id* must be in the range " "0 to 5 inclusive. Raises a :exc:`ValueError` if *tool_id* is in use." msgstr "" +"Должен быть вызван перед использованием *tool_id*. *tool_id* должен " +"находиться в диапазоне от 0 до 5 включительно. Вызывает :exc:`ValueError`, " +"если *tool_id* используется." msgid "Should be called once a tool no longer requires *tool_id*." msgstr "" @@ -93,11 +115,17 @@ msgid "" "Returns the name of the tool if *tool_id* is in use, otherwise it returns " "``None``. *tool_id* must be in the range 0 to 5 inclusive." msgstr "" +"Возвращает имя инструмента, если *tool_id* используется, в противном случае " +"возвращается ``None``. *tool_id* должен находиться в диапазоне от 0 до 5 " +"включительно." msgid "" "All IDs are treated the same by the VM with regard to events, but the " "following IDs are pre-defined to make co-operation of tools easier::" msgstr "" +"Все идентификаторы обрабатываются виртуальной машиной одинаково в отношении " +"событий, но следующие идентификаторы предопределены для упрощения " +"взаимодействия инструментов:" msgid "" "sys.monitoring.DEBUGGER_ID = 0\n" @@ -105,60 +133,76 @@ msgid "" "sys.monitoring.PROFILER_ID = 2\n" "sys.monitoring.OPTIMIZER_ID = 5" msgstr "" +"sys.monitoring.DEBUGGER_ID = 0\n" +"sys.monitoring.COVERAGE_ID = 1\n" +"sys.monitoring.PROFILER_ID = 2\n" +"sys.monitoring.OPTIMIZER_ID = 5" msgid "Events" -msgstr "" +msgstr "События" msgid "The following events are supported:" -msgstr "" +msgstr "Поддерживаются следующие события:" msgid "A conditional branch is taken (or not)." msgstr "" msgid "A call in Python code (event occurs before the call)." -msgstr "" +msgstr "Вызов в коде Python (событие происходит перед вызовом)." msgid "" "An exception raised from any callable, except for Python functions (event " "occurs after the exit)." msgstr "" +"Исключение, возникающее из любого вызываемого объекта, кроме функций Python " +"(событие возникает после выхода)." msgid "" "Return from any callable, except for Python functions (event occurs after " "the return)." msgstr "" +"Возврат из любого вызываемого объекта, кроме функций Python (событие " +"происходит после возврата)." msgid "An exception is handled." -msgstr "" +msgstr "Исключение обрабатывается." msgid "A VM instruction is about to be executed." -msgstr "" +msgstr "Инструкция VM скоро будет выполнена." msgid "An unconditional jump in the control flow graph is made." -msgstr "" +msgstr "Производится безусловный переход в графе потока управления." msgid "" "An instruction is about to be executed that has a different line number from " "the preceding instruction." msgstr "" +"Скоро будет выполнена инструкция, номер строки которой отличается от номера " +"предыдущей инструкции." msgid "" "Resumption of a Python function (for generator and coroutine functions), " "except for ``throw()`` calls." msgstr "" +"Возобновление работы функции Python (для функций генератора и сопрограммы), " +"за исключением вызовов ``throw()``." msgid "" "Return from a Python function (occurs immediately before the return, the " "callee's frame will be on the stack)." msgstr "" +"Возврат из функции Python (происходит непосредственно перед возвратом, кадр " +"вызываемого объекта будет находиться в стеке)." msgid "" "Start of a Python function (occurs immediately after the call, the callee's " "frame will be on the stack)" msgstr "" +"Запуск функции Python (происходит сразу после вызова, кадр вызываемого " +"объекта будет в стеке)" msgid "A Python function is resumed by a ``throw()`` call." -msgstr "" +msgstr "Функция Python возобновляется вызовом throw()." msgid "Exit from a Python function during exception unwinding." msgstr "" @@ -167,24 +211,30 @@ msgid "" "Yield from a Python function (occurs immediately before the yield, the " "callee's frame will be on the stack)." msgstr "" +"Выход из функции Python (происходит непосредственно перед выходом, кадр " +"вызываемого объекта будет в стеке)." msgid "" "An exception is raised, except those that cause a :monitoring-event:" "`STOP_ITERATION` event." msgstr "" +"Вызывается исключение, за исключением тех, которые вызывают событие :" +"monitoring-event:`STOP_ITERATION`." msgid "" "An exception is re-raised, for example at the end of a :keyword:`finally` " "block." msgstr "" +"Исключение возникает повторно, например, в конце блока :keyword:`finally`." msgid "" "An artificial :exc:`StopIteration` is raised; see `the STOP_ITERATION " "event`_." msgstr "" +"Вызывается искусственный :exc:`StopIteration`; см. `событие STOP_ITERATION`_." msgid "More events may be added in the future." -msgstr "" +msgstr "В будущем могут быть добавлены и другие мероприятия." msgid "" "These events are attributes of the :mod:`!sys.monitoring.events` namespace. " @@ -193,9 +243,17 @@ msgid "" "specify both :monitoring-event:`PY_RETURN` and :monitoring-event:`PY_START` " "events, use the expression ``PY_RETURN | PY_START``." msgstr "" +"Esses eventos são atributos do espaço de nomes :mod:`!sys.monitoring." +"events`. Cada evento é representado como uma constante de potência de 2 " +"inteiros. Para definir um conjunto de eventos, basta aplicar OU (OR) bit a " +"bit nos eventos individuais juntos. Por exemplo, para especificar os " +"eventos :monitoring-event:`PY_RETURN` e :monitoring-event:`PY_START`, use a " +"expressão ``PY_RETURN | PY_START``." msgid "An alias for ``0`` so users can do explicit comparisons like::" msgstr "" +"Псевдоним для ``0``, чтобы пользователи могли выполнять явные сравнения, " +"например:" msgid "" "if get_events(DEBUGGER_ID) == NO_EVENTS:\n" @@ -208,13 +266,16 @@ msgid "Events are divided into three groups:" msgstr "" msgid "Local events" -msgstr "" +msgstr "Местные события" msgid "" "Local events are associated with normal execution of the program and happen " "at clearly defined locations. All local events can be disabled. The local " "events are:" msgstr "" +"Локальные события связаны с обычным выполнением программы и происходят в " +"четко определенных местах. Все локальные события можно отключить. Местные " +"мероприятия:" msgid ":monitoring-event:`PY_START`" msgstr ":monitoring-event:`PY_START`" @@ -247,12 +308,14 @@ msgid ":monitoring-event:`STOP_ITERATION`" msgstr ":monitoring-event:`STOP_ITERATION`" msgid "Ancillary events" -msgstr "" +msgstr "Вспомогательные мероприятия" msgid "" "Ancillary events can be monitored like other events, but are controlled by " "another event:" msgstr "" +"Вспомогательные события можно отслеживать, как и другие события, но они " +"контролируются другим событием:" msgid ":monitoring-event:`C_RAISE`" msgstr ":monitoring-event:`C_RAISE`" @@ -266,17 +329,23 @@ msgid "" "`C_RETURN` and :monitoring-event:`C_RAISE` events will only be seen if the " "corresponding :monitoring-event:`CALL` event is being monitored." msgstr "" +"События :monitoring-event:`C_RETURN` и :monitoring-event:`C_RAISE` " +"управляются событием :monitoring-event:`CALL`. События :monitoring-event:" +"`C_RETURN` и :monitoring-event:`C_RAISE` будут видны только в том случае, " +"если отслеживается соответствующее событие :monitoring-event:`CALL`." msgid "Other events" -msgstr "" +msgstr "Другие события" msgid "" "Other events are not necessarily tied to a specific location in the program " "and cannot be individually disabled." msgstr "" +"Другие события не обязательно привязаны к определенному месту в программе и " +"не могут быть отключены индивидуально." msgid "The other events that can be monitored are:" -msgstr "" +msgstr "Другие события, которые можно отслеживать:" msgid ":monitoring-event:`PY_THROW`" msgstr ":monitoring-event:`PY_THROW`" @@ -291,7 +360,7 @@ msgid ":monitoring-event:`EXCEPTION_HANDLED`" msgstr ":monitoring-event:`EXCEPTION_HANDLED`" msgid "The STOP_ITERATION event" -msgstr "" +msgstr "Событие STOP_ITERATION" msgid "" ":pep:`PEP 380 <380#use-of-stopiteration-to-return-values>` specifies that a :" @@ -300,6 +369,11 @@ msgid "" "value, so some Python implementations, notably CPython 3.12+, do not raise " "an exception unless it would be visible to other code." msgstr "" +":pep:`PEP 380 <380#use-of-stopiteration-to-return-values>` указывает, что " +"исключение :exc:`StopIteration` возникает при возврате значения из " +"генератора или сопрограммы. Однако это очень неэффективный способ вернуть " +"значение, поэтому некоторые реализации Python, особенно CPython 3.12+, не " +"вызывают исключение, если оно не будет видно другому коду." msgid "" "To allow tools to monitor for real exceptions without slowing down " @@ -307,9 +381,13 @@ msgid "" "provided. :monitoring-event:`STOP_ITERATION` can be locally disabled, " "unlike :monitoring-event:`RAISE`." msgstr "" +"Чтобы инструменты могли отслеживать реальные исключения, не замедляя работу " +"генераторов и сопрограмм, предусмотрено событие :monitoring-event:" +"`STOP_ITERATION`. :monitoring-event:`STOP_ITERATION` можно отключить " +"локально, в отличие от :monitoring-event:`RAISE`." msgid "Turning events on and off" -msgstr "" +msgstr "Включение и выключение событий" msgid "" "In order to monitor an event, it must be turned on and a corresponding " @@ -318,26 +396,29 @@ msgid "" msgstr "" msgid "Setting events globally" -msgstr "" +msgstr "Глобальная настройка событий" msgid "" "Events can be controlled globally by modifying the set of events being " "monitored." msgstr "" +"Событиями можно управлять глобально, изменяя набор отслеживаемых событий." msgid "Returns the ``int`` representing all the active events." -msgstr "" +msgstr "Возвращает int, представляющий все активные события." msgid "" "Activates all events which are set in *event_set*. Raises a :exc:" "`ValueError` if *tool_id* is not in use." msgstr "" +"Активирует все события, заданные в *event_set*. Вызывает :exc:`ValueError`, " +"если *tool_id* не используется." msgid "No events are active by default." -msgstr "" +msgstr "По умолчанию ни одно событие не является активным." msgid "Per code object events" -msgstr "" +msgstr "События объекта кода" msgid "" "Events can also be controlled on a per code object basis. The functions " @@ -345,14 +426,20 @@ msgid "" "accept a look-alike object from functions which are not defined in Python " "(see :ref:`c-api-monitoring`)." msgstr "" +"Событиями также можно управлять для каждого объекта кода. Определенные ниже " +"функции, которые принимают :class:`types.CodeType`, должны быть готовы " +"принять похожий объект из функций, которые не определены в Python (см. :ref:" +"`c-api-monitoring`)." msgid "Returns all the local events for *code*" -msgstr "" +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." msgstr "" +"Активирует все локальные события для *code*, которые установлены в " +"*event_set*. Вызывает :exc:`ValueError`, если *tool_id* не используется." msgid "" "Local events add to global events, but do not mask them. In other words, all " @@ -360,18 +447,24 @@ msgid "" msgstr "" msgid "Disabling events" -msgstr "" +msgstr "Отключение событий" msgid "" "A special value that can be returned from a callback function to disable " "events for the current code location." 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." msgstr "" +"Локальные события можно отключить для определенного места кода, вернув :data:" +"`sys.monitoring.DISABLE` из функции обратного вызова. Это не влияет на то, " +"какие события установлены или какие-либо другие места кода для того же " +"события." msgid "" "Disabling events for specific locations is very important for high " @@ -379,47 +472,62 @@ msgid "" "with no overhead if the debugger disables all monitoring except for a few " "breakpoints." msgstr "" +"Отключение событий для определенных мест очень важно для обеспечения высокой " +"производительности мониторинга. Например, программу можно запустить под " +"отладчиком без дополнительных затрат, если отладчик отключит весь " +"мониторинг, за исключением нескольких точек останова." msgid "" "Enable all the events that were disabled by :data:`sys.monitoring.DISABLE` " "for all tools." msgstr "" +"Включите все события, которые были отключены с помощью :data:`sys.monitoring." +"DISABLE` для всех инструментов." msgid "Registering callback functions" -msgstr "" +msgstr "Регистрация функций обратного вызова" msgid "To register a callable for events call" msgstr "" msgid "Registers the callable *func* for the *event* with the given *tool_id*" -msgstr "" +msgstr "Регистрирует вызываемую *функцию* для *события* с заданным *tool_id*." msgid "" "If another callback was registered for the given *tool_id* and *event*, it " "is unregistered and returned. Otherwise :func:`register_callback` returns " "``None``." msgstr "" +"Если для заданных *tool_id* и *event* был зарегистрирован другой обратный " +"вызов, он отменяется и возвращается. В противном случае :func:" +"`register_callback` возвращает ``None``." + +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)``." msgstr "" +"Регистрация функций может быть отменена путем вызова ``sys.monitoring." +"register_callback(tool_id, event, None)``." 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." -msgstr "" +"Функции обратного вызова можно зарегистрировать и отменить регистрацию в " +"любое время." msgid "Callback function arguments" -msgstr "" +msgstr "Аргументы функции обратного вызова" msgid "" "A special value that is passed to a callback function to indicate that there " "are no arguments to the call." msgstr "" +"Специальное значение, которое передается в функцию обратного вызова, чтобы " +"указать, что у вызова нет аргументов." msgid "" "When an active event occurs, the registered callback function is called. " @@ -428,13 +536,13 @@ msgid "" msgstr "" msgid ":monitoring-event:`PY_START` and :monitoring-event:`PY_RESUME`::" -msgstr "" +msgstr ":monitoring-event:`PY_START` и :monitoring-event:`PY_RESUME`::" msgid "func(code: CodeType, instruction_offset: int) -> DISABLE | Any" msgstr "" msgid ":monitoring-event:`PY_RETURN` and :monitoring-event:`PY_YIELD`::" -msgstr "" +msgstr ":monitoring-event:`PY_RETURN` и :monitoring-event:`PY_YIELD`::" msgid "" "func(code: CodeType, instruction_offset: int, retval: object) -> DISABLE | " @@ -460,6 +568,9 @@ msgid "" "`EXCEPTION_HANDLED`, :monitoring-event:`PY_UNWIND`, :monitoring-event:" "`PY_THROW` and :monitoring-event:`STOP_ITERATION`::" msgstr "" +":monitoring-event:`RAISE`, :monitoring-event:`RERAISE`, :monitoring-event:" +"`EXCEPTION_HANDLED`, :monitoring-event:`PY_UNWIND`, :monitoring-event:" +"`PY_THROW` и :monitoring-event: `STOP_ITERATION`::" msgid "" "func(code: CodeType, instruction_offset: int, exception: BaseException) -> " diff --git a/library/sys.po b/library/sys.po index 0a76a7cf43..a4bf691ac7 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -669,7 +665,7 @@ msgid "" msgstr "" msgid "See also :func:`math.ulp`." -msgstr "" +msgstr "Дивіться також :func:`math.ulp`." msgid ":c:macro:`!DBL_DIG`" msgstr ":c:macro:`!DBL_DIG`" @@ -1496,7 +1492,7 @@ msgid "``'linux'``" msgstr "``'linux'``" msgid "macOS" -msgstr "" +msgstr "macOS" msgid "``'darwin'``" msgstr "" @@ -1556,6 +1552,7 @@ msgid "" "The :mod:`platform` module provides detailed checks for the system's " "identity." msgstr "" +"Модуль :mod:`platform` забезпечує детальну перевірку ідентичності системи." msgid "" "Name of the platform-specific library directory. It is used to build the " @@ -1777,7 +1774,7 @@ msgid "" msgstr "" msgid "``'line'``" -msgstr "" +msgstr "``''рядок'``" msgid "" "The interpreter is about to execute a new line of code or re-execute the " @@ -2211,6 +2208,12 @@ msgid "" "in the :mod:`sys` module for informational purposes; modifying this value " "has no effect on the registry keys used by Python." msgstr "" +"Номер версии, используемый для формирования ключей реестра на платформах " +"Windows. Он хранится как строковый ресурс 1000 в Python DLL. Обычно это " +"значение представляет собой основную и дополнительную версии работающего " +"интерпретатора Python. Он предоставляется в модуле :mod:`sys` для " +"информационных целей; изменение этого значения не влияет на ключи реестра, " +"используемые Python." msgid "" "Namespace containing functions and constants for register callbacks and " @@ -2268,7 +2271,7 @@ msgid "trace function" msgstr "" msgid "debugger" -msgstr "" +msgstr "debugger" msgid "module" msgstr "moduł" diff --git a/library/sysconfig.po b/library/sysconfig.po index ffc4b5137c..d67357588c 100644 --- a/library/sysconfig.po +++ b/library/sysconfig.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-02 14:19+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -487,7 +487,7 @@ msgid "" msgstr "" msgid "Other functions" -msgstr "" +msgstr "Інші функції" msgid "" "Return the ``MAJOR.MINOR`` Python version number as a string. Similar to " @@ -573,8 +573,8 @@ msgstr "" msgid "Return the path of :file:`Makefile`." msgstr "" -msgid "Using :mod:`sysconfig` as a script" -msgstr "" +msgid "Command-line usage" +msgstr "Использование командной строки" msgid "You can use :mod:`sysconfig` as a script with Python's *-m* option:" msgstr "" diff --git a/library/syslog.po b/library/syslog.po index 8cb24cf14e..59b8c674f7 100644 --- a/library/syslog.po +++ b/library/syslog.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -25,13 +24,16 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!syslog` --- Unix syslog library routines" -msgstr "" +msgstr ":mod:`!syslog` --- Подпрограммы библиотеки системного журнала Unix" msgid "" "This module provides an interface to the Unix ``syslog`` library routines. " "Refer to the Unix manual pages for a detailed description of the ``syslog`` " "facility." msgstr "" +"Цей модуль забезпечує інтерфейс для процедур бібліотеки ``syslog`` Unix. " +"Зверніться до довідкових сторінок Unix для детального опису засобу " +"``syslog``." msgid "Availability" msgstr "Dostępność" @@ -41,9 +43,13 @@ msgid "" "library that can speak to a syslog server is available in the :mod:`logging." "handlers` module as :class:`~logging.handlers.SysLogHandler`." msgstr "" +"Этот модуль включает в себя семейство системных процедур системного журнала. " +"Библиотека чистого Python, которая может взаимодействовать с сервером " +"системного журнала, доступна в модуле :mod:`logging.handlers` как :class:" +"`~logging.handlers.SysLogHandler`." msgid "The module defines the following functions:" -msgstr "" +msgstr "Модуль визначає такі функції:" msgid "" "Send the string *message* to the system logger. A trailing newline is added " @@ -53,22 +59,36 @@ msgid "" "not encoded in *priority* using logical-or (``LOG_INFO | LOG_USER``), the " "value given in the :func:`openlog` call is used." msgstr "" +"Надішліть рядок *повідомлення* системному реєстратору. За необхідності " +"додається символ нового рядка. Кожне повідомлення позначено тегом " +"пріоритету, що складається з *засобу* та *рівня*. Додатковий аргумент " +"*priority*, який за замовчуванням має значення :const:`LOG_INFO`, визначає " +"пріоритет повідомлення. Якщо засіб не закодовано в *пріоритеті* за допомогою " +"логічного або (``LOG_INFO | LOG_USER``), використовується значення, указане " +"у виклику :func:`openlog`." msgid "" "If :func:`openlog` has not been called prior to the call to :func:`syslog`, :" "func:`openlog` will be called with no arguments." msgstr "" +"Если :func:`openlog` не была вызвана до вызова :func:`syslog`, :func:" +"`openlog` будет вызвана без аргументов." msgid "" "Raises an :ref:`auditing event ` ``syslog.syslog`` with arguments " "``priority``, ``message``." msgstr "" +"Викликає :ref:`подію аудиту ` ``syslog.syslog`` з аргументами " +"``priority``, ``message``." msgid "" "In previous versions, :func:`openlog` would not be called automatically if " "it wasn't called prior to the call to :func:`syslog`, deferring to the " "syslog implementation to call ``openlog()``." msgstr "" +"В предыдущих версиях :func:`openlog` не вызывалась автоматически, если она " +"не вызывалась до вызова :func:`syslog`, откладывая вызов ``openlog()`` на " +"реализацию системного журнала." msgid "" "This function is restricted in subinterpreters. (Only code that runs in " @@ -77,12 +97,20 @@ msgid "" "func:`syslog` may be used in a subinterpreter. Otherwise it will raise :exc:" "`RuntimeError`." msgstr "" +"Эта функция ограничена в субинтерпретаторах. (Затрагивается только код, " +"который работает в нескольких интерпретаторах, и ограничение не актуально " +"для большинства пользователей.) :func:`openlog` необходимо вызвать в " +"основном интерпретаторе, прежде чем :func:`syslog` можно будет использовать " +"в подинтерпретаторе. В противном случае будет выдано :exc:`RuntimeError`." msgid "" "Logging options of subsequent :func:`syslog` calls can be set by calling :" "func:`openlog`. :func:`syslog` will call :func:`openlog` with no arguments " "if the log is not currently open." msgstr "" +"Параметри журналювання наступних викликів :func:`syslog` можна встановити за " +"допомогою виклику :func:`openlog`. :func:`syslog` викличе :func:`openlog` " +"без аргументів, якщо журнал наразі не відкритий." msgid "" "The optional *ident* keyword argument is a string which is prepended to " @@ -92,16 +120,27 @@ msgid "" "keyword argument (default is :const:`LOG_USER`) sets the default facility " "for messages which do not have a facility explicitly encoded." msgstr "" +"Необов’язковий аргумент ключового слова *ident* — це рядок, який додається " +"до кожного повідомлення та за замовчуванням має значення ``sys.argv[0]`` з " +"видаленими компонентами початкового шляху. Додатковий аргумент ключового " +"слова *logoption* (за замовчуванням 0) є бітовим полем. Нижче наведено " +"можливі значення для об’єднання. Необов’язковий аргумент ключового слова " +"*facility* (за замовчуванням: :const:`LOG_USER`) встановлює функцію за " +"замовчуванням для повідомлень, які не мають явно закодованої можливості." msgid "" "Raises an :ref:`auditing event ` ``syslog.openlog`` with arguments " "``ident``, ``logoption``, ``facility``." msgstr "" +"Викликає :ref:`подію аудиту ` ``syslog.openlog`` з аргументами " +"``ident``, ``logoption``, ``facility``." msgid "" "In previous versions, keyword arguments were not allowed, and *ident* was " "required." msgstr "" +"В предыдущих версиях аргументы с ключевыми словами не допускались и " +"требовалось *ident*." msgid "" "This function is restricted in subinterpreters. (Only code that runs in " @@ -109,10 +148,16 @@ msgid "" "most users.) This may only be called in the main interpreter. It will raise :" "exc:`RuntimeError` if called in a subinterpreter." msgstr "" +"Эта функция ограничена в субинтерпретаторах. (Затрагивается только код, " +"который работает в нескольких интерпретаторах, и ограничение не актуально " +"для большинства пользователей.) Это можно вызвать только в основном " +"интерпретаторе. Он вызовет :exc:`RuntimeError`, если его вызвать в " +"подинтерпретаторе." msgid "" "Reset the syslog module values and call the system library ``closelog()``." msgstr "" +"Скиньте значення модуля syslog і викличте системну бібліотеку ``closelog()``." msgid "" "This causes the module to behave as it does when initially imported. For " @@ -120,11 +165,16 @@ msgid "" "(if :func:`openlog` hasn't already been called), and *ident* and other :func:" "`openlog` parameters are reset to defaults." msgstr "" +"Це змушує модуль поводитись так само, як і під час початкового імпорту. " +"Наприклад, :func:`openlog` буде викликано під час першого виклику :func:" +"`syslog` (якщо :func:`openlog` ще не було викликано), а *ident* та інші :" +"func:`openlog` параметри скидаються до значень за замовчуванням." msgid "" "Raises an :ref:`auditing event ` ``syslog.closelog`` with no " "arguments." msgstr "" +"Викликає :ref:`подію аудиту ` ``syslog.closelog`` без аргументів." msgid "" "Set the priority mask to *maskpri* and return the previous mask value. " @@ -134,42 +184,57 @@ msgid "" "The function ``LOG_UPTO(pri)`` calculates the mask for all priorities up to " "and including *pri*." msgstr "" +"Встановіть маску пріоритету на *maskpri* та поверніть попереднє значення " +"маски. Виклики до :func:`syslog` з рівнем пріоритету, не встановленим у " +"*maskpri*, ігноруються. За умовчанням реєструються всі пріоритети. Функція " +"``LOG_MASK(pri)`` обчислює маску для індивідуального пріоритету *pri*. " +"Функція ``LOG_UPTO(pri)`` обчислює маску для всіх пріоритетів до *pri* " +"включно." msgid "" "Raises an :ref:`auditing event ` ``syslog.setlogmask`` with " "argument ``maskpri``." msgstr "" +"Викликає :ref:`подію аудиту ` ``syslog.setlogmask`` з аргументом " +"``maskpri``." msgid "The module defines the following constants:" -msgstr "" +msgstr "Модуль визначає такі константи:" msgid "Priority levels (high to low)." -msgstr "" +msgstr "Уровни приоритета (от высокого до низкого)." msgid "" "Facilities, depending on availability in ```` for :const:" "`LOG_AUTHPRIV`, :const:`LOG_FTP`, :const:`LOG_NETINFO`, :const:" "`LOG_REMOTEAUTH`, :const:`LOG_INSTALL` and :const:`LOG_RAS`." msgstr "" +"Возможности, в зависимости от доступности в ```` для :const:" +"`LOG_AUTHPRIV`, :const:`LOG_FTP`, :const:`LOG_NETINFO`, :const:" +"`LOG_REMOTEAUTH`, :const:`LOG_INSTALL` и :const:`LOG_RAS`." msgid "" "Added :const:`LOG_FTP`, :const:`LOG_NETINFO`, :const:`LOG_REMOTEAUTH`, :" "const:`LOG_INSTALL`, :const:`LOG_RAS`, and :const:`LOG_LAUNCHD`." msgstr "" +"Добавлены :const:`LOG_FTP`, :const:`LOG_NETINFO`, :const:`LOG_REMOTEAUTH`, :" +"const:`LOG_INSTALL`, :const:`LOG_RAS` и :const:`LOG_LAUNCHD`." msgid "" "Log options, depending on availability in ```` for :const:" "`LOG_ODELAY`, :const:`LOG_NOWAIT` and :const:`LOG_PERROR`." msgstr "" +"Параметры журнала, в зависимости от наличия в ```` для :const:" +"`LOG_ODELAY`, :const:`LOG_NOWAIT` и :const:`LOG_PERROR`." msgid "Examples" msgstr "Przykłady" msgid "Simple example" -msgstr "" +msgstr "Простий приклад" msgid "A simple set of examples::" -msgstr "" +msgstr "Простий набір прикладів:" msgid "" "import syslog\n" @@ -178,14 +243,24 @@ msgid "" "if error:\n" " syslog.syslog(syslog.LOG_ERR, 'Processing started')" msgstr "" +"import syslog\n" +"\n" +"syslog.syslog('Processing started')\n" +"if error:\n" +" syslog.syslog(syslog.LOG_ERR, 'Processing started')" msgid "" "An example of setting some log options, these would include the process ID " "in logged messages, and write the messages to the destination facility used " "for mail logging::" msgstr "" +"Приклад налаштування деяких параметрів журналу, які включатимуть " +"ідентифікатор процесу в зареєстрованих повідомленнях і запис повідомлень до " +"засобу призначення, який використовується для журналювання пошти:" msgid "" "syslog.openlog(logoption=syslog.LOG_PID, facility=syslog.LOG_MAIL)\n" "syslog.syslog('E-mail processing initiated...')" msgstr "" +"syslog.openlog(logoption=syslog.LOG_PID, facility=syslog.LOG_MAIL)\n" +"syslog.syslog('E-mail processing initiated...')" diff --git a/library/tarfile.po b/library/tarfile.po index b47d2c822c..beffbde469 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-25 15:00+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -92,7 +90,7 @@ msgstr "" msgid "action" msgstr "" -msgid "``'r' or 'r:*'``" +msgid "``'r'`` or ``'r:*'``" msgstr "" msgid "Open for reading with transparent compression (recommended)." @@ -154,7 +152,7 @@ msgid "" "exception if it already exists." msgstr "" -msgid "``'a' or 'a:'``" +msgid "``'a'`` or ``'a:'``" msgstr "" msgid "" @@ -162,7 +160,7 @@ msgid "" "exist." msgstr "" -msgid "``'w' or 'w:'``" +msgid "``'w'`` or ``'w:'``" msgstr "" msgid "Open for uncompressed writing." @@ -360,6 +358,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 "" @@ -639,7 +644,7 @@ msgid "The *path* parameter accepts a :term:`path-like object`." msgstr "" msgid "Added the *filter* parameter." -msgstr "" +msgstr "Додано параметр *фільтр*." msgid "" "Extract a member from the archive to the current working directory, using " @@ -1107,6 +1112,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." @@ -1150,6 +1162,9 @@ msgid "" "``None``, so that extraction methods skip setting it." msgstr "" +msgid "Link targets are now normalized." +msgstr "" + msgid "Filter errors" msgstr "" @@ -1180,6 +1195,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." @@ -1314,7 +1332,7 @@ msgid "" msgstr "" msgid "Command-Line Interface" -msgstr "" +msgstr "Інтерфейс командного рядка" msgid "" "The :mod:`tarfile` module provides a simple command-line interface to " @@ -1385,6 +1403,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 "" @@ -1414,6 +1435,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 "" @@ -1436,23 +1480,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 "" diff --git a/library/tempfile.po b/library/tempfile.po index 7c35031d60..e3cad61304 100644 --- a/library/tempfile.po +++ b/library/tempfile.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2024 -# Maciej Olko , 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -545,7 +544,7 @@ msgid "temporary" msgstr "" msgid "file name" -msgstr "" +msgstr "ім'я файлу" msgid "file" msgstr "plik" diff --git a/library/termios.po b/library/termios.po index bae249eeaa..1128cf47bb 100644 --- a/library/termios.po +++ b/library/termios.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -50,7 +50,7 @@ msgid "" msgstr "" msgid "The module defines the following functions:" -msgstr "" +msgstr "Модуль визначає такі функції:" msgid "" "Return a list containing the tty attributes for file descriptor *fd*, as " diff --git a/library/text.po b/library/text.po index 560bd21d1e..708b47843f 100644 --- a/library/text.po +++ b/library/text.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Stefan Ocetkiewicz , 2021\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -38,3 +38,6 @@ msgid "" "highly relevant to text processing. In addition, see the documentation for " "Python's built-in string type in :ref:`textseq`." msgstr "" +"Modul :mod:`codecs` yang dijelaskan pada :ref:`binaryservices` juga sangat " +"relevan untuk pemrosesan text. Lihat juga dokumentasi untuk tipe string " +"bawaan Python di :ref:`textseq`." diff --git a/library/textwrap.po b/library/textwrap.po index 41b8a5c8a1..5aee0d5cbf 100644 --- a/library/textwrap.po +++ b/library/textwrap.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2024 -# Wiktor Matuszewski , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -346,4 +344,4 @@ msgid "..." msgstr "..." msgid "placeholder" -msgstr "" +msgstr "placeholder" diff --git a/library/threading.po b/library/threading.po index acb3599b58..4f96932c40 100644 --- a/library/threading.po +++ b/library/threading.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-16 14:58+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -35,6 +34,67 @@ msgid "" "level :mod:`_thread` module." msgstr "" +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 "" +"Этот модуль не работает или недоступен в WebAssembly. См. :ref:`wasm-" +"availability` для получения дополнительной информации." + +msgid "Introduction" +msgstr "Wprowadzenie" + +msgid "" +"The :mod:`!threading` module provides a way to run multiple `threads " +"`_ (smaller units of a " +"process) concurrently within a single process. It allows for the creation " +"and management of threads, making it possible to execute tasks in parallel, " +"sharing memory space. Threads are particularly useful when tasks are I/O " +"bound, such as file operations or making network requests, where much of the " +"time is spent waiting for external resources." +msgstr "" + +msgid "" +"A typical use case for :mod:`!threading` includes managing a pool of worker " +"threads that can process multiple tasks concurrently. Here's a basic " +"example of creating and starting threads using :class:`~threading.Thread`::" +msgstr "" + +msgid "" +"import threading\n" +"import time\n" +"\n" +"def crawl(link, delay=3):\n" +" print(f\"crawl started for {link}\")\n" +" time.sleep(delay) # Blocking I/O (simulating a network request)\n" +" print(f\"crawl ended for {link}\")\n" +"\n" +"links = [\n" +" \"https://python.org\",\n" +" \"https://docs.python.org\",\n" +" \"https://peps.python.org\",\n" +"]\n" +"\n" +"# Start threads for each link\n" +"threads = []\n" +"for link in links:\n" +" # Using `args` to pass positional arguments and `kwargs` for keyword " +"arguments\n" +" t = threading.Thread(target=crawl, args=(link,), kwargs={\"delay\": 2})\n" +" threads.append(t)\n" +"\n" +"# Start each thread\n" +"for t in threads:\n" +" t.start()\n" +"\n" +"# Wait for all threads to finish\n" +"for t in threads:\n" +" t.join()" +msgstr "" + msgid "This module used to be optional, it is now always available." msgstr "" @@ -71,17 +131,31 @@ msgid "" "appropriate model if you want to run multiple I/O-bound tasks simultaneously." msgstr "" -msgid "Availability" -msgstr "Dostępność" +msgid "GIL and performance considerations" +msgstr "" msgid "" -"This module does not work or is not available on WebAssembly. See :ref:`wasm-" -"availability` for more information." +"Unlike the :mod:`multiprocessing` module, which uses separate processes to " +"bypass the :term:`global interpreter lock` (GIL), the threading module " +"operates within a single process, meaning that all threads share the same " +"memory space. However, the GIL limits the performance gains of threading " +"when it comes to CPU-bound tasks, as only one thread can execute Python " +"bytecode at a time. Despite this, threads remain a useful tool for achieving " +"concurrency in many scenarios." msgstr "" -msgid "This module defines the following functions:" +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`)." msgstr "" +msgid "Reference" +msgstr "Referensi" + +msgid "This module defines the following functions:" +msgstr "Цей модуль визначає такі функції:" + msgid "" "Return the number of :class:`Thread` objects currently alive. The returned " "count is equal to the length of the list returned by :func:`.enumerate`." @@ -93,7 +167,7 @@ msgstr "" msgid "" "Return the current :class:`Thread` object, corresponding to the caller's " "thread of control. If the caller's thread of control was not created " -"through the :mod:`threading` module, a dummy thread object with limited " +"through the :mod:`!threading` module, a dummy thread object with limited " "functionality is returned." msgstr "" @@ -186,13 +260,13 @@ msgid "" msgstr "" msgid "" -"Set a trace function for all threads started from the :mod:`threading` " +"Set a trace function for all threads started from the :mod:`!threading` " "module. The *func* will be passed to :func:`sys.settrace` for each thread, " "before its :meth:`~Thread.run` method is called." msgstr "" msgid "" -"Set a trace function for all threads started from the :mod:`threading` " +"Set a trace function for all threads started from the :mod:`!threading` " "module and all Python threads that are currently executing." msgstr "" @@ -205,13 +279,13 @@ msgid "Get the trace function as set by :func:`settrace`." msgstr "" msgid "" -"Set a profile function for all threads started from the :mod:`threading` " +"Set a profile function for all threads started from the :mod:`!threading` " "module. The *func* will be passed to :func:`sys.setprofile` for each " "thread, before its :meth:`~Thread.run` method is called." msgstr "" msgid "" -"Set a profile function for all threads started from the :mod:`threading` " +"Set a profile function for all threads started from the :mod:`!threading` " "module and all Python threads that are currently executing." msgstr "" @@ -272,32 +346,182 @@ msgstr "" msgid "All of the methods described below are executed atomically." msgstr "" -msgid "Thread-Local Data" +msgid "Thread-local data" msgstr "" msgid "" -"Thread-local data is data whose values are thread specific. To manage " -"thread-local data, just create an instance of :class:`local` (or a subclass) " -"and store attributes on it::" +"Thread-local data is data whose values are thread specific. If you have data " +"that you want to be local to a thread, create a :class:`local` object and " +"use its attributes::" msgstr "" msgid "" -"mydata = threading.local()\n" -"mydata.x = 1" +">>> mydata = local()\n" +">>> mydata.number = 42\n" +">>> mydata.number\n" +"42" msgstr "" -msgid "The instance's values will be different for separate threads." +msgid "You can also access the :class:`local`-object's dictionary::" msgstr "" -msgid "A class that represents thread-local data." +msgid "" +">>> mydata.__dict__\n" +"{'number': 42}\n" +">>> mydata.__dict__.setdefault('widgets', [])\n" +"[]\n" +">>> mydata.widgets\n" +"[]" +msgstr "" + +msgid "If we access the data in a different thread::" +msgstr "" + +msgid "" +">>> log = []\n" +">>> def f():\n" +"... items = sorted(mydata.__dict__.items())\n" +"... log.append(items)\n" +"... mydata.number = 11\n" +"... log.append(mydata.number)\n" +"\n" +">>> import threading\n" +">>> thread = threading.Thread(target=f)\n" +">>> thread.start()\n" +">>> thread.join()\n" +">>> log\n" +"[[], 11]" +msgstr "" + +msgid "" +"we get different data. Furthermore, changes made in the other thread don't " +"affect data seen in this thread::" +msgstr "" + +msgid "" +">>> mydata.number\n" +"42" +msgstr "" + +msgid "" +"Of course, values you get from a :class:`local` object, including their :" +"attr:`~object.__dict__` attribute, are for whatever thread was current at " +"the time the attribute was read. For that reason, you generally don't want " +"to save these values across threads, as they apply only to the thread they " +"came from." +msgstr "" + +msgid "" +"You can create custom :class:`local` objects by subclassing the :class:" +"`local` class::" +msgstr "" + +msgid "" +">>> class MyLocal(local):\n" +"... number = 2\n" +"... def __init__(self, /, **kw):\n" +"... self.__dict__.update(kw)\n" +"... def squared(self):\n" +"... return self.number ** 2" +msgstr "" + +msgid "" +"This can be useful to support default values, methods and initialization. " +"Note that if you define an :py:meth:`~object.__init__` method, it will be " +"called each time the :class:`local` object is used in a separate thread. " +"This is necessary to initialize each thread's dictionary." +msgstr "" + +msgid "Now if we create a :class:`local` object::" +msgstr "" + +msgid ">>> mydata = MyLocal(color='red')" +msgstr "" + +msgid "we have a default number::" +msgstr "" + +msgid "" +">>> mydata.number\n" +"2" +msgstr "" + +msgid "an initial color::" +msgstr "" + +msgid "" +">>> mydata.color\n" +"'red'\n" +">>> del mydata.color" +msgstr "" + +msgid "And a method that operates on the data::" +msgstr "" + +msgid "" +">>> mydata.squared()\n" +"4" +msgstr "" + +msgid "As before, we can access the data in a separate thread::" +msgstr "" + +msgid "" +">>> log = []\n" +">>> thread = threading.Thread(target=f)\n" +">>> thread.start()\n" +">>> thread.join()\n" +">>> log\n" +"[[('color', 'red')], 11]" +msgstr "" + +msgid "without affecting this thread's data::" +msgstr "" + +msgid "" +">>> mydata.number\n" +"2\n" +">>> mydata.color\n" +"Traceback (most recent call last):\n" +"...\n" +"AttributeError: 'MyLocal' object has no attribute 'color'" msgstr "" msgid "" -"For more details and extensive examples, see the documentation string of " -"the :mod:`!_threading_local` module: :source:`Lib/_threading_local.py`." +"Note that subclasses can define :term:`__slots__`, but they are not thread " +"local. They are shared across threads::" msgstr "" -msgid "Thread Objects" +msgid "" +">>> class MyLocal(local):\n" +"... __slots__ = 'number'\n" +"\n" +">>> mydata = MyLocal()\n" +">>> mydata.number = 42\n" +">>> mydata.color = 'red'" +msgstr "" + +msgid "So, the separate thread::" +msgstr "" + +msgid "" +">>> thread = threading.Thread(target=f)\n" +">>> thread.start()\n" +">>> thread.join()" +msgstr "" + +msgid "affects what we see::" +msgstr "" + +msgid "" +">>> mydata.number\n" +"11" +msgstr "" + +msgid "A class that represents thread-local data." +msgstr "" + +msgid "Thread objects" msgstr "" msgid "" @@ -414,7 +638,7 @@ msgid "" msgstr "" msgid "Added the *daemon* parameter." -msgstr "" +msgstr "Добавлен параметр *daemon*." msgid "Use the *target* name if *name* argument is omitted." msgstr "" @@ -552,7 +776,7 @@ msgid "" "a property instead." msgstr "" -msgid "Lock Objects" +msgid "Lock objects" msgstr "" msgid "" @@ -600,7 +824,7 @@ msgid "" msgstr "" msgid "Acquire a lock, blocking or non-blocking." -msgstr "" +msgstr "Отримайте блокування, блокування або неблокування." msgid "" "When invoked with the *blocking* argument set to ``True`` (the default), " @@ -654,7 +878,7 @@ msgstr "" msgid "Return ``True`` if the lock is acquired." msgstr "" -msgid "RLock Objects" +msgid "RLock objects" msgstr "" msgid "" @@ -769,7 +993,7 @@ msgid "" "acquired." msgstr "" -msgid "Condition Objects" +msgid "Condition objects" msgstr "" msgid "" @@ -980,7 +1204,7 @@ msgstr "" msgid "The method ``notifyAll`` is a deprecated alias for this method." msgstr "" -msgid "Semaphore Objects" +msgid "Semaphore objects" msgstr "" msgid "" @@ -1064,7 +1288,7 @@ msgid "" "times it's a sign of a bug. If not given, *value* defaults to 1." msgstr "" -msgid ":class:`Semaphore` Example" +msgid ":class:`Semaphore` example" msgstr "" msgid "" @@ -1100,7 +1324,7 @@ msgid "" "undetected." msgstr "" -msgid "Event Objects" +msgid "Event objects" msgstr "" msgid "" @@ -1153,7 +1377,7 @@ msgid "" "fractions thereof." msgstr "" -msgid "Timer Objects" +msgid "Timer objects" msgstr "" msgid "" @@ -1194,7 +1418,7 @@ msgid "" "only work if the timer is still in its waiting stage." msgstr "" -msgid "Barrier Objects" +msgid "Barrier objects" msgstr "" msgid "" @@ -1347,7 +1571,7 @@ msgid "trace function" msgstr "" msgid "debugger" -msgstr "" +msgstr "debugger" msgid "profile function" msgstr "" diff --git a/library/time.po b/library/time.po index ac8d3befc9..7a769c3a18 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -27,12 +24,14 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!time` --- Time access and conversions" -msgstr "" +msgstr ":mod:`!time` --- Доступ ко времени и преобразования" msgid "" "This module provides various time-related functions. For related " "functionality, see also the :mod:`datetime` and :mod:`calendar` modules." msgstr "" +"Цей модуль забезпечує різні функції, пов’язані з часом. Для пов’язаних " +"функцій перегляньте також модулі :mod:`datetime` і :mod:`calendar`." msgid "" "Although this module is always available, not all functions are available on " @@ -41,26 +40,41 @@ msgid "" "consult the platform documentation, because the semantics of these functions " "varies among platforms." msgstr "" +"Хоча цей модуль завжди доступний, не всі функції доступні на всіх " +"платформах. Більшість функцій, визначених у цьому модулі, викликають функції " +"бібліотеки платформи C з однаковою назвою. Інколи може бути корисним " +"ознайомитися з документацією платформи, оскільки семантика цих функцій " +"відрізняється на різних платформах." msgid "An explanation of some terminology and conventions is in order." -msgstr "" +msgstr "Доречно пояснення деяких термінів і умовностей." msgid "" "The :dfn:`epoch` is the point where the time starts, the return value of " "``time.gmtime(0)``. It is January 1, 1970, 00:00:00 (UTC) on all platforms." msgstr "" +":dfn:`epoch` — это точка начала отсчета времени, возвращаемое значение " +"``time.gmtime(0)``. Сейчас 1 января 1970 года, 00:00:00 (UTC) на всех " +"платформах." msgid "" "The term :dfn:`seconds since the epoch` refers to the total number of " "elapsed seconds since the epoch, typically excluding `leap seconds`_. Leap " "seconds are excluded from this total on all POSIX-compliant platforms." msgstr "" +"Термін :dfn:`seconds since the epoch` відноситься до загальної кількості " +"секунд, що минули з епохи, як правило, за винятком високосних секунд (`leap " +"seconds`_). Секунди високосного значення виключаються з цієї суми на всіх " +"POSIX-сумісних платформах." msgid "" "The functions in this module may not handle dates and times before the " "epoch_ or far in the future. The cut-off point in the future is determined " "by the C library; for 32-bit systems, it is typically in 2038." msgstr "" +"Функции в этом модуле могут не обрабатывать даты и время до epoch_ или " +"далеко в будущем. Точка отсечения в будущем определяется библиотекой C; для " +"32-битных систем это обычно 2038 год." msgid "" "Function :func:`strptime` can parse 2-digit years when given ``%y`` format " @@ -68,6 +82,10 @@ msgid "" "POSIX and ISO C standards: values 69--99 are mapped to 1969--1999, and " "values 0--68 are mapped to 2000--2068." msgstr "" +"Функція :func:`strptime` може аналізувати 2-значні роки, якщо надається код " +"формату ``%y``. Коли 2-значні роки аналізуються, вони перетворюються " +"відповідно до стандартів POSIX та ISO C: значення 69--99 відображаються на " +"1969--1999, а значення 0--68 – у 2000--2068." msgid "" "UTC is `Coordinated Universal Time`_ and superseded `Greenwich Mean Time`_ " @@ -75,6 +93,11 @@ msgid "" "mistake but conforms to an earlier, language-agnostic naming scheme for time " "standards such as UT0, UT1, and UT2." msgstr "" +"UTC — это `Всемирное координированное время`_, которое заменило `Среднее " +"время по Гринвичу`_ или GMT в качестве основы международного хронометража. " +"Аббревиатура UTC не является ошибкой, а соответствует более ранней, не " +"зависящей от языка схеме наименования стандартов времени, таких как UT0, UT1 " +"и UT2." msgid "" "DST is Daylight Saving Time, an adjustment of the timezone by (usually) one " @@ -83,12 +106,20 @@ msgid "" "local rules (often it is read from a system file for flexibility) and is the " "only source of True Wisdom in this respect." msgstr "" +"DST – це літній час, зміна часового поясу (зазвичай) на одну годину протягом " +"частини року. Правила літнього часу є чарівними (визначаються місцевим " +"законодавством) і можуть змінюватися з року в рік. Бібліотека C має таблицю, " +"що містить локальні правила (часто її зчитують із системного файлу для " +"гнучкості) і є єдиним джерелом справжньої мудрості в цьому відношенні." msgid "" "The precision of the various real-time functions may be less than suggested " "by the units in which their value or argument is expressed. E.g. on most " "Unix systems, the clock \"ticks\" only 50 or 100 times a second." msgstr "" +"Точність різних функцій реального часу може бути нижчою, ніж передбачається " +"одиницями, у яких виражено їх значення або аргумент. наприклад у більшості " +"систем Unix годинник \"тикає\" лише 50 або 100 разів на секунду." msgid "" "On the other hand, the precision of :func:`.time` and :func:`sleep` is " @@ -98,6 +129,12 @@ msgid "" "time with a nonzero fraction (Unix :c:func:`!select` is used to implement " "this, where available)." msgstr "" +"С другой стороны, точность :func:`.time` и :func:`sleep` лучше, чем у их " +"аналогов в Unix: время выражается числами с плавающей запятой, :func:`.time` " +"возвращает наиболее точное время. доступен (используя Unix :c:func:`!" +"gettimeofday`, где доступно), а :func:`sleep` будет принимать время с " +"ненулевой дробью (для реализации этого используется Unix :c:func:`!select`, " +"где доступный)." msgid "" "The time value as returned by :func:`gmtime`, :func:`localtime`, and :func:" @@ -106,44 +143,54 @@ msgid "" "`gmtime`, :func:`localtime`, and :func:`strptime` also offer attribute names " "for individual fields." msgstr "" +"Значення часу, що повертається :func:`gmtime`, :func:`localtime` і :func:" +"`strptime` і приймається :func:`asctime`, :func:`mktime` і :func:`strftime`, " +"є послідовністю з 9 цілих чисел. Повернуті значення :func:`gmtime`, :func:" +"`localtime` і :func:`strptime` також пропонують імена атрибутів для окремих " +"полів." msgid "See :class:`struct_time` for a description of these objects." -msgstr "" +msgstr "Перегляньте :class:`struct_time` для опису цих об’єктів." msgid "" "The :class:`struct_time` type was extended to provide the :attr:" "`~struct_time.tm_gmtoff` and :attr:`~struct_time.tm_zone` attributes when " "platform supports corresponding ``struct tm`` members." msgstr "" +"Тип :class:`struct_time` был расширен для предоставления атрибутов :attr:" +"`~struct_time.tm_gmtoff` и :attr:`~struct_time.tm_zone`, когда платформа " +"поддерживает соответствующие члены ``struct tm``." msgid "" "The :class:`struct_time` attributes :attr:`~struct_time.tm_gmtoff` and :attr:" "`~struct_time.tm_zone` are now available on all platforms." msgstr "" +"Атрибуты :class:`struct_time` :attr:`~struct_time.tm_gmtoff` и :attr:" +"`~struct_time.tm_zone` теперь доступны на всех платформах." msgid "Use the following functions to convert between time representations:" -msgstr "" +msgstr "Використовуйте такі функції для перетворення між представленнями часу:" msgid "From" -msgstr "" +msgstr "dari" msgid "To" -msgstr "" +msgstr "Ke" msgid "Use" -msgstr "" +msgstr "Gunakan" msgid "seconds since the epoch" -msgstr "" +msgstr "секунд від епохи" msgid ":class:`struct_time` in UTC" -msgstr "" +msgstr ":class:`struct_time` в UTC" msgid ":func:`gmtime`" msgstr ":func:`gmtime`" msgid ":class:`struct_time` in local time" -msgstr "" +msgstr ":class:`struct_time` за місцевим часом" msgid ":func:`localtime`" msgstr ":func:`localtime`" @@ -163,32 +210,48 @@ msgid "" "Jun 20 23:21:05 1993'``. The day field is two characters long and is space " "padded if the day is a single digit, e.g.: ``'Wed Jun 9 04:26:40 1993'``." msgstr "" +"Перетворіть кортеж або :class:`struct_time`, який представляє час, " +"повернутий :func:`gmtime` або :func:`localtime`, на рядок такої форми: " +"``'Sun Jun 20 23:21:05 1993'``. Поле дня складається з двох символів і " +"доповнюється пробілом, якщо день складається з однієї цифри, наприклад: " +"``'Wed Jun 9 04:26:40 1993'``." msgid "" "If *t* is not provided, the current time as returned by :func:`localtime` is " "used. Locale information is not used by :func:`asctime`." msgstr "" +"Якщо *t* не вказано, використовується поточний час, який повертає :func:" +"`localtime`. Інформація про мову не використовується :func:`asctime`." msgid "" "Unlike the C function of the same name, :func:`asctime` does not add a " "trailing newline." msgstr "" +"На відміну від однойменної функції C, :func:`asctime` не додає кінцевий " +"новий рядок." msgid "" "Return the *clk_id* of the thread-specific CPU-time clock for the specified " "*thread_id*." msgstr "" +"Повертає *clk_id* специфічного для потоку годинника ЦП для вказаного " +"*thread_id*." msgid "" "Use :func:`threading.get_ident` or the :attr:`~threading.Thread.ident` " "attribute of :class:`threading.Thread` objects to get a suitable value for " "*thread_id*." msgstr "" +"Використовуйте :func:`threading.get_ident` або атрибут :attr:`~threading." +"Thread.ident` об’єктів :class:`threading.Thread`, щоб отримати відповідне " +"значення для *thread_id*." msgid "" "Passing an invalid or expired *thread_id* may result in undefined behavior, " "such as segmentation fault." msgstr "" +"Передача недійсного або простроченого *thread_id* може призвести до " +"невизначеної поведінки, наприклад до помилки сегментації." msgid "Availability" msgstr "Dostępność" @@ -197,37 +260,50 @@ msgid "" "See the man page for :manpage:`pthread_getcpuclockid(3)` for further " "information." msgstr "" +"Дополнительную информацию смотрите на странице руководства :manpage:" +"`pthread_getcpulockid(3)`." msgid "" "Return the resolution (precision) of the specified clock *clk_id*. Refer " "to :ref:`time-clock-id-constants` for a list of accepted values for *clk_id*." msgstr "" +"Повертає роздільну здатність (точність) указаного годинника *clk_id*. " +"Перегляньте :ref:`time-clock-id-constants` список допустимих значень для " +"*clk_id*." msgid "" "Return the time of the specified clock *clk_id*. Refer to :ref:`time-clock-" "id-constants` for a list of accepted values for *clk_id*." msgstr "" +"Повертає час указаного годинника *clk_id*. Зверніться до :ref:`time-clock-id-" +"constants` для списку прийнятних значень для *clk_id*." msgid "" "Use :func:`clock_gettime_ns` to avoid the precision loss caused by the :" "class:`float` type." msgstr "" +"Використовуйте :func:`clock_gettime_ns`, щоб уникнути втрати точності, " +"викликаної типом :class:`float`." msgid "Similar to :func:`clock_gettime` but return time as nanoseconds." -msgstr "" +msgstr "Подібно до :func:`clock_gettime`, але повертає час у наносекундах." msgid "" "Set the time of the specified clock *clk_id*. Currently, :data:" "`CLOCK_REALTIME` is the only accepted value for *clk_id*." msgstr "" +"Встановіть час зазначеного годинника *clk_id*. Наразі :data:`CLOCK_REALTIME` " +"є єдиним прийнятним значенням для *clk_id*." msgid "" "Use :func:`clock_settime_ns` to avoid the precision loss caused by the :" "class:`float` type." msgstr "" +"Використовуйте :func:`clock_settime_ns`, щоб уникнути втрати точності, " +"викликаної типом :class:`float`." msgid "Similar to :func:`clock_settime` but set time with nanoseconds." -msgstr "" +msgstr "Подібно до :func:`clock_settime`, але встановлює час у наносекундах." msgid "" "Convert a time expressed in seconds since the epoch_ to a string of a form: " @@ -235,6 +311,10 @@ msgid "" "characters long and is space padded if the day is a single digit, e.g.: " "``'Wed Jun 9 04:26:40 1993'``." msgstr "" +"Преобразуйте время, выраженное в секундах с момента epoch_, в строку вида: " +"``'Sun Jun 20 23:21:05 1993'``, представляющую местное время. Поле дня имеет " +"длину два символа и дополняется пробелами, если день представляет собой одну " +"цифру, например: ``'Wed Jun 9 04:26:40 1993'``." msgid "" "If *secs* is not provided or :const:`None`, the current time as returned by :" @@ -242,11 +322,17 @@ msgid "" "``asctime(localtime(secs))``. Locale information is not used by :func:" "`ctime`." msgstr "" +"Якщо *secs* не вказано або :const:`None`, використовується поточний час, " +"який повертає :func:`.time`. ``ctime(secs)`` еквівалентний " +"``asctime(localtime(secs))``. Інформація про мову не використовується :func:" +"`ctime`." msgid "" "Get information on the specified clock as a namespace object. Supported " "clock names and the corresponding functions to read their value are:" msgstr "" +"Отримати інформацію про вказаний годинник як об’єкт простору імен. " +"Підтримувані назви годинника та відповідні функції для читання їх значення:" msgid "``'monotonic'``: :func:`time.monotonic`" msgstr "``'monotonic'``: :func:`time.monotonic`" @@ -264,24 +350,33 @@ msgid "``'time'``: :func:`time.time`" msgstr "``'time'``: :func:`time.time`" msgid "The result has the following attributes:" -msgstr "" +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" msgstr "" +"*регульований*: ``True``, якщо годинник можна змінити автоматично " +"(наприклад, демоном NTP) або вручну системним адміністратором, ``False`` " +"інакше" msgid "" "*implementation*: The name of the underlying C function used to get the " "clock value. Refer to :ref:`time-clock-id-constants` for possible values." msgstr "" +"*реалізація*: назва основної функції C, яка використовується для отримання " +"значення тактової частоти. Зверніться до :ref:`time-clock-id-constants` щодо " +"можливих значень." msgid "" "*monotonic*: ``True`` if the clock cannot go backward, ``False`` otherwise" msgstr "" +"*монотонний*: ``True``, якщо годинник не може повернутися назад, ``False`` " +"інакше" msgid "*resolution*: The resolution of the clock in seconds (:class:`float`)" msgstr "" +"*resolution*: роздільна здатність годинника в секундах (:class:`float`)" msgid "" "Convert a time expressed in seconds since the epoch_ to a :class:" @@ -291,12 +386,22 @@ msgid "" "the :class:`struct_time` object. See :func:`calendar.timegm` for the inverse " "of this function." msgstr "" +"Преобразуйте время, выраженное в секундах, начиная с epoch_, в :class:" +"`struct_time` в формате UTC, в котором флаг dst всегда равен нулю. Если " +"*secs* не указано или :const:`None`, используется текущее время, " +"возвращаемое :func:`.time`. Доли секунды игнорируются. См. выше описание " +"объекта :class:`struct_time`. См. :func:`calendar.timegm` для обратной этой " +"функции." msgid "" "Like :func:`gmtime` but converts to local time. If *secs* is not provided " "or :const:`None`, the current time as returned by :func:`.time` is used. " "The dst flag is set to ``1`` when DST applies to the given time." msgstr "" +"Як :func:`gmtime`, але перетворює на місцевий час. Якщо *secs* не вказано " +"або :const:`None`, використовується поточний час, який повертає :func:`." +"time`. Прапор DST встановлюється на ``1``, коли літній час застосовується до " +"даного часу." msgid "" ":func:`localtime` may raise :exc:`OverflowError`, if the timestamp is " @@ -305,6 +410,11 @@ msgid "" "c:func:`gmtime` failure. It's common for this to be restricted to years " "between 1970 and 2038." msgstr "" +":func:`localtime` може викликати :exc:`OverflowError`, якщо позначка часу " +"виходить за межі діапазону значень, які підтримують функції :c:func:" +"`localtime` або :c:func:`gmtime` платформи, і :exc:`OSError` під час " +"помилки :c:func:`localtime` або :c:func:`gmtime`. Зазвичай це обмежується " +"роками між 1970 і 2038 роками." msgid "" "This is the inverse function of :func:`localtime`. Its argument is the :" @@ -317,6 +427,16 @@ msgid "" "libraries). The earliest date for which it can generate a time is platform-" "dependent." msgstr "" +"Это обратная функция :func:`localtime`. Его аргументом является :class:" +"`struct_time` или полный девятикортеж (поскольку необходим флаг dst; " +"используйте ``-1`` в качестве флага dst, если он неизвестен), который " +"выражает время в *локальном* времени, а не в УНИВЕРСАЛЬНОЕ ГЛОБАЛЬНОЕ ВРЕМЯ. " +"Он возвращает число с плавающей запятой для совместимости с :func:`.time`. " +"Если входное значение не может быть представлено как допустимое время, будет " +"поднято либо :exc:`OverflowError`, либо :exc:`ValueError` (что зависит от " +"того, перехватывается ли недопустимое значение Python или базовыми " +"библиотеками C). Самая ранняя дата, для которой может быть сгенерировано " +"время, зависит от платформы." msgid "" "Return the value (in fractional seconds) of a monotonic clock, i.e. a clock " @@ -324,67 +444,80 @@ msgid "" "updates. The reference point of the returned value is undefined, so that " "only the difference between the results of two calls is valid." msgstr "" +"Повертає значення (у частках секунд) монотонного годинника, тобто годинника, " +"який не може повертатися назад. Оновлення системного годинника не впливають " +"на годинник. Точка відліку повернутого значення не визначена, тому дійсна " +"лише різниця між результатами двох викликів." msgid "Clock:" -msgstr "" +msgstr "Часы:" msgid "" "On Windows, call ``QueryPerformanceCounter()`` and " "``QueryPerformanceFrequency()``." msgstr "" +"В Windows вызовите QueryPerformanceCounter() и QueryPerformanceFrequency()." msgid "On macOS, call ``mach_absolute_time()`` and ``mach_timebase_info()``." -msgstr "" +msgstr "В macOS вызовите mach_absolute_time() и mach_timebase_info()." msgid "On HP-UX, call ``gethrtime()``." -msgstr "" +msgstr "В HP-UX вызовите gethrtime()." msgid "Call ``clock_gettime(CLOCK_HIGHRES)`` if available." -msgstr "" +msgstr "Вызовите clock_gettime(CLOCK_HIGHRES), если доступно." msgid "Otherwise, call ``clock_gettime(CLOCK_MONOTONIC)``." -msgstr "" +msgstr "В противном случае вызовите clock_gettime(CLOCK_MONOTONIC)." msgid "" "Use :func:`monotonic_ns` to avoid the precision loss caused by the :class:" "`float` type." msgstr "" +"Використовуйте :func:`monotonic_ns`, щоб уникнути втрати точності, " +"викликаної типом :class:`float`." -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." -msgstr "" +msgstr "Подібно до :func:`monotonic`, але повертає час у наносекундах." 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 "" "On CPython, use the same clock as :func:`time.monotonic` and is a monotonic " "clock, i.e. a clock that cannot go backwards." msgstr "" +"В CPython используйте те же часы, что и :func:`time.monotonic`, и это " +"монотонные часы, то есть часы, которые не могут идти назад." msgid "" "Use :func:`perf_counter_ns` to avoid the precision loss caused by the :class:" "`float` type." msgstr "" +"Використовуйте :func:`perf_counter_ns`, щоб уникнути втрати точності, " +"викликаної типом :class:`float`." -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`." -msgstr "" +msgstr "Используйте те же часы, что и :func:`time.monotonic`." msgid "Similar to :func:`perf_counter`, but return time as nanoseconds." -msgstr "" +msgstr "Подібно до :func:`perf_counter`, але повертає час у наносекундах." msgid "" "Return the value (in fractional seconds) of the sum of the system and user " @@ -393,33 +526,46 @@ msgid "" "returned value is undefined, so that only the difference between the results " "of two calls is valid." msgstr "" +"Повертає значення (у частках секунд) суми часу процесора системи та " +"користувача поточного процесу. Він не включає час, що минув під час сну. За " +"визначенням це стосується всього процесу. Точка відліку повернутого значення " +"не визначена, тому дійсна лише різниця між результатами двох викликів." msgid "" "Use :func:`process_time_ns` to avoid the precision loss caused by the :class:" "`float` type." msgstr "" +"Використовуйте :func:`process_time_ns`, щоб уникнути втрати точності, " +"викликаної типом :class:`float`." msgid "Similar to :func:`process_time` but return time as nanoseconds." -msgstr "" +msgstr "Подібно до :func:`process_time`, але повертає час у наносекундах." msgid "" "Suspend execution of the calling thread for the given number of seconds. The " "argument may be a floating-point number to indicate a more precise sleep " "time." msgstr "" +"Приостановить выполнение вызывающего потока на заданное количество секунд. " +"Аргументом может быть число с плавающей запятой, указывающее более точное " +"время сна." msgid "" "If the sleep is interrupted by a signal and no exception is raised by the " "signal handler, the sleep is restarted with a recomputed timeout." msgstr "" +"Если спящий режим прерывается сигналом и обработчик сигнала не вызывает " +"исключения, спящий режим перезапускается с перевычисленным тайм-аутом." msgid "" "The suspension time may be longer than requested by an arbitrary amount, " "because of the scheduling of other activity in the system." msgstr "" +"Время приостановки может быть дольше, чем запрошено на произвольную " +"величину, из-за планирования другой активности в системе." msgid "Windows implementation" -msgstr "" +msgstr "Windows реализация" msgid "" "On Windows, if *secs* is zero, the thread relinquishes the remainder of its " @@ -430,46 +576,66 @@ msgid "" "kernel/high-resolution-timers>`_ which provides resolution of 100 " "nanoseconds. If *secs* is zero, ``Sleep(0)`` is used." msgstr "" +"В Windows, если *secs* равно нулю, поток передает оставшуюся часть своего " +"интервала времени любому другому потоку, готовому к выполнению. Если других " +"потоков, готовых к запуску, нет, функция немедленно завершает работу, и " +"поток продолжает выполнение. В Windows 8.1 и более поздних версиях " +"реализация использует `таймер высокого разрешения `_, который " +"обеспечивает разрешение 100 наносекунд. Если *secs* равно нулю, используется " +"Sleep(0)``." msgid "Unix implementation" -msgstr "" +msgstr "Unix реализация" msgid "Use ``clock_nanosleep()`` if available (resolution: 1 nanosecond);" msgstr "" +"Используйте clock_nanosleep(), если доступно (разрешение: 1 наносекунда);" msgid "Or use ``nanosleep()`` if available (resolution: 1 nanosecond);" msgstr "" +"Или используйте nanosleep(), если доступно (разрешение: 1 наносекунда);" msgid "Or use ``select()`` (resolution: 1 microsecond)." -msgstr "" +msgstr "Или используйте select() (разрешение: 1 микросекунда)." msgid "" "To emulate a \"no-op\", use :keyword:`pass` instead of ``time.sleep(0)``." msgstr "" +"Para emular um \"no-op\", use :keyword:`pass` em vez de ``time.sleep(0)``." msgid "" "To voluntarily relinquish the CPU, specify a real-time :ref:`scheduling " "policy ` and use :func:`os.sched_yield` instead." msgstr "" +"Para abrir mão voluntariamente da CPU, especifique uma :ref:`política de " +"agendamento ` em tempo real e use :func:`os." +"sched_yield` em seu lugar." msgid "" "Raises an :ref:`auditing event ` ``time.sleep`` with argument " "``secs``." msgstr "" +"Вызывает событие аудита ``time.sleep`` с аргументом ``secs``." msgid "" "The function now sleeps at least *secs* even if the sleep is interrupted by " "a signal, except if the signal handler raises an exception (see :pep:`475` " "for the rationale)." msgstr "" +"Функція тепер перебуває в режимі сну принаймні *секунд*, навіть якщо сон " +"переривається сигналом, за винятком випадків, коли обробник сигналу викликає " +"виняток (перегляньте :pep:`475` для обґрунтування)." msgid "" "On Unix, the ``clock_nanosleep()`` and ``nanosleep()`` functions are now " "used if available. On Windows, a waitable timer is now used." msgstr "" +"В Unix теперь используются функции clock_nanosleep() и nanosleep(), если они " +"доступны. В Windows теперь используется таймер ожидания." msgid "Raises an auditing event." -msgstr "" +msgstr "Вызывает событие аудита." msgid "" "Convert a tuple or :class:`struct_time` representing a time as returned by :" @@ -478,20 +644,30 @@ msgid "" "`localtime` is used. *format* must be a string. :exc:`ValueError` is " "raised if any field in *t* is outside of the allowed range." msgstr "" +"Перетворіть кортеж або :class:`struct_time`, що представляє час, який " +"повертає :func:`gmtime` або :func:`localtime`, на рядок, як зазначено в " +"аргументі *format*. Якщо *t* не вказано, використовується поточний час, який " +"повертає :func:`localtime`. *format* має бути рядком. :exc:`ValueError` " +"виникає, якщо будь-яке поле в *t* виходить за межі дозволеного діапазону." msgid "" "0 is a legal argument for any position in the time tuple; if it is normally " "illegal the value is forced to a correct one." msgstr "" +"0 є допустимим аргументом для будь-якої позиції в часовому кортежі; якщо " +"зазвичай це нелегально, значення примусово має бути правильним." msgid "" "The following directives can be embedded in the *format* string. They are " "shown without the optional field width and precision specification, and are " "replaced by the indicated characters in the :func:`strftime` result:" msgstr "" +"Наступні директиви можуть бути вбудовані в рядок *format*. Вони " +"відображаються без додаткової специфікації ширини поля та точності та " +"замінюються вказаними символами в результаті :func:`strftime`:" msgid "Directive" -msgstr "" +msgstr "Petunjuk" msgid "Meaning" msgstr "Znaczenie" @@ -503,46 +679,46 @@ msgid "``%a``" msgstr "``%a``" msgid "Locale's abbreviated weekday name." -msgstr "" +msgstr "Скорочена назва дня тижня в локалі." msgid "``%A``" msgstr "``%A``" msgid "Locale's full weekday name." -msgstr "" +msgstr "Повна назва робочого дня локалі." msgid "``%b``" msgstr "``%b``" msgid "Locale's abbreviated month name." -msgstr "" +msgstr "Скорочена назва місяця в локалі." msgid "``%B``" msgstr "``%B``" msgid "Locale's full month name." -msgstr "" +msgstr "Повна назва місяця." msgid "``%c``" msgstr "``%c``" msgid "Locale's appropriate date and time representation." -msgstr "" +msgstr "Відповідне представлення дати та часу в локалі." msgid "``%d``" msgstr "``%d``" msgid "Day of the month as a decimal number [01,31]." -msgstr "" +msgstr "День місяця у вигляді десяткового числа [01,31]." msgid "``%f``" msgstr "``%f``" msgid "Microseconds as a decimal number" -msgstr "" +msgstr "Микросекунды как десятичное число" msgid "[000000,999999]." -msgstr "" +msgstr "[000000,999999]." msgid "\\(1)" msgstr "\\(1)" @@ -551,37 +727,37 @@ msgid "``%H``" msgstr "``%H``" msgid "Hour (24-hour clock) as a decimal number [00,23]." -msgstr "" +msgstr "Година (24-годинний формат) як десяткове число [00,23]." msgid "``%I``" msgstr "``%I``" msgid "Hour (12-hour clock) as a decimal number [01,12]." -msgstr "" +msgstr "Година (12-годинний годинник) як десяткове число [01,12]." msgid "``%j``" msgstr "``%j``" msgid "Day of the year as a decimal number [001,366]." -msgstr "" +msgstr "День року як десяткове число [001,366]." msgid "``%m``" msgstr "``%m``" msgid "Month as a decimal number [01,12]." -msgstr "" +msgstr "Місяць як десяткове число [01,12]." msgid "``%M``" msgstr "``%M``" msgid "Minute as a decimal number [00,59]." -msgstr "" +msgstr "Хвилина як десяткове число [00,59]." msgid "``%p``" msgstr "``%p``" msgid "Locale's equivalent of either AM or PM." -msgstr "" +msgstr "Локальний еквівалент AM або PM." msgid "\\(2)" msgstr "\\(2)" @@ -590,7 +766,7 @@ msgid "``%S``" msgstr "``%S``" msgid "Second as a decimal number [00,61]." -msgstr "" +msgstr "Секунда як десяткове число [00,61]." msgid "\\(3)" msgstr "\\(3)" @@ -603,6 +779,9 @@ msgid "" "number [00,53]. All days in a new year preceding the first Sunday are " "considered to be in week 0." msgstr "" +"Номер тижня року (неділя як перший день тижня) у вигляді десяткового числа " +"[00,53]. Усі дні в новому році, що передують першій неділі, вважаються " +"нульовим тижнем." msgid "\\(4)" msgstr "\\(4)" @@ -612,12 +791,14 @@ msgstr "``%u``" msgid "Day of the week (Monday is 1; Sunday is 7) as a decimal number [1, 7]." msgstr "" +"День недели (понедельник — 1; воскресенье — 7) в виде десятичного числа [1, " +"7]." msgid "``%w``" msgstr "``%w``" msgid "Weekday as a decimal number [0(Sunday),6]." -msgstr "" +msgstr "День тижня як десяткове число [0(неділя),6]." msgid "``%W``" msgstr "``%W``" @@ -627,30 +808,33 @@ msgid "" "number [00,53]. All days in a new year preceding the first Monday are " "considered to be in week 0." msgstr "" +"Номер тижня року (понеділок як перший день тижня) у вигляді десяткового " +"числа [00,53]. Усі дні в новому році, що передують першому понеділку, " +"вважаються нульовим тижнем." msgid "``%x``" msgstr "``%x``" msgid "Locale's appropriate date representation." -msgstr "" +msgstr "Відповідне представлення дати в локалі." msgid "``%X``" msgstr "``%X``" msgid "Locale's appropriate time representation." -msgstr "" +msgstr "Відповідне представлення часу локалі." msgid "``%y``" msgstr "``%y``" msgid "Year without century as a decimal number [00,99]." -msgstr "" +msgstr "Рік без століття як десяткове число [00,99]." msgid "``%Y``" msgstr "``%Y``" msgid "Year with century as a decimal number." -msgstr "" +msgstr "Рік із століттям як десяткове число." msgid "``%z``" msgstr "``%z``" @@ -660,12 +844,17 @@ msgid "" "GMT of the form +HHMM or -HHMM, where H represents decimal hour digits and M " "represents decimal minute digits [-23:59, +23:59]. [1]_" msgstr "" +"Зміщення часового поясу, що вказує на додатну або від’ємну різницю в часі " +"від UTC/GMT у формі +ГГММ або -ГГММ, де H означає десяткові цифри години, а " +"M – десяткові цифри хвилин [-23:59, +23:59]. [1]_" msgid "``%Z``" msgstr "``%Z``" msgid "Time zone name (no characters if no time zone exists). Deprecated. [1]_" msgstr "" +"Назва часового поясу (без символів, якщо часовий пояс не існує). Застаріле. " +"[1]_" msgid "``%G``" msgstr "``%G``" @@ -675,6 +864,8 @@ msgid "" "calendar year). The year starts with the week that contains the first " "Thursday of the calendar year." msgstr "" +"Год ISO 8601 (аналогично %Y, но соответствует правилам календарного года ISO " +"8601). Год начинается с недели, содержащей первый четверг календарного года." msgid "``%V``" msgstr "``%V``" @@ -684,12 +875,15 @@ msgid "" "year is the one that contains the first Thursday of the year. Weeks start on " "Monday." msgstr "" +"Номер недели ISO 8601 (в виде десятичного числа [01,53]). Первая неделя года " +"— это та, которая содержит первый четверг года. Неделя начинается в " +"понедельник." msgid "``%%``" msgstr "``%%``" msgid "A literal ``'%'`` character." -msgstr "" +msgstr "Буквальний символ ``'%''``." msgid "Notes:" msgstr "Uwagi:" @@ -700,34 +894,51 @@ msgid "" "`datetime.datetime.strftime` where the ``%f`` format directive :ref:`applies " "to microseconds `." msgstr "" +"`` %f `` Директива формата применяется только к :func:`strptime`, а не к :" +"func:`strftime`. Однако см. также :meth:`datetime.datetime.strptime` и :meth:" +"`datetime.datetime.strftime`, где `` %f `` директива формата :ref:" +"`применяется к микросекундам `." msgid "" "When used with the :func:`strptime` function, the ``%p`` directive only " "affects the output hour field if the ``%I`` directive is used to parse the " "hour." msgstr "" +"При використанні з функцією :func:`strptime` директива ``%p`` впливає на " +"поле вихідних годин, лише якщо директива ``%I`` використовується для аналізу " +"години." msgid "" "The range really is ``0`` to ``61``; value ``60`` is valid in timestamps " "representing `leap seconds`_ and value ``61`` is supported for historical " "reasons." msgstr "" +"Діапазон насправді становить від ``0`` до ``61``; значення ``60`` є дійсним " +"у мітках часу, що представляють високосні секунди (`leap seconds`_), а " +"значення ``61`` підтримується з історичних причин." msgid "" "When used with the :func:`strptime` function, ``%U`` and ``%W`` are only " "used in calculations when the day of the week and the year are specified." msgstr "" +"При використанні з функцією :func:`strptime`, ``%U`` і ``%W`` " +"використовуються в обчисленнях лише тоді, коли вказано день тижня та рік." msgid "" "Here is an example, a format for dates compatible with that specified in " "the :rfc:`2822` Internet email standard. [1]_ ::" msgstr "" +"Ось приклад формату дат, сумісного з указаним у стандарті електронної пошти " +"Інтернету :rfc:`2822`. [1]_ ::" msgid "" ">>> from time import gmtime, strftime\n" ">>> strftime(\"%a, %d %b %Y %H:%M:%S +0000\", gmtime())\n" "'Thu, 28 Jun 2001 14:17:15 +0000'" msgstr "" +">>> from time import gmtime, strftime\n" +">>> strftime(\"%a, %d %b %Y %H:%M:%S +0000\", gmtime())\n" +"'Thu, 28 Jun 2001 14:17:15 +0000'" msgid "" "Additional directives may be supported on certain platforms, but only the " @@ -735,6 +946,10 @@ msgid "" "of format codes supported on your platform, consult the :manpage:" "`strftime(3)` documentation." msgstr "" +"Додаткові директиви можуть підтримуватися на певних платформах, але лише " +"перелічені тут мають значення, стандартизовані ANSI C. Щоб побачити повний " +"набір кодів формату, які підтримуються на вашій платформі, зверніться до " +"документації :manpage:`strftime(3)`." msgid "" "On some platforms, an optional field width and precision specification can " @@ -742,11 +957,18 @@ msgid "" "order; this is also not portable. The field width is normally 2 except for " "``%j`` where it is 3." msgstr "" +"На деяких платформах необов’язкова ширина поля та специфікація точності " +"можуть відразу слідувати за початковим ``'%'`` директиви в наступному " +"порядку; це також не портативно. Ширина поля зазвичай дорівнює 2, за " +"винятком ``%j``, де вона дорівнює 3." msgid "" "Parse a string representing a time according to a format. The return value " "is a :class:`struct_time` as returned by :func:`gmtime` or :func:`localtime`." msgstr "" +"Проаналізуйте рядок, що представляє час, відповідно до формату. Поверненим " +"значенням є :class:`struct_time`, яке повертає :func:`gmtime` або :func:" +"`localtime`." msgid "" "The *format* parameter uses the same directives as those used by :func:" @@ -757,6 +979,14 @@ msgid "" "accurate values cannot be inferred are ``(1900, 1, 1, 0, 0, 0, 0, 1, -1)``. " "Both *string* and *format* must be strings." msgstr "" +"Параметр *format* використовує ті самі директиви, що й :func:`strftime`; за " +"замовчуванням ``\"%a %b %d %H:%M:%S %Y\"``, що відповідає форматуванню, яке " +"повертає :func:`ctime`. Якщо *рядок* не може бути розібраний відповідно до " +"*формату*, або якщо він має зайві дані після аналізу, виникає :exc:" +"`ValueError`. Значення за замовчуванням, які використовуються для заповнення " +"будь-яких відсутніх даних, коли точніші значення неможливо отримати, це " +"``(1900, 1, 1, 0, 0, 0, 0, 1, -1)``. І *string*, і *format* мають бути " +"рядками." msgid "For example:" msgstr "Na przykład::" @@ -767,6 +997,10 @@ msgid "" "platform-specific except for recognizing UTC and GMT which are always known " "(and are considered to be non-daylight savings timezones)." msgstr "" +"Підтримка директиви ``%Z`` базується на значеннях, що містяться в " +"``tzname``, і тому, чи ``daylight`` є істинним. Через це він залежить від " +"платформи, за винятком розпізнавання UTC і GMT, які завжди відомі (і " +"вважаються не літніми часовими поясами)." msgid "" "Only the directives specified in the documentation are supported. Because " @@ -775,6 +1009,11 @@ msgid "" "platform and thus does not necessarily support all directives available that " "are not documented as supported." msgstr "" +"Підтримуються лише директиви, зазначені в документації. Оскільки " +"``strftime()`` реалізовано на кожній платформі, іноді він може пропонувати " +"більше директив, ніж перераховано. Але ``strptime()`` не залежить від будь-" +"якої платформи і тому не обов’язково підтримує всі доступні директиви, які " +"не задокументовані як підтримувані." msgid "" "The type of the time value sequence returned by :func:`gmtime`, :func:" @@ -782,83 +1021,91 @@ msgid "" "tuple` interface: values can be accessed by index and by attribute name. " "The following values are present:" msgstr "" +"Тип послідовності значень часу, яку повертають :func:`gmtime`, :func:" +"`localtime` і :func:`strptime`. Це об’єкт із інтерфейсом :term:`named " +"tuple`: доступ до значень можна отримати за індексом та назвою атрибута. " +"Присутні такі значення:" msgid "Index" -msgstr "" +msgstr "Indeks" msgid "Attribute" msgstr "atrybut" msgid "Values" -msgstr "" +msgstr "Nilai" msgid "0" msgstr "0" msgid "(for example, 1993)" -msgstr "" +msgstr "(наприклад, 1993 р.)" msgid "1" msgstr "1" msgid "range [1, 12]" -msgstr "" +msgstr "діапазон [1, 12]" msgid "2" msgstr "2" msgid "range [1, 31]" -msgstr "" +msgstr "діапазон [1, 31]" msgid "3" msgstr "3" msgid "range [0, 23]" -msgstr "" +msgstr "діапазон [0, 23]" msgid "4" msgstr "4" msgid "range [0, 59]" -msgstr "" +msgstr "діапазон [0, 59]" msgid "5" msgstr "5" msgid "range [0, 61]; see :ref:`Note (2) ` in :func:`strftime`" msgstr "" +"диапазон [0, 61]; см. :ref:`Примечание (2) <дополнительная секунда>` в :func:" +"`strftime`" msgid "6" msgstr "6" msgid "range [0, 6]; Monday is 0" -msgstr "" +msgstr "range [0, 6]; Monday is 0" msgid "7" -msgstr "" +msgstr "7" msgid "range [1, 366]" -msgstr "" +msgstr "діапазон [1, 366]" msgid "8" msgstr "8" msgid "0, 1 or -1; see below" -msgstr "" +msgstr "0, 1 або -1; Дивіться нижче" msgid "N/A" -msgstr "" +msgstr "T/A" msgid "abbreviation of timezone name" -msgstr "" +msgstr "абревіатура назви часового поясу" msgid "offset east of UTC in seconds" -msgstr "" +msgstr "зміщення на схід від UTC у секундах" msgid "" "Note that unlike the C structure, the month value is a range of [1, 12], not " "[0, 11]." msgstr "" +"Зверніть увагу, що на відміну від структури C, значення місяця є діапазоном " +"[1, 12], а не [0, 11]." msgid "" "In calls to :func:`mktime`, :attr:`tm_isdst` may be set to 1 when daylight " @@ -866,12 +1113,18 @@ msgid "" "that this is not known, and will usually result in the correct state being " "filled in." msgstr "" +"У викликах :func:`mktime` :attr:`tm_isdst` може бути встановлено на 1, коли " +"літній час діє, і на 0, коли він не діє. Значення -1 вказує на те, що це " +"невідомо, і зазвичай призводить до заповнення правильного стану." msgid "" "When a tuple with an incorrect length is passed to a function expecting a :" "class:`struct_time`, or having elements of the wrong type, a :exc:" "`TypeError` is raised." msgstr "" +"Коли кортеж із неправильною довжиною передається до функції, яка очікує :" +"class:`struct_time`, або містить елементи неправильного типу, виникає :exc:" +"`TypeError`." msgid "" "Return the time in seconds since the epoch_ as a floating-point number. The " @@ -880,6 +1133,11 @@ msgid "" "the epoch_. This is commonly referred to as `Unix time `_." msgstr "" +"Возвращает время в секундах с момента epoch_ как число с плавающей запятой. " +"Обработка дополнительных секунд зависит от платформы. В Windows и " +"большинстве систем Unix високосные секунды не учитываются при расчете " +"времени в секундах, начиная с epoch_. Обычно это называют `Unix-временем " +"`_." msgid "" "Note that even though the time is always returned as a floating-point " @@ -888,6 +1146,11 @@ msgid "" "lower value than a previous call if the system clock has been set back " "between the two calls." msgstr "" +"Обратите внимание: хотя время всегда возвращается в виде числа с плавающей " +"запятой, не все системы предоставляют время с точностью выше 1 секунды. Хотя " +"эта функция обычно возвращает неубывающие значения, она может возвращать " +"более низкое значение, чем предыдущий вызов, если системные часы были " +"установлены обратно между двумя вызовами." msgid "" "The number returned by :func:`.time` may be converted into a more common " @@ -897,25 +1160,41 @@ msgid "" "returned, from which the components of the calendar date may be accessed as " "attributes." msgstr "" +"Число, яке повертає :func:`.time`, можна перетворити на більш поширений " +"формат часу (тобто рік, місяць, день, година тощо) у UTC, передавши його " +"функції :func:`gmtime` або в місцевий час, передавши його функції :func:" +"`localtime`. В обох випадках повертається об’єкт :class:`struct_time`, з " +"якого можна отримати доступ до компонентів календарної дати як атрибутів." -msgid "On Windows, call ``GetSystemTimeAsFileTime()``." -msgstr "" +msgid "On Windows, call ``GetSystemTimePreciseAsFileTime()``." +msgstr "No Windows, chama ``GetSystemTimePreciseAsFileTime()``." msgid "Call ``clock_gettime(CLOCK_REALTIME)`` if available." -msgstr "" +msgstr "Вызовите clock_gettime(CLOCK_REALTIME), если доступно." msgid "Otherwise, call ``gettimeofday()``." -msgstr "" +msgstr "В противном случае вызовите gettimeofday()." msgid "" "Use :func:`time_ns` to avoid the precision loss caused by the :class:`float` " "type." msgstr "" +"Використовуйте :func:`time_ns`, щоб уникнути втрати точності, викликаної " +"типом :class:`float`." + +msgid "" +"On Windows, calls ``GetSystemTimePreciseAsFileTime()`` instead of " +"``GetSystemTimeAsFileTime()``." +msgstr "" +"No Windows, chama ``GetSystemTimePreciseAsFileTime()`` em vez de " +"``GetSystemTimeAsFileTime()``." msgid "" "Similar to :func:`~time.time` but returns time as an integer number of " "nanoseconds since the epoch_." msgstr "" +"Подібно до :func:`~time.time`, але повертає час як ціле число наносекунд з " +"епохи_." msgid "" "Return the value (in fractional seconds) of the sum of the system and user " @@ -924,17 +1203,24 @@ msgid "" "returned value is undefined, so that only the difference between the results " "of two calls in the same thread is valid." msgstr "" +"Повертає значення (у частках секунд) суми часу процесора системи та " +"користувача поточного потоку. Він не включає час, що минув під час сну. За " +"визначенням це залежить від потоку. Точка відліку поверненого значення не " +"визначена, тому дійсна лише різниця між результатами двох викликів в одному " +"потоці." msgid "" "Use :func:`thread_time_ns` to avoid the precision loss caused by the :class:" "`float` type." msgstr "" +"Використовуйте :func:`thread_time_ns`, щоб уникнути втрати точності, " +"викликаної типом :class:`float`." msgid "Unix systems supporting ``CLOCK_THREAD_CPUTIME_ID``." -msgstr "" +msgstr "Системы Unix, поддерживающие CLOCK_THREAD_CPUTIME_ID." msgid "Similar to :func:`thread_time` but return time as nanoseconds." -msgstr "" +msgstr "Подібно до :func:`thread_time`, але повертає час у наносекундах." msgid "" "Reset the time conversion rules used by the library routines. The " @@ -945,37 +1231,51 @@ msgid "" "saving time rules, or to nonzero if there is a time, past, present or future " "when daylight saving time applies)." msgstr "" +"Скинути правила перетворення часу, які використовуються підпрограмами " +"бібліотеки. Змінна середовища :envvar:`TZ` визначає, як це робиться. Він " +"також встановить змінні ``tzname`` (зі змінної середовища :envvar:`TZ`), " +"``timezone`` (не літній час, секунди на захід від UTC), ``altzone`` (літній " +"час, секунди на захід від UTC ) і ``daylight`` (до 0, якщо цей часовий пояс " +"не має правил переходу на літній час, або до відмінного від нуля, якщо існує " +"час, минулий, теперішній або майбутній, коли застосовується літній час)." msgid "" "Although in many cases, changing the :envvar:`TZ` environment variable may " "affect the output of functions like :func:`localtime` without calling :func:" "`tzset`, this behavior should not be relied on." msgstr "" +"Хоча в багатьох випадках зміна змінної середовища :envvar:`TZ` може вплинути " +"на вихід таких функцій, як :func:`localtime` без виклику :func:`tzset`, не " +"слід покладатися на таку поведінку." msgid "The :envvar:`TZ` environment variable should contain no whitespace." -msgstr "" +msgstr "Змінна середовища :envvar:`TZ` не повинна містити пробілів." msgid "" "The standard format of the :envvar:`TZ` environment variable is (whitespace " "added for clarity)::" msgstr "" +"Стандартний формат змінної середовища :envvar:`TZ` такий (для ясності додано " +"пробіли):" msgid "std offset [dst [offset [,start[/time], end[/time]]]]" -msgstr "" +msgstr "std offset [dst [offset [,start[/time], end[/time]]]]" msgid "Where the components are:" -msgstr "" +msgstr "Де компоненти:" msgid "``std`` and ``dst``" -msgstr "" +msgstr "``std`` і ``dst``" msgid "" "Three or more alphanumerics giving the timezone abbreviations. These will be " "propagated into time.tzname" msgstr "" +"Три або більше алфавітно-цифрових абревіатур часового поясу. Вони будуть " +"поширені у time.tzname" msgid "``offset``" -msgstr "" +msgstr "``offset``" msgid "" "The offset has the form: ``± hh[:mm[:ss]]``. This indicates the value added " @@ -983,6 +1283,11 @@ msgid "" "of the Prime Meridian; otherwise, it is west. If no offset follows dst, " "summer time is assumed to be one hour ahead of standard time." msgstr "" +"Зміщення має вигляд: ``± hh[:mm[:ss]]``. Це вказує на додане значення " +"місцевого часу для прибуття до UTC. Якщо перед ним стоїть \"-\", часовий " +"пояс розташований на схід від початкового меридіана; інакше це захід. Якщо " +"після літнього часу немає зміщення, вважається, що літній час на одну годину " +"випереджає стандартний час." msgid "``start[/time], end[/time]``" msgstr "``start[/time], end[/time]``" @@ -991,6 +1296,8 @@ msgid "" "Indicates when to change to and back from DST. The format of the start and " "end dates are one of the following:" msgstr "" +"Вказує, коли переходити на літній час і повертатися з нього. Початкова та " +"кінцева дати мають один із наведених нижче форматів." msgid ":samp:`J{n}`" msgstr ":samp:`J{n}`" @@ -999,6 +1306,8 @@ msgid "" "The Julian day *n* (1 <= *n* <= 365). Leap days are not counted, so in all " "years February 28 is day 59 and March 1 is day 60." msgstr "" +"Юліанський день *n* (1 <= *n* <= 365). Високосні дні не враховуються, тому в " +"усіх роках 28 лютого — це 59 день, а 1 березня — 60 день." msgid ":samp:`{n}`" msgstr ":samp:`{n}`" @@ -1007,6 +1316,8 @@ msgid "" "The zero-based Julian day (0 <= *n* <= 365). Leap days are counted, and it " "is possible to refer to February 29." msgstr "" +"Юліанський день від нуля (0 <= *n* <= 365). Високосні дні враховуються, і " +"можна відноситися до 29 лютого." msgid ":samp:`M{m}.{n}.{d}`" msgstr ":samp:`M{m}.{n}.{d}`" @@ -1017,11 +1328,18 @@ msgid "" "*m*\" which may occur in either the fourth or the fifth week). Week 1 is the " "first week in which the *d*'th day occurs. Day zero is a Sunday." msgstr "" +"*d*'-й день (0 <= *d* <= 6) тижня *n* місяця *m* року (1 <= *n* <= 5, 1 <= " +"*m* <= 12, де тиждень 5 означає \"останній *d* день місяця *m*\", який може " +"відбуватися як на четвертому, так і на п’ятому тижні). Тиждень 1 – це перший " +"тиждень, на якому настає *d*-й день. Нульовий день - неділя." msgid "" "``time`` has the same format as ``offset`` except that no leading sign ('-' " "or '+') is allowed. The default, if time is not given, is 02:00:00." msgstr "" +"``час`` має той самий формат, що ``зсув``, за винятком того, що не " +"допускається початок знака ('-' або '+'). За умовчанням, якщо час не " +"вказано, це 02:00:00." msgid "" ">>> os.environ['TZ'] = 'EST+05EDT,M4.1.0,M10.5.0'\n" @@ -1033,6 +1351,14 @@ msgid "" ">>> time.strftime('%X %x %Z')\n" "'16:08:12 05/08/03 AEST'" msgstr "" +">>> os.environ['TZ'] = 'EST+05EDT,M4.1.0,M10.5.0'\n" +">>> time.tzset()\n" +">>> time.strftime('%X %x %Z')\n" +"'02:07:36 05/08/03 EDT'\n" +">>> os.environ['TZ'] = 'AEST-10AEDT-11,M10.5.0,M3.5.0'\n" +">>> time.tzset()\n" +">>> time.strftime('%X %x %Z')\n" +"'16:08:12 05/08/03 AEST'" msgid "" "On many Unix systems (including \\*BSD, Linux, Solaris, and Darwin), it is " @@ -1043,6 +1369,13 @@ msgid "" "located at :file:`/usr/share/zoneinfo`. For example, ``'US/Eastern'``, " "``'Australia/Melbourne'``, ``'Egypt'`` or ``'Europe/Amsterdam'``. ::" msgstr "" +"У багатьох системах Unix (включаючи \\*BSD, Linux, Solaris і Darwin) " +"зручніше використовувати системну базу даних zoneinfo (:manpage:`tzfile(5)`) " +"для визначення правил часового поясу. Для цього встановіть змінну " +"середовища :envvar:`TZ` на шлях необхідного файлу даних часового поясу " +"відносно кореня системної бази даних часових поясів 'zoneinfo', яка зазвичай " +"знаходиться в :file:`/usr/share/zoneinfo` . Наприклад, \"США/Схід\", " +"\"Австралія/Мельбурн\", \"Єгипет\" або \"Європа/Амстердам\". ::" msgid "" ">>> os.environ['TZ'] = 'US/Eastern'\n" @@ -1054,19 +1387,31 @@ msgid "" ">>> time.tzname\n" "('EET', 'EEST')" msgstr "" +">>> os.environ['TZ'] = 'US/Eastern'\n" +">>> time.tzset()\n" +">>> time.tzname\n" +"('EST', 'EDT')\n" +">>> os.environ['TZ'] = 'Egypt'\n" +">>> time.tzset()\n" +">>> time.tzname\n" +"('EET', 'EEST')" msgid "Clock ID Constants" -msgstr "" +msgstr "Константи ID годинника" msgid "" "These constants are used as parameters for :func:`clock_getres` and :func:" "`clock_gettime`." msgstr "" +"Ці константи використовуються як параметри для :func:`clock_getres` і :func:" +"`clock_gettime`." msgid "" "Identical to :data:`CLOCK_MONOTONIC`, except it also includes any time that " "the system is suspended." msgstr "" +"Ідентичний :data:`CLOCK_MONOTONIC`, за винятком того, що він також включає " +"будь-який час призупинення системи." msgid "" "This allows applications to get a suspend-aware monotonic clock without " @@ -1074,72 +1419,102 @@ msgid "" "have discontinuities if the time is changed using ``settimeofday()`` or " "similar." msgstr "" +"Це дозволяє програмам отримувати монотонний годинник з підтримкою " +"призупинення без необхідності мати справу з ускладненнями :data:" +"`CLOCK_REALTIME`, які можуть мати розриви, якщо час змінюється за допомогою " +"``settimeofday()`` або подібного." msgid "" "The Solaris OS has a ``CLOCK_HIGHRES`` timer that attempts to use an optimal " "hardware source, and may give close to nanosecond resolution. " "``CLOCK_HIGHRES`` is the nonadjustable, high-resolution clock." msgstr "" +"ОС Solaris має таймер ``CLOCK_HIGHRES``, який намагається використовувати " +"оптимальне апаратне джерело та може давати роздільну здатність, близьку до " +"наносекунд. ``CLOCK_HIGHRES`` - це нерегульований годинник з високою " +"роздільною здатністю." msgid "" "Clock that cannot be set and represents monotonic time since some " "unspecified starting point." msgstr "" +"Годинник, який не можна налаштувати та відображає монотонний час із деякої " +"невизначеної початкової точки." msgid "" "Similar to :data:`CLOCK_MONOTONIC`, but provides access to a raw hardware-" "based time that is not subject to NTP adjustments." msgstr "" +"Подібно до :data:`CLOCK_MONOTONIC`, але надає доступ до необробленого " +"апаратного часу, який не підлягає коригуванням NTP." msgid "" "Similar to :data:`CLOCK_MONOTONIC_RAW`, but reads a value cached by the " "system at context switch and hence has less accuracy." msgstr "" +"Аналогично :data:`CLOCK_MONOTONIC_RAW`, но считывает значение, кэшированное " +"системой при переключении контекста, и, следовательно, имеет меньшую " +"точность." msgid "High-resolution per-process timer from the CPU." -msgstr "" +msgstr "Таймер високої роздільної здатності для кожного процесу від ЦП." msgid "" "`International Atomic Time `_" msgstr "" +"`Міжнародний атомний час `_" msgid "" "The system must have a current leap second table in order for this to give " "the correct answer. PTP or NTP software can maintain a leap second table." msgstr "" +"Система повинна мати поточну таблицю високосних секунд, щоб це дало " +"правильну відповідь. Програмне забезпечення PTP або NTP може підтримувати " +"таблицю високосної секунди." msgid "Thread-specific CPU-time clock." -msgstr "" +msgstr "Годинник процесорного часу, що залежить від потоку." msgid "" "Time whose absolute value is the time the system has been running and not " "suspended, providing accurate uptime measurement, both absolute and interval." msgstr "" +"Час, абсолютне значення якого — це час роботи системи без призупинення, що " +"забезпечує точне вимірювання часу безвідмовної роботи, як абсолютного, так і " +"інтервального." msgid "" "Clock that increments monotonically, tracking the time since an arbitrary " "point, unaffected by frequency or time adjustments and not incremented while " "the system is asleep." msgstr "" +"Годинник, який монотонно збільшується, відстежує час з довільної точки, не " +"залежить від коригування частоти чи часу та не збільшується, коли система " +"сплячої системи." msgid "" "Like :data:`CLOCK_UPTIME_RAW`, but the value is cached by the system at " "context switches and therefore has less accuracy." msgstr "" +"Подобно :data:`CLOCK_UPTIME_RAW`, но значение кэшируется системой при " +"переключении контекста и, следовательно, имеет меньшую точность." msgid "" "The following constant is the only parameter that can be sent to :func:" "`clock_settime`." msgstr "" +"Наступна константа є єдиним параметром, який можна надіслати до :func:" +"`clock_settime`." 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" -msgstr "" +msgstr "Константи часового поясу" msgid "" "The offset of the local DST timezone, in seconds west of UTC, if one is " @@ -1147,21 +1522,35 @@ msgid "" "Western Europe, including the UK). Only use this if ``daylight`` is " "nonzero. See note below." msgstr "" +"Зсув місцевого часового поясу літнього часу в секундах на захід від UTC, " +"якщо такий визначено. Це негативно, якщо місцевий часовий пояс на літній час " +"знаходиться на схід від UTC (як у Західній Європі, включаючи " +"Великобританію). Використовуйте це, лише якщо ``денне світло`` не дорівнює " +"нулю. Див. примітку нижче." msgid "Nonzero if a DST timezone is defined. See note below." msgstr "" +"Ненульове значення, якщо визначено часовий пояс літнього часу. Див. примітку " +"нижче." msgid "" "The offset of the local (non-DST) timezone, in seconds west of UTC (negative " "in most of Western Europe, positive in the US, zero in the UK). See note " "below." msgstr "" +"Зсув місцевого (не літнього) часового поясу в секундах на захід від UTC " +"(негативний у більшості країн Західної Європи, додатний у США, нуль у " +"Великобританії). Див. примітку нижче." msgid "" "A tuple of two strings: the first is the name of the local non-DST timezone, " "the second is the name of the local DST timezone. If no DST timezone is " "defined, the second string should not be used. See note below." msgstr "" +"Кортеж із двох рядків: перший — це назва місцевого часового поясу, який не " +"працює на літній час, а другий — це назва місцевого часового поясу. Якщо " +"часовий пояс літнього часу не визначено, другий рядок не слід " +"використовувати. Див. примітку нижче." msgid "" "For the above Timezone constants (:data:`altzone`, :data:`daylight`, :data:" @@ -1171,29 +1560,40 @@ msgid "" "attr:`~struct_time.tm_gmtoff` and :attr:`~struct_time.tm_zone` results from :" "func:`localtime` to obtain timezone information." msgstr "" +"Для вышеуказанных констант часового пояса (:data:`altzone`, :data:" +"`daylight`, :data:`timezone` и :data:`tzname`) значение определяется " +"правилами часового пояса, действующими во время загрузки модуля. или время " +"последнего вызова :func:`tzset` и может быть неверным в прошлом. " +"Рекомендуется использовать результаты :attr:`~struct_time.tm_gmtoff` и :attr:" +"`~struct_time.tm_zone` из :func:`localtime` для получения информации о " +"часовом поясе." msgid "Module :mod:`datetime`" -msgstr "" +msgstr "Modul :mod:`datetime`" msgid "More object-oriented interface to dates and times." -msgstr "" +msgstr "Більш об’єктно-орієнтований інтерфейс для дат і часу." msgid "Module :mod:`locale`" -msgstr "" +msgstr "Modul :mod:`locale`" msgid "" "Internationalization services. The locale setting affects the " "interpretation of many format specifiers in :func:`strftime` and :func:" "`strptime`." msgstr "" +"Послуги інтернаціоналізації. Параметр локалі впливає на інтерпретацію " +"багатьох специфікаторів формату в :func:`strftime` і :func:`strptime`." msgid "Module :mod:`calendar`" -msgstr "" +msgstr "Modul :mod:`calendar`" msgid "" "General calendar-related functions. :func:`~calendar.timegm` is the " "inverse of :func:`gmtime` from this module." msgstr "" +"Загальні функції, пов’язані з календарем. :func:`~calendar.timegm` є " +"зворотним до :func:`gmtime` з цього модуля." msgid "Footnotes" msgstr "Przypisy" @@ -1207,39 +1607,46 @@ msgid "" "the 4-digit year has been first recommended by :rfc:`1123` and then mandated " "by :rfc:`2822`." msgstr "" +"Використання ``%Z`` тепер застаріле, але ``%z`` екранування, яке " +"розширюється до бажаного зміщення годин/хвилин, підтримується не всіма " +"бібліотеками ANSI C. Крім того, суворе читання оригінального стандарту 1982 :" +"rfc:`822` вимагає двозначного року (``%y``, а не ``%Y``), але практика " +"перейшла на 4-значний рік задовго до 2000 рік. Після цього :rfc:`822` став " +"застарілим, і 4-значний рік був спочатку рекомендований :rfc:`1123`, а потім " +"дозволений :rfc:`2822`." msgid "epoch" -msgstr "" +msgstr "epoch" msgid "Year 2038" -msgstr "" +msgstr "Year 2038" msgid "2-digit years" -msgstr "" +msgstr "2-значные годы" msgid "UTC" -msgstr "" +msgstr "UTC" msgid "Coordinated Universal Time" -msgstr "" +msgstr "Coordinated Universal Time" msgid "Greenwich Mean Time" -msgstr "" +msgstr "Greenwich Mean Time" msgid "Daylight Saving Time" -msgstr "" +msgstr "Daylight Saving Time" msgid "benchmarking" -msgstr "" +msgstr "benchmarking" msgid "CPU time" -msgstr "" +msgstr "CPU time" msgid "processor time" -msgstr "" +msgstr "processor time" msgid "% (percent)" -msgstr "" +msgstr "% (процент)" msgid "datetime format" -msgstr "" +msgstr "формат даты и времени" diff --git a/library/timeit.po b/library/timeit.po index e7b5cdb1e3..406dd99bec 100644 --- a/library/timeit.po +++ b/library/timeit.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stefan Ocetkiewicz , 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -229,7 +227,7 @@ msgid "" msgstr "" msgid "Command-Line Interface" -msgstr "" +msgstr "Інтерфейс командного рядка" msgid "" "When called as a program from the command line, the following form is used::" diff --git a/library/tk.po b/library/tk.po index 17bad3790c..f7c0623341 100644 --- a/library/tk.po +++ b/library/tk.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# rmaster1211 , 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: rmaster1211 , 2023\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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 "Graphical User Interfaces with Tk" -msgstr "" +msgstr "User Interfaces Grafis dengan Tk" msgid "" "Tk/Tcl has long been an integral part of Python. It provides a robust and " @@ -32,6 +32,10 @@ msgid "" "programmers using the :mod:`tkinter` package, and its extension, the :mod:" "`tkinter.ttk` module." msgstr "" +"Tk/Tcl уже давно является неотъемлемой частью Python. Он предоставляет " +"надежный и независимый от платформы набор оконных инструментов, который " +"доступен программистам Python, использующим пакет :mod:`tkinter` и его " +"расширение, модуль :mod:`tkinter.ttk`." msgid "" "The :mod:`tkinter` package is a thin object-oriented layer on top of Tcl/Tk. " @@ -40,6 +44,11 @@ msgid "" "mod:`tkinter` is a set of wrappers that implement the Tk widgets as Python " "classes." msgstr "" +"Пакет :mod:`tkinter` — це тонкий об’єктно-орієнтований шар поверх Tcl/Tk. " +"Щоб використовувати :mod:`tkinter`, вам не потрібно писати код Tcl, але вам " +"потрібно буде проконсультуватися з документацією Tk, а іноді і з " +"документацією Tcl. :mod:`tkinter` — це набір оболонок, які реалізують " +"віджети Tk як класи Python." msgid "" ":mod:`tkinter`'s chief virtues are that it is fast, and that it usually " @@ -51,15 +60,23 @@ msgid "" "alternative `GUI frameworks and tools `_." msgstr "" +" Головна перевага :mod:`tkinter` полягає в тому, що він швидкий і зазвичай " +"постачається разом із Python. Хоча його стандартна документація слабка, " +"доступний хороший матеріал, який включає: посилання, підручники, книгу та " +"інші. :mod:`tkinter` також відомий своїм застарілим зовнішнім виглядом, який " +"було значно покращено в Tk 8.5. Тим не менш, існує багато інших бібліотек " +"графічного інтерфейсу користувача, які можуть вас зацікавити. У вікі Python " +"наведено кілька альтернативних `фреймворків графічного інтерфейсу " +"користувача та інструментів `_." msgid "GUI" -msgstr "" +msgstr "GUI" msgid "Graphical User Interface" -msgstr "" +msgstr "Графический интерфейс пользователя" msgid "Tkinter" msgstr "Tkinter" msgid "Tk" -msgstr "" +msgstr "Тк" diff --git a/library/tkinter.dnd.po b/library/tkinter.dnd.po index c3777d4601..fe47b88b8e 100644 --- a/library/tkinter.dnd.po +++ b/library/tkinter.dnd.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/library/tkinter.po b/library/tkinter.po index 0dd08114a4..0982347a69 100644 --- a/library/tkinter.po +++ b/library/tkinter.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Krzysztof Abramowicz, 2022 -# Waldemar Stoczkowski, 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -163,7 +160,7 @@ msgid "" msgstr "" msgid "Tk" -msgstr "" +msgstr "Тк" msgid "" "Tk is a `Tcl package `_ implemented in C " @@ -874,7 +871,7 @@ msgid "" msgstr "" msgid "Index" -msgstr "" +msgstr "Indeks" msgid "Meaning" msgstr "Znaczenie" @@ -1290,7 +1287,7 @@ msgid "" msgstr "" msgid "func" -msgstr "" +msgstr "func" msgid "" "is a Python function, taking one argument, to be invoked when the event " @@ -1378,7 +1375,7 @@ msgid "%t" msgstr "%t" msgid "time" -msgstr "" +msgstr "time" msgid "%T" msgstr "%T" diff --git a/library/tkinter.ttk.po b/library/tkinter.ttk.po index 3bf0f03e51..07c55a4782 100644 --- a/library/tkinter.ttk.po +++ b/library/tkinter.ttk.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# haaritsubaki, 2023 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -486,7 +484,7 @@ msgid "" msgstr "" msgid "values" -msgstr "" +msgstr "nilai" msgid "Specifies the list of values to display in the drop-down listbox." msgstr "" @@ -547,7 +545,7 @@ msgid "" msgstr "" msgid "to" -msgstr "" +msgstr "ke" msgid "" "Float value. If set, this is the maximum value to which the increment " @@ -713,7 +711,7 @@ msgid "" msgstr "" msgid "Virtual Events" -msgstr "" +msgstr "Віртуальні події" msgid "" "This widget generates a **<>** virtual event after a new " @@ -857,7 +855,7 @@ msgid "A number specifying the maximum value. Defaults to 100." msgstr "" msgid "value" -msgstr "" +msgstr "nilai" msgid "" "The current value of the progress bar. In \"determinate\" mode, this " @@ -867,7 +865,7 @@ msgid "" msgstr "" msgid "variable" -msgstr "" +msgstr "variabel" msgid "" "A name which is linked to the option value. If specified, the value of the " diff --git a/library/token.po b/library/token.po index 0ea429603b..7d20fd338a 100644 --- a/library/token.po +++ b/library/token.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 -# Maciej Olko , 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Maciej Olko , 2025\n" +"POT-Creation-Date: 2025-06-13 15:01+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -69,7 +68,7 @@ msgstr "" msgid "" "Token value that indicates an :ref:`identifier `. Note that " -"keywords are also initially tokenized an ``NAME`` tokens." +"keywords are also initially tokenized as ``NAME`` tokens." msgstr "" msgid "Token value that indicates a :ref:`numeric literal `" diff --git a/library/tokenize.po b/library/tokenize.po index 5fe30f50f6..621594216a 100644 --- a/library/tokenize.po +++ b/library/tokenize.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Seweryn Piórkowski , 2021 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Seweryn Piórkowski , 2021\n" +"POT-Creation-Date: 2025-01-24 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -207,7 +206,7 @@ msgid "python -m tokenize [-e] [filename.py]" msgstr "" msgid "The following options are accepted:" -msgstr "" +msgstr "Приймаються такі варіанти:" msgid "show this help message and exit" msgstr "" diff --git a/library/tomllib.po b/library/tomllib.po index 9eaac3c437..cd61ae4dd5 100644 --- a/library/tomllib.po +++ b/library/tomllib.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2022-11-05 19:49+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -49,7 +48,7 @@ msgid "" msgstr "" msgid "This module defines the following functions:" -msgstr "" +msgstr "Цей модуль визначає такі функції:" msgid "" "Read a TOML file. The first argument should be a readable and binary file " @@ -144,7 +143,7 @@ msgid "boolean" msgstr "" msgid "bool" -msgstr "" +msgstr "bool" msgid "offset date-time" msgstr "" @@ -173,7 +172,7 @@ msgid "datetime.time" msgstr "" msgid "array" -msgstr "" +msgstr "array" msgid "list" msgstr "lista" diff --git a/library/trace.po b/library/trace.po index 9f191fbaf6..268912b5f3 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-2025, 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.13\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-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-05-08 05:10+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 " @@ -59,7 +62,7 @@ msgid "" msgstr "" msgid "Display usage and exit." -msgstr "" +msgstr "Показ використання та вихід." msgid "Display the version of the module and exit." msgstr "" @@ -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..6aa9c4f013 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-2025, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\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: 2025-03-07 14:18+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -31,10 +31,13 @@ msgstr "" 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 "" @@ -45,12 +48,14 @@ msgid "" msgstr "" msgid "Module :mod:`faulthandler`" -msgstr "" +msgstr "Модуль :mod:`faulthandler`" msgid "" "Used to dump Python tracebacks explicitly, on a fault, after a timeout, or " "on a user signal." msgstr "" +"Используется для явного сброса обратных трассировок Python, при ошибке, " +"после тайм-аута или по сигналу пользователя." msgid "Module :mod:`pdb`" msgstr "" @@ -58,9 +63,25 @@ 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 "Module-Level Functions" +msgstr "Функції рівня модуля" + msgid "" "Print up to *limit* stack trace entries from :ref:`traceback object " "` *tb* (starting from the caller's frame) if *limit* is " @@ -123,14 +144,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 +182,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 " @@ -242,20 +269,22 @@ msgid "" "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 "" @@ -278,7 +307,7 @@ msgid "" msgstr "" msgid "Added the *compact* parameter." -msgstr "" +msgstr "Додано параметр *compact*." msgid "Added the *max_group_width* and *max_group_depth* parameters." msgstr "" @@ -344,6 +373,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 +517,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 +545,243 @@ 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 "" + 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 "" + 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 "" + 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 "" + 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 "" + msgid "object" msgstr "obiekt" @@ -516,7 +789,7 @@ msgid "traceback" msgstr "" msgid "^ (caret)" -msgstr "" +msgstr "^ (caret)" msgid "marker" msgstr "" diff --git a/library/tracemalloc.po b/library/tracemalloc.po index 07b344cae1..df32a06060 100644 --- a/library/tracemalloc.po +++ b/library/tracemalloc.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -688,10 +687,10 @@ msgid "description" msgstr "" msgid "``'filename'``" -msgstr "" +msgstr "``'ім'я файлу'``" msgid "filename" -msgstr "" +msgstr "ім'я файлу" msgid "``'lineno'``" msgstr "" diff --git a/library/tty.po b/library/tty.po index 0cb3924304..2ac82a74db 100644 --- a/library/tty.po +++ b/library/tty.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/library/turtle.po b/library/turtle.po index c2234e44cd..834fdcaa22 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Stefan Ocetkiewicz , 2023 -# Maciej Olko , 2025 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-02 14:19+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -26,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 ":mod:`turtle` --- Turtle graphics" -msgstr ":mod:`turtle` --- Grafika żółwia" +msgid ":mod:`!turtle` --- Turtle graphics" +msgstr "" msgid "**Source code:** :source:`Lib/turtle.py`" msgstr "**Kod źródłowy:** :source:`Lib/turtle.py`" diff --git a/library/types.po b/library/types.po index b537f42fff..0f6fba7ac0 100644 --- a/library/types.po +++ b/library/types.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/library/typing.po b/library/typing.po index 59ba93b4dc..605cb5a4bf 100644 --- a/library/typing.po +++ b/library/typing.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2023 -# Maciej Olko , 2023 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-08 03:57+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -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 ":mod:`typing` --- Support for type hints" +msgid ":mod:`!typing` --- Support for type hints" msgstr "" msgid "**Source code:** :source:`Lib/typing.py`" @@ -847,9 +844,9 @@ msgid "" "User-defined generics for parameter expressions are also supported via " "parameter specification variables in the form ``[**P]``. The behavior is " "consistent with type variables' described above as parameter specification " -"variables are treated by the typing module as a specialized type variable. " -"The one exception to this is that a list of types can be used to substitute " -"a :class:`ParamSpec`::" +"variables are treated by the :mod:`!typing` module as a specialized type " +"variable. The one exception to this is that a list of types can be used to " +"substitute a :class:`ParamSpec`::" msgstr "" msgid "" @@ -904,8 +901,8 @@ msgstr "" msgid "" "A user-defined generic class can have ABCs as base classes without a " "metaclass conflict. Generic metaclasses are not supported. The outcome of " -"parameterizing generics is cached, and most types in the typing module are :" -"term:`hashable` and comparable for equality." +"parameterizing generics is cached, and most types in the :mod:`!typing` " +"module are :term:`hashable` and comparable for equality." msgstr "" msgid "The :data:`Any` type" @@ -1061,7 +1058,7 @@ msgid "" msgstr "" msgid "Module contents" -msgstr "" +msgstr "Зміст модуля" msgid "" "The ``typing`` module defines the following classes, functions and " @@ -1382,6 +1379,16 @@ msgstr "" msgid "Union[Union[int, str], float] == Union[int, str, float]" msgstr "Union[Union[int, str], float] == Union[int, str, float]" +msgid "" +"However, this does not apply to unions referenced through a type alias, to " +"avoid forcing evaluation of the underlying :class:`TypeAliasType`::" +msgstr "" + +msgid "" +"type A = Union[int, str]\n" +"Union[A, float] != Union[int, str, float]" +msgstr "" + msgid "Unions of a single argument vanish, e.g.::" msgstr "" @@ -1532,6 +1539,43 @@ msgid "" "restrictions. See :pep:`586` for more details about literal types." msgstr "" +msgid "Additional details:" +msgstr "" + +msgid "The arguments must be literal values and there must be at least one." +msgstr "" + +msgid "Nested ``Literal`` types are flattened, e.g.::" +msgstr "" + +msgid "assert Literal[Literal[1, 2], 3] == Literal[1, 2, 3]" +msgstr "" + +msgid "" +"However, this does not apply to ``Literal`` types referenced through a type " +"alias, to avoid forcing evaluation of the underlying :class:`TypeAliasType`::" +msgstr "" + +msgid "" +"type A = Literal[1, 2]\n" +"assert Literal[A, 3] != Literal[1, 2, 3]" +msgstr "" + +msgid "assert Literal[1, 2, 1] == Literal[1, 2]" +msgstr "" + +msgid "When comparing literals, the argument order is ignored, e.g.::" +msgstr "" + +msgid "assert Literal[1, 2] == Literal[2, 1]" +msgstr "" + +msgid "You cannot subclass or instantiate a ``Literal``." +msgstr "" + +msgid "You cannot write ``Literal[X][Y]``." +msgstr "" + msgid "" "``Literal`` now de-duplicates parameters. Equality comparisons of " "``Literal`` objects are no longer order dependent. ``Literal`` objects will " @@ -1721,6 +1765,19 @@ msgid "" "]" msgstr "" +msgid "" +"However, this does not apply to ``Annotated`` types referenced through a " +"type alias, to avoid forcing evaluation of the underlying :class:" +"`TypeAliasType`::" +msgstr "" + +msgid "" +"type From3To10[T] = Annotated[T, ValueRange(3, 10)]\n" +"assert Annotated[From3To10[int], ctype(\"char\")] != Annotated[\n" +" int, ValueRange(3, 10), ctype(\"char\")\n" +"]" +msgstr "" + msgid "Duplicated metadata elements are not removed::" msgstr "" @@ -3226,8 +3283,8 @@ msgid "Protocols" msgstr "" msgid "" -"The following protocols are provided by the typing module. All are decorated " -"with :func:`@runtime_checkable `." +"The following protocols are provided by the :mod:`!typing` module. All are " +"decorated with :func:`@runtime_checkable `." msgstr "" msgid "" @@ -3997,10 +4054,10 @@ msgstr "" msgid "" "This module defines several deprecated aliases to pre-existing standard " -"library classes. These were originally included in the typing module in " -"order to support parameterizing these generic classes using ``[]``. However, " -"the aliases became redundant in Python 3.9 when the corresponding pre-" -"existing classes were enhanced to support ``[]`` (see :pep:`585`)." +"library classes. These were originally included in the :mod:`!typing` module " +"in order to support parameterizing these generic classes using ``[]``. " +"However, the aliases became redundant in Python 3.9 when the corresponding " +"pre-existing classes were enhanced to support ``[]`` (see :pep:`585`)." msgstr "" msgid "" @@ -4013,8 +4070,8 @@ msgstr "" msgid "" "If at some point it is decided to remove these deprecated aliases, a " "deprecation warning will be issued by the interpreter for at least two " -"releases prior to removal. The aliases are guaranteed to remain in the " -"typing module without deprecation warnings until at least Python 3.14." +"releases prior to removal. The aliases are guaranteed to remain in the :mod:" +"`!typing` module without deprecation warnings until at least Python 3.14." msgstr "" msgid "" diff --git a/library/unicodedata.po b/library/unicodedata.po index 648dcecdd6..1213a43a9f 100644 --- a/library/unicodedata.po +++ b/library/unicodedata.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/library/unittest.mock-examples.po b/library/unittest.mock-examples.po index 381523a065..df5b928394 100644 --- a/library/unittest.mock-examples.po +++ b/library/unittest.mock-examples.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/library/unittest.mock.po b/library/unittest.mock.po index db1d7d7647..1827df6574 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-16 14:58+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -2385,13 +2383,10 @@ msgid "" msgstr "" msgid "" -">>> mock.has_data()\n" +">>> mock.header_items()\n" "\n" -">>> mock.has_data.assret_called_with() # Intentional typo!" +">>> mock.header_items.assret_called_with() # Intentional typo!" msgstr "" -">>> mock.has_data()\n" -"\n" -">>> mock.has_data.assret_called_with() # Intentional typo!" msgid "" "Auto-speccing solves this problem. You can either pass ``autospec=True`` to :" diff --git a/library/unittest.po b/library/unittest.po index 241637ce4d..baba968746 100644 --- a/library/unittest.po +++ b/library/unittest.po @@ -4,18 +4,17 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Maciej Olko , 2025 -# Stan Ulbrych, 2025 +# Mariusz Krzaczkowski, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-23 14:55+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -26,10 +25,10 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!unittest` --- Unit testing framework" -msgstr "" +msgstr ":mod:`!unittest` --- Framework testów jednostkowych" 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 " @@ -48,9 +47,11 @@ msgid "" "To achieve this, :mod:`unittest` supports some important concepts in an " "object-oriented way:" msgstr "" +"Aby to osiągnąć, :mod:`unittest` obsługuje niektóre ważne koncepcje w sposób " +"zorientowany obiektowo:" msgid "test fixture" -msgstr "" +msgstr "przyrząd testowy" msgid "" "A :dfn:`test fixture` represents the preparation needed to perform one or " @@ -60,7 +61,7 @@ msgid "" msgstr "" msgid "test case" -msgstr "" +msgstr "przypadek testowy" msgid "" "A :dfn:`test case` is the individual unit of testing. It checks for a " @@ -69,7 +70,7 @@ msgid "" msgstr "" msgid "test suite" -msgstr "" +msgstr "zestaw testów" msgid "" "A :dfn:`test suite` is a collection of test cases, test suites, or both. It " @@ -77,7 +78,7 @@ msgid "" msgstr "" msgid "test runner" -msgstr "" +msgstr "runner testowy" msgid "" "A :dfn:`test runner` is a component which orchestrates the execution of " @@ -87,10 +88,10 @@ msgid "" msgstr "" msgid "Module :mod:`doctest`" -msgstr "" +msgstr "Moduł :mod:`doctest`" msgid "Another test-support module with a very different flavor." -msgstr "" +msgstr "Kolejny moduł wspomagający testy, o zupełnie innym charakterze." msgid "" "`Simple Smalltalk Testing: With Patterns ` для unittest " +"вместе с параметром ``catchbreak`` для :func:`unittest.main` обеспечивают " +"более дружелюбную обработку управляющих данных. C во время тестового " +"запуска. Если включено поведение Catch Break, Control-C позволит завершить " +"текущий тест, а затем тестовый запуск завершится и сообщит обо всех " +"результатах на данный момент. Второй control-c вызовет :exc:" +"`KeyboardInterrupt` обычным способом." msgid "" "The control-c handling signal handler attempts to remain compatible with " @@ -2891,44 +2899,73 @@ msgid "" "to it. For individual tests that need ``unittest`` control-c handling " "disabled the :func:`removeHandler` decorator can be used." msgstr "" +"Обробник сигналів обробки control-c намагається залишатися сумісним із кодом " +"або тестами, які встановлюють власний обробник :const:`signal.SIGINT`. Якщо " +"обробник ``unittest`` викликається, але *не* встановлений обробник :const:" +"`signal.SIGINT`, тобто він був замінений тестованою системою та делегований, " +"тоді він викликає обробник за замовчуванням. Зазвичай це буде очікувана " +"поведінка коду, який замінює встановлений обробник і делегує йому. Для " +"окремих тестів, які потребують вимкнення обробки ``unittest`` control-c, " +"можна використовувати декоратор :func:`removeHandler`." msgid "" "There are a few utility functions for framework authors to enable control-c " "handling functionality within test frameworks." msgstr "" +"Існує кілька службових функцій для авторів фреймворків, щоб увімкнути " +"функціональність обробки control-c у тестових фреймворках." msgid "" "Install the control-c handler. When a :const:`signal.SIGINT` is received " "(usually in response to the user pressing control-c) all registered results " "have :meth:`~TestResult.stop` called." msgstr "" +"Встановіть обробник control-c. Коли отримано :const:`signal.SIGINT` " +"(зазвичай у відповідь на натискання користувачем control-c), усі " +"зареєстровані результати викликають :meth:`~TestResult.stop`." msgid "" "Register a :class:`TestResult` object for control-c handling. Registering a " "result stores a weak reference to it, so it doesn't prevent the result from " "being garbage collected." msgstr "" +"Зареєструйте об’єкт :class:`TestResult` для обробки control-c. Реєстрація " +"результату зберігає слабке посилання на нього, тому це не запобігає збиранню " +"сміття результату." msgid "" "Registering a :class:`TestResult` object has no side-effects if control-c " "handling is not enabled, so test frameworks can unconditionally register all " "results they create independently of whether or not handling is enabled." msgstr "" +"Реєстрація об’єкта :class:`TestResult` не має побічних ефектів, якщо обробку " +"control-c не ввімкнено, тому тестові фреймворки можуть беззастережно " +"реєструвати всі створені ними результати незалежно від того, увімкнено " +"обробку чи ні." msgid "" "Remove a registered result. Once a result has been removed then :meth:" "`~TestResult.stop` will no longer be called on that result object in " "response to a control-c." msgstr "" +"Видалити зареєстрований результат. Після видалення результату :meth:" +"`~TestResult.stop` більше не викликатиметься для цього об’єкта результату у " +"відповідь на control-c." msgid "" "When called without arguments this function removes the control-c handler if " "it has been installed. This function can also be used as a test decorator to " "temporarily remove the handler while the test is being executed::" msgstr "" +"При виклику без аргументів ця функція видаляє обробник control-c, якщо він " +"був встановлений. Цю функцію також можна використовувати як декоратор тесту " +"для тимчасового видалення обробника під час виконання тесту:" msgid "" "@unittest.removeHandler\n" "def test_signal_handling(self):\n" " ..." msgstr "" +"@unittest.removeHandler\n" +"def test_signal_handling(self):\n" +" ..." diff --git a/library/unix.po b/library/unix.po index 00ff95f868..01795653ab 100644 --- a/library/unix.po +++ b/library/unix.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -31,3 +31,6 @@ msgid "" "are unique to the Unix operating system, or in some cases to some or many " "variants of it. Here's an overview:" msgstr "" +"Modul yang dijelaskan dalam bab ini memberikan antarmuka ke fitur-fitur yang " +"unik untuk sistem operasi Unix, atau dalam beberapa kasus untuk sebagian " +"atau banyak variannya. Berikut ini ikhtisar:" diff --git a/library/urllib.parse.po b/library/urllib.parse.po index 293d71d5d5..6b9ef73d48 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -153,7 +151,7 @@ msgid "Attribute" msgstr "atrybut" msgid "Index" -msgstr "" +msgstr "Indeks" msgid "Value" msgstr "Wartość" diff --git a/library/urllib.request.po b/library/urllib.request.po index 8ec3185e08..67e1196f6a 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-25 15:00+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -55,6 +54,8 @@ msgid "" "This module does not work or is not available on WebAssembly. See :ref:`wasm-" "availability` for more information." msgstr "" +"Этот модуль не работает или недоступен в WebAssembly. См. :ref:`wasm-" +"availability` для получения дополнительной информации." msgid "The :mod:`urllib.request` module defines the following functions:" msgstr "" @@ -154,7 +155,7 @@ msgid "*cadefault* was added." msgstr "" msgid "*context* was added." -msgstr "" +msgstr "додано *контекст*." msgid "" "HTTPS connection now send an ALPN extension with protocol indicator " @@ -822,10 +823,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 as string, and" +msgstr "" + +msgid "the headers of the error, as a mapping object." msgstr "" msgid "" @@ -1050,7 +1063,7 @@ msgstr "" msgid "" "Send an HTTP request, which can be either GET or POST, depending on ``req." -"has_data()``." +"data``." msgstr "" msgid "HTTPSHandler Objects" @@ -1058,7 +1071,7 @@ msgstr "" msgid "" "Send an HTTPS request, which can be either GET or POST, depending on ``req." -"has_data()``." +"data``." msgstr "" msgid "FileHandler Objects" @@ -1694,7 +1707,7 @@ msgid "HTTP" msgstr "" msgid "protocol" -msgstr "" +msgstr "протокол" msgid "FTP" msgstr "" diff --git a/library/urllib.robotparser.po b/library/urllib.robotparser.po index a972660e8c..94682861e7 100644 --- a/library/urllib.robotparser.po +++ b/library/urllib.robotparser.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/library/uuid.po b/library/uuid.po index f012072668..6e6163e68a 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-02-28 14:17+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -274,10 +272,10 @@ msgid "" msgstr "" msgid "The following options are accepted:" -msgstr "" +msgstr "Приймаються такі варіанти:" msgid "Show the help message and exit." -msgstr "" +msgstr "Показати довідкове повідомлення та вийти." msgid "" "Specify the function name to use to generate the uuid. By default :func:" diff --git a/library/venv.po b/library/venv.po index 7540e80b9c..b186da9f44 100644 --- a/library/venv.po +++ b/library/venv.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2025 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-25 15:00+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -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." msgstr "" @@ -91,6 +90,8 @@ msgid "" "This module is not supported on :ref:`mobile platforms ` or :ref:`WebAssembly platforms `." msgstr "" +"Этот модуль не поддерживается на :ref:`мобильных платформах ` или :ref:`платформах WebAssembly `." msgid "Creating virtual environments" msgstr "Tworzenie środowisk wirtualnych" @@ -142,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." diff --git a/library/warnings.po b/library/warnings.po index 7fb2e7b54f..92fb4802cc 100644 --- a/library/warnings.po +++ b/library/warnings.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/library/wave.po b/library/wave.po index e8e6148254..6334dbcd23 100644 --- a/library/wave.po +++ b/library/wave.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/library/weakref.po b/library/weakref.po index 87d8d2b76e..d81bfe8b8a 100644 --- a/library/weakref.po +++ b/library/weakref.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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,20 +24,24 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`weakref` --- Weak references" -msgstr "" +msgstr ":mod:`weakref` --- Слабкі посилання" 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 " "references` to objects." msgstr "" +"Модуль :mod:`weakref` дозволяє програмісту Python створювати :dfn:`слабкі " +"посилання` на об’єкти." msgid "" "In the following, the term :dfn:`referent` means the object which is " "referred to by a weak reference." msgstr "" +"Далі термін :dfn:`referent` означає об’єкт, на який посилається слабке " +"посилання." msgid "" "A weak reference to an object is not enough to keep the object alive: when " @@ -47,12 +51,20 @@ msgid "" "weak reference may return the object even if there are no strong references " "to it." msgstr "" +"Слабкого посилання на об’єкт недостатньо, щоб зберегти об’єкт живим: коли " +"єдині посилання на референт є слабкими посиланнями, :term:`garbage " +"collection` може знищити референт і використовувати його пам’ять для чогось " +"іншого. Однак, поки об’єкт не буде фактично знищено, слабке посилання може " +"повертати об’єкт, навіть якщо на нього немає сильних посилань." msgid "" "A primary use for weak references is to implement caches or mappings holding " "large objects, where it's desired that a large object not be kept alive " "solely because it appears in a cache or mapping." msgstr "" +"Основним використанням слабких посилань є реалізація кешів або відображень, " +"що містять великі об’єкти, де бажано, щоб великий об’єкт не зберігався живим " +"лише тому, що він з’являється в кеші чи відображенні." msgid "" "For example, if you have a number of large binary image objects, you may " @@ -68,6 +80,18 @@ msgid "" "collection can reclaim the object, and its corresponding entries in weak " "mappings are simply deleted." msgstr "" +"Наприклад, якщо у вас є кілька великих бінарних об’єктів зображення, ви " +"можете призначити ім’я кожному. Якби ви використовували словник Python для " +"зіставлення імен із зображеннями або зображень з іменами, об’єкти зображення " +"залишалися б живими лише тому, що вони відображалися як значення або ключі в " +"словниках. Класи :class:`WeakKeyDictionary` і :class:`WeakValueDictionary`, " +"що надаються модулем :mod:`weakref`, є альтернативою, використовуючи слабкі " +"посилання для створення відображень, які не зберігають об’єкти лише тому, що " +"вони з’являються в об’єктах відображення . Якщо, наприклад, об’єкт " +"зображення є значенням у :class:`WeakValueDictionary`, тоді, коли останні " +"посилання на цей об’єкт зображення є слабкими посиланнями, утримуваними " +"слабкими відображеннями, збір сміття може відновити об’єкт і його відповідні " +"записи у слабких відображеннях просто видаляються." msgid "" ":class:`WeakKeyDictionary` and :class:`WeakValueDictionary` use weak " @@ -77,6 +101,12 @@ msgid "" "class:`set` interface, but keeps weak references to its elements, just like " "a :class:`WeakKeyDictionary` does." msgstr "" +":class:`WeakKeyDictionary` і :class:`WeakValueDictionary` використовують " +"слабкі посилання у своїй реалізації, встановлюючи функції зворотного виклику " +"для слабких посилань, які сповіщають слабкі словники, коли ключ або значення " +"було вилучено під час збирання сміття. :class:`WeakSet` реалізує інтерфейс :" +"class:`set`, але зберігає слабкі посилання на його елементи, як це робить :" +"class:`WeakKeyDictionary`." msgid "" ":class:`finalize` provides a straight forward way to register a cleanup " @@ -85,6 +115,11 @@ msgid "" "the module automatically ensures that the finalizer remains alive until the " "object is collected." msgstr "" +":class:`finalize` забезпечує прямий спосіб реєстрації функції очищення, яка " +"буде викликатися під час збирання сміття об’єкта. Це простіше у " +"використанні, ніж налаштування функції зворотного виклику для необробленого " +"слабкого посилання, оскільки модуль автоматично гарантує, що фіналізатор " +"залишається активним, доки об’єкт не буде зібрано." msgid "" "Most programs should find that using one of these weak container types or :" @@ -92,6 +127,10 @@ msgid "" "your own weak references directly. The low-level machinery is exposed by " "the :mod:`weakref` module for the benefit of advanced uses." msgstr "" +"Більшість програм має виявити, що використання одного з цих слабких типів " +"контейнерів або :class:`finalize` — це все, що їм потрібно - зазвичай не " +"потрібно безпосередньо створювати власні слабкі посилання. Механізм низького " +"рівня розкривається модулем :mod:`weakref` для розширеного використання." msgid "" "Not all objects can be weakly referenced. Objects which support weak " @@ -100,14 +139,22 @@ msgid "" "object>`, :term:`generators `, type objects, sockets, arrays, " "deques, regular expression pattern objects, and code objects." msgstr "" +"Не на все объекты можно слабо ссылаться. Объекты, поддерживающие слабые " +"ссылки, включают экземпляры классов, функции, написанные на Python (но не на " +"C), методы экземпляра, наборы, замороженные наборы, некоторые :term:`file " +"object `, :term:`generators `, объекты типов, " +"сокеты, массивы, деки, объекты шаблонов регулярных выражений и объекты кода." msgid "Added support for thread.lock, threading.Lock, and code objects." -msgstr "" +msgstr "Додано підтримку об’єктів thread.lock, threading.Lock і коду." msgid "" "Several built-in types such as :class:`list` and :class:`dict` do not " "directly support weak references but can add support through subclassing::" msgstr "" +"Кілька вбудованих типів, таких як :class:`list` і :class:`dict`, не " +"підтримують безпосередньо слабкі посилання, але можуть додати підтримку " +"через підкласи::" msgid "" "class Dict(dict):\n" @@ -115,16 +162,24 @@ msgid "" "\n" "obj = Dict(red=1, green=2, blue=3) # this object is weak referenceable" msgstr "" +"class Dict(dict):\n" +" pass\n" +"\n" +"obj = Dict(red=1, green=2, blue=3) # this object is weak referenceable" msgid "" "Other built-in types such as :class:`tuple` and :class:`int` do not support " "weak references even when subclassed." msgstr "" +"Інші вбудовані типи, такі як :class:`tuple` і :class:`int` не підтримують " +"слабкі посилання, навіть якщо є підкласами." msgid "" "Extension types can easily be made to support weak references; see :ref:" "`weakref-support`." msgstr "" +"Типи розширень можна легко створити для підтримки слабких посилань; див. :" +"ref:`weakref-support`." msgid "" "When ``__slots__`` are defined for a given type, weak reference support is " @@ -132,6 +187,10 @@ msgid "" "of strings in the ``__slots__`` declaration. See :ref:`__slots__ " "documentation ` for details." msgstr "" +"Коли для даного типу визначено ``__slots__``, підтримку слабких посилань " +"вимкнено, якщо тільки рядок ``'__weakref__`` також не присутній у " +"послідовності рядків у декларації ``__slots__``. Перегляньте :ref:`__slots__ " +"документацію ` для деталей." msgid "" "Return a weak reference to *object*. The original object can be retrieved " @@ -143,18 +202,32 @@ msgid "" "passed as the only parameter to the callback; the referent will no longer be " "available." msgstr "" +"Повернути слабке посилання на *об’єкт*. Вихідний об’єкт можна отримати, " +"викликавши еталонний об’єкт, якщо референт ще живий; якщо референт більше не " +"живий, виклик об’єкта посилання призведе до повернення :const:`None`. Якщо " +"надано *callback*, а не :const:`None`, і повернутий об’єкт weakref все ще " +"живий, зворотний виклик буде викликано, коли об’єкт буде завершено; об'єкт " +"слабкого посилання буде передано як єдиний параметр зворотного виклику; " +"референт більше не буде доступний." msgid "" "It is allowable for many weak references to be constructed for the same " "object. Callbacks registered for each weak reference will be called from the " "most recently registered callback to the oldest registered callback." msgstr "" +"Для одного об’єкта допускається створення багатьох слабких посилань. " +"Зворотні виклики, зареєстровані для кожного слабкого посилання, " +"викликатимуться від останнього зареєстрованого зворотного виклику до " +"найстарішого зареєстрованого зворотного виклику." msgid "" "Exceptions raised by the callback will be noted on the standard error " "output, but cannot be propagated; they are handled in exactly the same way " "as exceptions raised from an object's :meth:`~object.__del__` method." msgstr "" +"Исключения, вызванные обратным вызовом, будут отмечены в стандартном выводе " +"ошибок, но не могут быть распространены; они обрабатываются точно так же, " +"как исключения, возникающие из метода :meth:`~object.__del__` объекта." msgid "" "Weak references are :term:`hashable` if the *object* is hashable. They will " @@ -162,6 +235,10 @@ msgid "" "`hash` is called the first time only after the *object* was deleted, the " "call will raise :exc:`TypeError`." msgstr "" +"Слабкі посилання є :term:`hashable`, якщо *об’єкт* є хешованим. Вони " +"збережуть своє хеш-значення навіть після видалення *об’єкта*. Якщо :func:" +"`hash` викликається вперше лише після того, як *об’єкт* було видалено, " +"виклик викличе :exc:`TypeError`." msgid "" "Weak references support tests for equality, but not ordering. If the " @@ -170,18 +247,26 @@ msgid "" "referent has been deleted, the references are equal only if the reference " "objects are the same object." msgstr "" +"Слабкі посилання підтримують тести на рівність, але не впорядкування. Якщо " +"референти ще живі, два посилання мають таке ж відношення рівності, що й їхні " +"референти (незалежно від *зворотного виклику*). Якщо будь-який референт було " +"видалено, посилання є рівними, лише якщо об’єкти еталонів є одним і тим же " +"об’єктом." msgid "This is a subclassable type rather than a factory function." -msgstr "" +msgstr "Це тип підкласу, а не фабрична функція." msgid "" "This read-only attribute returns the callback currently associated to the " "weakref. If there is no callback or if the referent of the weakref is no " "longer alive then this attribute will have value ``None``." msgstr "" +"Цей атрибут лише для читання повертає зворотний виклик, наразі пов’язаний зі " +"слабким посиланням. Якщо зворотного виклику немає або референт слабкого " +"посилання більше не живий, цей атрибут матиме значення ``None``." msgid "Added the :attr:`__callback__` attribute." -msgstr "" +msgstr "Додано атрибут :attr:`__callback__`." msgid "" "Return a proxy to *object* which uses a weak reference. This supports use " @@ -194,25 +279,41 @@ msgid "" "keys. *callback* is the same as the parameter of the same name to the :func:" "`ref` function." msgstr "" +"Верните прокси объекту *object*, который использует слабую ссылку. Это " +"поддерживает использование прокси в большинстве контекстов вместо " +"необходимости явного разыменования, используемого со слабыми ссылочными " +"объектами. Возвращенный объект будет иметь тип ProxyType или " +"CallableProxyType, в зависимости от того, является ли *object* вызываемым. " +"Прокси-объекты не являются :term:`хешируемыми` независимо от референта; это " +"позволяет избежать ряда проблем, связанных с их принципиально изменчивой " +"природой, и предотвращает их использование в качестве ключей словаря. " +"*callback* аналогичен одноименному параметру функции :func:`ref`." msgid "" "Accessing an attribute of the proxy object after the referent is garbage " "collected raises :exc:`ReferenceError`." msgstr "" +"Доступ к атрибуту прокси-объекта после того, как референт был очищен от " +"мусора, вызывает ошибку :exc:`ReferenceError`." msgid "" "Extended the operator support on proxy objects to include the matrix " "multiplication operators ``@`` and ``@=``." msgstr "" +"Розширено підтримку операторів на проксі-об’єктах, щоб включити оператори " +"множення матриці ``@`` і ``@=``." msgid "" "Return the number of weak references and proxies which refer to *object*." msgstr "" +"Повертає кількість слабких посилань і проксі, які посилаються на *об’єкт*." msgid "" "Return a list of all weak reference and proxy objects which refer to " "*object*." msgstr "" +"Повертає список усіх слабких посилань і проксі-об’єктів, які посилаються на " +"*об’єкт*." msgid "" "Mapping class that references keys weakly. Entries in the dictionary will " @@ -221,6 +322,11 @@ msgid "" "of an application without adding attributes to those objects. This can be " "especially useful with objects that override attribute accesses." msgstr "" +"Клас зіставлення, який слабко посилається на ключі. Записи в словнику буде " +"відкинуто, коли більше немає сильного посилання на ключ. Це можна " +"використовувати для зв’язування додаткових даних з об’єктом, що належить " +"іншим частинам програми, без додавання атрибутів до цих об’єктів. Це може " +"бути особливо корисним для об’єктів, які перевизначають доступ до атрибутів." msgid "" "Note that when a key with equal value to an existing key (but not equal " @@ -228,6 +334,10 @@ msgid "" "not replace the existing key. Due to this, when the reference to the " "original key is deleted, it also deletes the entry in the dictionary::" msgstr "" +"Обратите внимание: когда в словарь вставляется ключ со значением, равным " +"существующему ключу (но не с равным идентификатором), он заменяет значение, " +"но не заменяет существующий ключ. Благодаря этому при удалении ссылки на " +"исходный ключ удаляется и запись в словаре::" msgid "" ">>> class T(str): pass\n" @@ -238,9 +348,16 @@ msgid "" ">>> d[k2] = 2 # d = {k1: 2}\n" ">>> del k1 # d = {}" msgstr "" +">>> class T(str): pass\n" +"...\n" +">>> k1, k2 = T(), T()\n" +">>> d = weakref.WeakKeyDictionary()\n" +">>> d[k1] = 1 # d = {k1: 1}\n" +">>> d[k2] = 2 # d = {k1: 2}\n" +">>> del k1 # d = {}" msgid "A workaround would be to remove the key prior to reassignment::" -msgstr "" +msgstr "Обходным решением было бы удалить ключ перед переназначением::" msgid "" ">>> class T(str): pass\n" @@ -252,10 +369,18 @@ msgid "" ">>> d[k2] = 2 # d = {k2: 2}\n" ">>> del k1 # d = {k2: 2}" msgstr "" +">>> class T(str): pass\n" +"...\n" +">>> k1, k2 = T(), T()\n" +">>> d = weakref.WeakKeyDictionary()\n" +">>> d[k1] = 1 # d = {k1: 1}\n" +">>> del d[k1]\n" +">>> d[k2] = 2 # d = {k2: 2}\n" +">>> del k1 # d = {k2: 2}" msgid "" "Added support for ``|`` and ``|=`` operators, as specified in :pep:`584`." -msgstr "" +msgstr "Додано підтримку операторів ``|`` і ``|=``, як зазначено в :pep:`584`." msgid "" ":class:`WeakKeyDictionary` objects have an additional method that exposes " @@ -265,27 +390,39 @@ msgid "" "references that will cause the garbage collector to keep the keys around " "longer than needed." msgstr "" +"Об’єкти :class:`WeakKeyDictionary` мають додатковий метод, який " +"безпосередньо відкриває внутрішні посилання. Не гарантується, що посилання " +"будуть \"живими\" під час їх використання, тому результат виклику посилань " +"потрібно перевірити перед використанням. Це можна використовувати, щоб " +"уникнути створення посилань, через які збирач сміття зберігатиме ключі " +"довше, ніж потрібно." msgid "Return an iterable of the weak references to the keys." -msgstr "" +msgstr "Повертає ітерацію слабких посилань на ключі." msgid "" "Mapping class that references values weakly. Entries in the dictionary will " "be discarded when no strong reference to the value exists any more." msgstr "" +"Клас зіставлення, який слабко посилається на значення. Записи в словнику " +"буде відкинуто, якщо більше не існує сильного посилання на значення." msgid "" ":class:`WeakValueDictionary` objects have an additional method that has the " "same issues as the :meth:`WeakKeyDictionary.keyrefs` method." msgstr "" +"Объекты :class:`WeakValueDictionary` имеют дополнительный метод, имеющий те " +"же проблемы, что и метод :meth:`WeakKeyDictionary.keyrefs`." msgid "Return an iterable of the weak references to the values." -msgstr "" +msgstr "Повертає ітерацію слабких посилань на значення." msgid "" "Set class that keeps weak references to its elements. An element will be " "discarded when no strong reference to it exists any more." msgstr "" +"Клас набору, який зберігає слабкі посилання на свої елементи. Елемент буде " +"відкинуто, якщо на нього більше не буде сильних посилань." msgid "" "A custom :class:`ref` subclass which simulates a weak reference to a bound " @@ -294,6 +431,11 @@ msgid "" "hold of it. :class:`WeakMethod` has special code to recreate the bound " "method until either the object or the original function dies::" msgstr "" +"Спеціальний підклас :class:`ref`, який імітує слабке посилання на зв’язаний " +"метод (тобто метод, визначений у класі та шуканий у екземплярі). Оскільки " +"зв’язаний метод є ефемерним, стандартне слабке посилання не може втримати " +"його. :class:`WeakMethod` має спеціальний код для відтворення зв’язаного " +"методу, доки об’єкт або вихідна функція не помре::" msgid "" ">>> class C:\n" @@ -314,11 +456,28 @@ msgid "" ">>> r()\n" ">>>" msgstr "" +">>> class C:\n" +"... def method(self):\n" +"... print(\"method called!\")\n" +"...\n" +">>> c = C()\n" +">>> r = weakref.ref(c.method)\n" +">>> r()\n" +">>> r = weakref.WeakMethod(c.method)\n" +">>> r()\n" +">\n" +">>> r()()\n" +"method called!\n" +">>> del c\n" +">>> gc.collect()\n" +"0\n" +">>> r()\n" +">>>" msgid "" "*callback* is the same as the parameter of the same name to the :func:`ref` " "function." -msgstr "" +msgstr "*callback* аналогичен одноименному параметру функции :func:`ref`." msgid "" "Return a callable finalizer object which will be called when *obj* is " @@ -326,6 +485,10 @@ msgid "" "always survive until the reference object is collected, greatly simplifying " "lifecycle management." msgstr "" +"Повертає викликаний об’єкт фіналізатора, який буде викликаний, коли *obj* " +"буде зібрано сміття. На відміну від звичайного слабкого посилання, " +"фіналізатор завжди житиме, доки не буде зібрано еталонний об’єкт, що значно " +"спрощує керування життєвим циклом." msgid "" "A finalizer is considered *alive* until it is called (either explicitly or " @@ -333,6 +496,10 @@ msgid "" "finalizer returns the result of evaluating ``func(*arg, **kwargs)``, whereas " "calling a dead finalizer returns :const:`None`." msgstr "" +"Фіналізатор вважається *живим*, доки його не викликають (явним чином або під " +"час збирання сміття), а після цього він *мертвий*. Виклик активного " +"фіналізатора повертає результат обчислення ``func(*arg, **kwargs)``, тоді як " +"виклик мертвого фіналізатора повертає :const:`None`." msgid "" "Exceptions raised by finalizer callbacks during garbage collection will be " @@ -340,42 +507,64 @@ msgid "" "handled in the same way as exceptions raised from an object's :meth:`~object." "__del__` method or a weak reference's callback." msgstr "" +"Исключения, вызванные обратными вызовами финализатора во время сборки " +"мусора, будут отображаться в стандартном выводе ошибок, но не могут быть " +"распространены. Они обрабатываются так же, как исключения, возникающие из " +"метода :meth:`~object.__del__` объекта или обратного вызова слабой ссылки." msgid "" "When the program exits, each remaining live finalizer is called unless its :" "attr:`atexit` attribute has been set to false. They are called in reverse " "order of creation." msgstr "" +"Коли програма завершує роботу, викликається кожен живий фіналізатор, що " +"залишився, якщо його атрибут :attr:`atexit` не має значення false. Вони " +"називаються у зворотному порядку створення." msgid "" "A finalizer will never invoke its callback during the later part of the :" "term:`interpreter shutdown` when module globals are liable to have been " "replaced by :const:`None`." msgstr "" +"Фіналізатор ніколи не викличе свій зворотний виклик протягом наступної " +"частини :term:`interpreter shutdown`, коли глобальні елементи модуля можуть " +"бути замінені на :const:`None`." msgid "" "If *self* is alive then mark it as dead and return the result of calling " "``func(*args, **kwargs)``. If *self* is dead then return :const:`None`." msgstr "" +"Якщо *self* живе, позначте його як мертве та поверніть результат виклику " +"``func(*args, **kwargs)``. Якщо *self* мертвий, поверніть :const:`None`." msgid "" "If *self* is alive then mark it as dead and return the tuple ``(obj, func, " "args, kwargs)``. If *self* is dead then return :const:`None`." msgstr "" +"Якщо *self* живий, позначте його як мертвий і поверніть кортеж ``(obj, func, " +"args, kwargs)``. Якщо *self* мертвий, поверніть :const:`None`." msgid "" "If *self* is alive then return the tuple ``(obj, func, args, kwargs)``. If " "*self* is dead then return :const:`None`." msgstr "" +"Якщо *self* живе, повертає кортеж ``(obj, func, args, kwargs)``. Якщо *self* " +"мертвий, поверніть :const:`None`." msgid "Property which is true if the finalizer is alive, false otherwise." msgstr "" +"Властивість, яка є істинною, якщо фіналізатор активний, і хибною в іншому " +"випадку." msgid "" "A writable boolean property which by default is true. When the program " "exits, it calls all remaining live finalizers for which :attr:`.atexit` is " "true. They are called in reverse order of creation." msgstr "" +"Булева властивість, доступна для запису, яка за замовчуванням має значення " +"true. Коли програма завершує роботу, вона викликає всі поточні фіналізатори, " +"для яких :attr:`.atexit` має значення true. Вони називаються у зворотному " +"порядку створення." msgid "" "It is important to ensure that *func*, *args* and *kwargs* do not own any " @@ -383,21 +572,27 @@ msgid "" "will never be garbage collected. In particular, *func* should not be a " "bound method of *obj*." msgstr "" +"Важливо переконатися, що *func*, *args* і *kwargs* не мають жодних посилань " +"на *obj*, прямо чи опосередковано, оскільки інакше *obj* ніколи не " +"збиратиметься як сміття. Зокрема, *func* не має бути зв’язаним методом *obj*." msgid "The type object for weak references objects." -msgstr "" +msgstr "Об’єкт типу для об’єктів слабких посилань." msgid "The type object for proxies of objects which are not callable." -msgstr "" +msgstr "Об’єкт типу для проксі об’єктів, які не можна викликати." msgid "The type object for proxies of callable objects." -msgstr "" +msgstr "Об’єкт типу для проксі об’єктів, що викликаються." msgid "" "Sequence containing all the type objects for proxies. This can make it " "simpler to test if an object is a proxy without being dependent on naming " "both proxy types." msgstr "" +"Послідовність, що містить усі об’єкти типу для проксі. Це може спростити " +"перевірку того, чи є об’єкт проксі-сервером, не залежачи від іменування обох " +"типів проксі." msgid ":pep:`205` - Weak References" msgstr "" @@ -406,26 +601,36 @@ msgid "" "The proposal and rationale for this feature, including links to earlier " "implementations and information about similar features in other languages." msgstr "" +"Пропозиція та обґрунтування цієї функції, включаючи посилання на попередні " +"реалізації та інформацію про подібні функції іншими мовами." msgid "Weak Reference Objects" -msgstr "" +msgstr "Слабкі довідкові об’єкти" msgid "" "Weak reference objects have no methods and no attributes besides :attr:`ref." "__callback__`. A weak reference object allows the referent to be obtained, " "if it still exists, by calling it:" msgstr "" +"Слабкі посилальні об’єкти не мають методів і атрибутів, крім :attr:`ref." +"__callback__`. Слабкий посилальний об’єкт дозволяє отримати референт, якщо " +"він все ще існує, викликаючи його:" msgid "" "If the referent no longer exists, calling the reference object returns :" "const:`None`:" msgstr "" +"Якщо референт більше не існує, виклик об’єкта посилання повертає :const:" +"`None`:" msgid "" "Testing that a weak reference object is still live should be done using the " "expression ``ref() is not None``. Normally, application code that needs to " "use a reference object should follow this pattern::" msgstr "" +"Перевірку того, що слабкий еталонний об’єкт все ще живий, слід виконувати за " +"допомогою виразу ``ref() is not None``. Зазвичай код програми, який потребує " +"використання еталонного об’єкта, має відповідати такому шаблону:" msgid "" "# r is a weak reference object\n" @@ -437,6 +642,14 @@ msgid "" " print(\"Object is still live!\")\n" " o.do_something_useful()" msgstr "" +"# r is a weak reference object\n" +"o = r()\n" +"if o is None:\n" +" # referent has been garbage collected\n" +" print(\"Object has been deallocated; can't frobnicate.\")\n" +"else:\n" +" print(\"Object is still live!\")\n" +" o.do_something_useful()" msgid "" "Using a separate test for \"liveness\" creates race conditions in threaded " @@ -444,6 +657,10 @@ msgid "" "invalidated before the weak reference is called; the idiom shown above is " "safe in threaded applications as well as single-threaded applications." msgstr "" +"Використання окремого тесту на \"жвавість\" створює умови гонки в потокових " +"програмах; інший потік може призвести до того, що слабке посилання стане " +"недійсним до виклику слабкого посилання; ідіома, показана вище, безпечна як " +"у багатопотокових програмах, так і в однопотокових програмах." msgid "" "Specialized versions of :class:`ref` objects can be created through " @@ -453,12 +670,21 @@ msgid "" "reference, but could also be used to insert additional processing on calls " "to retrieve the referent." msgstr "" +"Спеціалізовані версії об’єктів :class:`ref` можна створити за допомогою " +"підкласів. Це використовується в реалізації :class:`WeakValueDictionary`, " +"щоб зменшити витрати пам’яті для кожного запису у відображенні. Це може бути " +"найбільш корисним для пов’язування додаткової інформації з посиланням, але " +"також може використовуватися для вставки додаткової обробки викликів для " +"отримання референту." msgid "" "This example shows how a subclass of :class:`ref` can be used to store " "additional information about an object and affect the value that's returned " "when the referent is accessed::" msgstr "" +"У цьому прикладі показано, як підклас :class:`ref` можна використовувати для " +"зберігання додаткової інформації про об’єкт і впливу на значення, яке " +"повертається під час звернення до референта::" msgid "" "import weakref\n" @@ -480,6 +706,24 @@ msgid "" " ob = (ob, self.__counter)\n" " return ob" msgstr "" +"import weakref\n" +"\n" +"class ExtendedRef(weakref.ref):\n" +" def __init__(self, ob, callback=None, /, **annotations):\n" +" super().__init__(ob, callback)\n" +" self.__counter = 0\n" +" for k, v in annotations.items():\n" +" setattr(self, k, v)\n" +"\n" +" def __call__(self):\n" +" \"\"\"Return a pair containing the referent and the number of\n" +" times the reference has been called.\n" +" \"\"\"\n" +" ob = super().__call__()\n" +" if ob is not None:\n" +" self.__counter += 1\n" +" ob = (ob, self.__counter)\n" +" return ob" msgid "Example" msgstr "Przykład" @@ -490,6 +734,11 @@ msgid "" "other data structures without forcing the objects to remain alive, but the " "objects can still be retrieved by ID if they do." msgstr "" +"Цей простий приклад показує, як програма може використовувати ідентифікатори " +"об’єктів для отримання об’єктів, які вона бачила раніше. Потім " +"ідентифікатори об’єктів можна використовувати в інших структурах даних, не " +"змушуючи об’єкти залишатися живими, але об’єкти все одно можна отримати за " +"ідентифікатором, якщо вони це роблять." msgid "" "import weakref\n" @@ -504,32 +753,54 @@ msgid "" "def id2obj(oid):\n" " return _id2obj_dict[oid]" msgstr "" +"import weakref\n" +"\n" +"_id2obj_dict = weakref.WeakValueDictionary()\n" +"\n" +"def remember(obj):\n" +" oid = id(obj)\n" +" _id2obj_dict[oid] = obj\n" +" return oid\n" +"\n" +"def id2obj(oid):\n" +" return _id2obj_dict[oid]" msgid "Finalizer Objects" -msgstr "" +msgstr "Об’єкти фіналізатора" msgid "" "The main benefit of using :class:`finalize` is that it makes it simple to " "register a callback without needing to preserve the returned finalizer " "object. For instance" msgstr "" +"Основна перевага використання :class:`finalize` полягає в тому, що це " +"спрощує реєстрацію зворотного виклику без необхідності зберігати повернутий " +"об’єкт фіналізатора. Наприклад" msgid "" "The finalizer can be called directly as well. However the finalizer will " "invoke the callback at most once." msgstr "" +"Фіналізатор також можна викликати безпосередньо. Однак фіналізатор викличе " +"зворотний виклик щонайбільше один раз." msgid "" "You can unregister a finalizer using its :meth:`~finalize.detach` method. " "This kills the finalizer and returns the arguments passed to the constructor " "when it was created." msgstr "" +"Ви можете скасувати реєстрацію фіналізатора за допомогою його методу :meth:" +"`~finalize.detach`. Це вбиває фіналізатор і повертає аргументи, передані " +"конструктору під час його створення." msgid "" "Unless you set the :attr:`~finalize.atexit` attribute to :const:`False`, a " "finalizer will be called when the program exits if it is still alive. For " "instance" msgstr "" +"Якщо ви не встановили для атрибута :attr:`~finalize.atexit` значення :const:" +"`False`, фіналізатор буде викликаний під час завершення програми, якщо вона " +"все ще жива. Наприклад" msgid "" ">>> obj = Object()\n" @@ -538,29 +809,39 @@ msgid "" ">>> exit()\n" "obj dead or exiting" msgstr "" +">>> obj = Object()\n" +">>> weakref.finalize(obj, print, \"obj dead or exiting\")\n" +"\n" +">>> exit()\n" +"obj dead or exiting" msgid "Comparing finalizers with :meth:`~object.__del__` methods" -msgstr "" +msgstr "Сравнение финализаторов с методами :meth:`~object.__del__`" msgid "" "Suppose we want to create a class whose instances represent temporary " "directories. The directories should be deleted with their contents when the " "first of the following events occurs:" msgstr "" +"Припустимо, ми хочемо створити клас, екземпляри якого представляють " +"тимчасові каталоги. Каталоги мають бути видалені разом із їхнім вмістом, " +"коли станеться перша з наступних подій:" msgid "the object is garbage collected," -msgstr "" +msgstr "об'єкт вивезено сміття," msgid "the object's :meth:`!remove` method is called, or" -msgstr "" +msgstr "вызывается метод :meth:`!remove` объекта, или" msgid "the program exits." -msgstr "" +msgstr "програма виходить." msgid "" "We might try to implement the class using a :meth:`~object.__del__` method " "as follows::" msgstr "" +"Мы могли бы попытаться реализовать класс, используя метод :meth:`~object." +"__del__` следующим образом:" msgid "" "class TempDir:\n" @@ -579,6 +860,21 @@ msgid "" " def __del__(self):\n" " self.remove()" msgstr "" +"class TempDir:\n" +" def __init__(self):\n" +" self.name = tempfile.mkdtemp()\n" +"\n" +" def remove(self):\n" +" if self.name is not None:\n" +" shutil.rmtree(self.name)\n" +" self.name = None\n" +"\n" +" @property\n" +" def removed(self):\n" +" return self.name is None\n" +"\n" +" def __del__(self):\n" +" self.remove()" msgid "" "Starting with Python 3.4, :meth:`~object.__del__` methods no longer prevent " @@ -586,18 +882,28 @@ msgid "" "longer forced to :const:`None` during :term:`interpreter shutdown`. So this " "code should work without any issues on CPython." msgstr "" +"Начиная с Python 3.4, методы :meth:`~object.__del__` больше не предотвращают " +"сбор мусора ссылочных циклов, а глобальные переменные модуля больше не " +"принудительно :const:`None` во время :term:`interpreter Shutdown`. Таким " +"образом, этот код должен работать без проблем на CPython." msgid "" "However, handling of :meth:`~object.__del__` methods is notoriously " "implementation specific, since it depends on internal details of the " "interpreter's garbage collector implementation." msgstr "" +"Однако обработка методов :meth:`~object.__del__`, как известно, зависит от " +"конкретной реализации, поскольку она зависит от внутренних деталей " +"реализации сборщика мусора интерпретатора." msgid "" "A more robust alternative can be to define a finalizer which only references " "the specific functions and objects that it needs, rather than having access " "to the full state of the object::" msgstr "" +"Більш надійною альтернативою може бути визначення фіналізатора, який " +"посилається лише на певні функції та об’єкти, які йому потрібні, а не має " +"доступу до повного стану об’єкта:" msgid "" "class TempDir:\n" @@ -612,18 +918,36 @@ msgid "" " def removed(self):\n" " return not self._finalizer.alive" msgstr "" +"class TempDir:\n" +" def __init__(self):\n" +" self.name = tempfile.mkdtemp()\n" +" self._finalizer = weakref.finalize(self, shutil.rmtree, self.name)\n" +"\n" +" def remove(self):\n" +" self._finalizer()\n" +"\n" +" @property\n" +" def removed(self):\n" +" return not self._finalizer.alive" msgid "" "Defined like this, our finalizer only receives a reference to the details it " "needs to clean up the directory appropriately. If the object never gets " "garbage collected the finalizer will still be called at exit." msgstr "" +"Визначений таким чином, наш фіналізатор отримує лише посилання на деталі, " +"необхідні для належного очищення каталогу. Якщо об’єкт ніколи не отримує " +"сміття, фіналізатор все одно буде викликаний при виході." msgid "" "The other advantage of weakref based finalizers is that they can be used to " "register finalizers for classes where the definition is controlled by a " "third party, such as running code when a module is unloaded::" msgstr "" +"Інша перевага фіналізаторів на основі слабких рефлексів полягає в тому, що " +"їх можна використовувати для реєстрації фіналізаторів для класів, де " +"визначення контролює третя сторона, наприклад, запуск коду, коли модуль " +"вивантажується:" msgid "" "import weakref, sys\n" @@ -631,6 +955,10 @@ msgid "" " # implicit reference to the module globals from the function body\n" "weakref.finalize(sys.modules[__name__], unloading_module)" msgstr "" +"import weakref, sys\n" +"def unloading_module():\n" +" # implicit reference to the module globals from the function body\n" +"weakref.finalize(sys.modules[__name__], unloading_module)" msgid "" "If you create a finalizer object in a daemonic thread just as the program " @@ -638,3 +966,8 @@ msgid "" "at exit. However, in a daemonic thread :func:`atexit.register`, ``try: ... " "finally: ...`` and ``with: ...`` do not guarantee that cleanup occurs either." msgstr "" +"Якщо ви створюєте об’єкт фіналізатора в демонічному потоці саме під час " +"виходу з програми, тоді існує ймовірність того, що фіналізатор не буде " +"викликаний під час виходу. Однак у демонічному потоці :func:`atexit." +"register`, ``try: ... finally: ...`` і ``with: ...`` також не гарантують " +"виконання очищення." diff --git a/library/webbrowser.po b/library/webbrowser.po index 3406844906..b4ba3b3d1c 100644 --- a/library/webbrowser.po +++ b/library/webbrowser.po @@ -4,8 +4,7 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" @@ -13,8 +12,8 @@ msgstr "" "Project-Id-Version: Python 3.13\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" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -25,16 +24,19 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!webbrowser` --- Convenient web-browser controller" -msgstr "" +msgstr ":mod:`!webbrowser` --- Удобный контроллер веб-браузера" 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 " "displaying web-based documents to users. Under most circumstances, simply " "calling the :func:`.open` function from this module will do the right thing." msgstr "" +"Модуль :mod:`webbrowser` забезпечує інтерфейс високого рівня, який дозволяє " +"відображати веб-документи користувачам. У більшості випадків простий виклик " +"функції :func:`.open` з цього модуля буде правильним." msgid "" "Under Unix, graphical browsers are preferred under X11, but text-mode " @@ -42,6 +44,10 @@ msgid "" "display isn't available. If text-mode browsers are used, the calling " "process will block until the user exits the browser." msgstr "" +"В Unix графічні браузери є кращими під X11, але браузери текстового режиму " +"будуть використовуватися, якщо графічні браузери недоступні або дисплей X11 " +"недоступний. Якщо використовуються браузери текстового режиму, процес " +"виклику блокуватиметься, доки користувач не вийде з браузера." msgid "" "If the environment variable :envvar:`BROWSER` exists, it is interpreted as " @@ -59,6 +65,11 @@ msgid "" "remote browsers are not available on Unix, the controlling process will " "launch a new browser and wait." msgstr "" +"Для платформ, відмінних від Unix, або коли в Unix доступний віддалений " +"браузер, процес керування не чекатиме, поки користувач закінчить роботу з " +"браузером, а дозволить віддаленому браузеру підтримувати власні вікна на " +"дисплеї. Якщо віддалені браузери недоступні в Unix, процес керування " +"запустить новий браузер і зачекає." msgid "" "On iOS, the :envvar:`BROWSER` environment variable, as well as any arguments " @@ -68,36 +79,46 @@ msgid "" "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 "" +"В iOS переменная среды :envvar:`BROWSER`, а также любые аргументы, " +"управляющие автоподнятием, настройками браузера и созданием новой вкладки/" +"окна, будут игнорироваться. Веб-страницы *всегда* открываются в " +"предпочитаемом пользователем браузере на новой вкладке, при этом браузер " +"выводится на передний план. Для использования модуля :mod:`webbrowser` в iOS " +"требуется модуль :mod:`ctypes`. Если :mod:`ctypes` недоступен, вызов :func:`." +"open` завершится неудачно." 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 " "optional parameters:" msgstr "" +"Скрипт :program:`webbrowser` можно использовать в качестве интерфейса " +"командной строки для модуля. Он принимает URL-адрес в качестве аргумента. Он " +"принимает следующие необязательные параметры:" msgid "Opens the URL in a new browser window, if possible." -msgstr "" +msgstr "Abre a URL em uma nova janela do navegador, se possível." msgid "Opens the URL in a new browser tab." -msgstr "" +msgstr "Abre a URL em uma nova aba do navegador." msgid "The options are, naturally, mutually exclusive. Usage example:" -msgstr "" +msgstr "As opções são, naturalmente, mutuamente exclusivas. Exemplo de uso:" msgid "python -m webbrowser -t \"https://www.python.org\"" -msgstr "" +msgstr "python -m webbrowser -t \"https://www.python.org\"" msgid "Availability" msgstr "Dostępność" msgid "The following exception is defined:" -msgstr "" +msgstr "Визначено такий виняток:" msgid "Exception raised when a browser control error occurs." -msgstr "" +msgstr "Виняток виникає, коли виникає помилка керування браузером." msgid "The following functions are defined:" -msgstr "" +msgstr "Визначаються такі функції:" msgid "" "Display *url* using the default browser. If *new* is 0, the *url* is opened " @@ -107,37 +128,58 @@ msgid "" "possible (note that under many window managers this will occur regardless of " "the setting of this variable)." msgstr "" +"Відображати *url* за допомогою браузера за умовчанням. Якщо *new* дорівнює " +"0, *url* відкривається в тому ж вікні браузера, якщо це можливо. Якщо *new* " +"дорівнює 1, відкривається нове вікно браузера, якщо це можливо. Якщо *new* " +"дорівнює 2, за можливості відкривається нова сторінка браузера " +"(\"вкладка\"). Якщо *autoraise* має значення ``True``, вікно відкривається, " +"якщо це можливо (зверніть увагу, що в багатьох віконних менеджерах це " +"відбуватиметься незалежно від налаштування цієї змінної)." msgid "" "Returns ``True`` if a browser was successfully launched, ``False`` otherwise." msgstr "" +"Возвращает True, если браузер был успешно запущен, в противном случае — " +"False." msgid "" "Note that on some platforms, trying to open a filename using this function, " "may work and start the operating system's associated program. However, this " "is neither supported nor portable." msgstr "" +"Зауважте, що на деяких платформах спроба відкрити ім’я файлу за допомогою " +"цієї функції може спрацювати та запустити відповідну програму операційної " +"системи. Однак це не підтримується та не переноситься." msgid "" "Raises an :ref:`auditing event ` ``webbrowser.open`` with argument " "``url``." msgstr "" +"Викликає :ref:`подію аудиту ` ``webbrowser.open`` з аргументом " +"``url``." msgid "" "Open *url* in a new window of the default browser, if possible, otherwise, " "open *url* in the only browser window." msgstr "" +"Відкрийте *url* у новому вікні браузера за замовчуванням, якщо можливо, " +"інакше відкрийте *url* в єдиному вікні браузера." msgid "" "Open *url* in a new page (\"tab\") of the default browser, if possible, " "otherwise equivalent to :func:`open_new`." msgstr "" +"Відкрийте *url* на новій сторінці (\"вкладці\") веб-переглядача за " +"умовчанням, якщо це можливо, інакше еквівалентно :func:`open_new`." msgid "" "Return a controller object for the browser type *using*. If *using* is " "``None``, return a controller for a default browser appropriate to the " "caller's environment." msgstr "" +"Повертає об’єкт контролера для типу браузера *using*. Якщо *using* має " +"значення ``None``, поверніть контролер для браузера за замовчуванням, який " +"відповідає середовищу абонента." msgid "" "Register the browser type *name*. Once a browser type is registered, the :" @@ -146,6 +188,11 @@ msgid "" "without parameters to create an instance when needed. If *instance* is " "provided, *constructor* will never be called, and may be ``None``." msgstr "" +"Зареєструйте тип браузера *ім'я*. Після реєстрації типу браузера функція :" +"func:`get` може повернути контролер для цього типу браузера. Якщо " +"*екземпляр* не надано або має значення ``None``, *конструктор* буде " +"викликано без параметрів для створення екземпляра за потреби. Якщо надано " +"*екземпляр*, *конструктор* ніколи не буде викликаний і може бути ``None``." msgid "" "Setting *preferred* to ``True`` makes this browser a preferred result for a :" @@ -154,21 +201,29 @@ msgid "" "func:`get` with a nonempty argument matching the name of a handler you " "declare." msgstr "" +"Якщо встановити *preferred* на ``True``, цей браузер стане кращим " +"результатом для виклику :func:`get` без аргументів. В іншому випадку ця " +"точка входу корисна, лише якщо ви плануєте встановити змінну :envvar:" +"`BROWSER` або викликати :func:`get` з непорожнім аргументом, який відповідає " +"імені обробника, який ви оголошуєте." msgid "*preferred* keyword-only parameter was added." -msgstr "" +msgstr "Додано *переважний* параметр лише для ключового слова." msgid "" "A number of browser types are predefined. This table gives the type names " "that may be passed to the :func:`get` function and the corresponding " "instantiations for the controller classes, all defined in this module." msgstr "" +"Кілька типів браузерів визначено заздалегідь. У цій таблиці наведено назви " +"типів, які можна передати функції :func:`get`, і відповідні екземпляри для " +"класів контролерів, усі визначені в цьому модулі." msgid "Type Name" -msgstr "" +msgstr "Nama Tipe" msgid "Class Name" -msgstr "" +msgstr "Nama Kelas" msgid "Notes" msgstr "Notatki" @@ -183,25 +238,25 @@ msgid "``'firefox'``" msgstr "``'firefox'``" msgid "``'epiphany'``" -msgstr "" +msgstr "``'epiphany'``" msgid "``Epiphany('epiphany')``" -msgstr "" +msgstr "``Epiphany('epiphany')``" msgid "``'kfmclient'``" -msgstr "" +msgstr "``'kfmclient'``" msgid "``Konqueror()``" -msgstr "" +msgstr "``Konqueror()``" msgid "\\(1)" msgstr "\\(1)" msgid "``'konqueror'``" -msgstr "" +msgstr "``'konqueror'``" msgid "``'kfm'``" -msgstr "" +msgstr "``'kfm'``" msgid "``'opera'``" msgstr "``'opera'``" @@ -210,34 +265,34 @@ msgid "``Opera()``" msgstr "``Opera()``" msgid "``'links'``" -msgstr "" +msgstr "``'links'``" msgid "``GenericBrowser('links')``" -msgstr "" +msgstr "``GenericBrowser('links')``" msgid "``'elinks'``" -msgstr "" +msgstr "``'elinks'``" msgid "``Elinks('elinks')``" -msgstr "" +msgstr "``Elinks('elinks')``" msgid "``'lynx'``" -msgstr "" +msgstr "``'lynx'``" 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)" @@ -246,28 +301,28 @@ msgid "``'macosx'``" msgstr "``'macosx'``" msgid "``MacOSXOSAScript('default')``" -msgstr "" +msgstr "``MacOSXOSAScript('default')``" msgid "\\(3)" msgstr "\\(3)" msgid "``'safari'``" -msgstr "" +msgstr "``'safari'``" 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'``" @@ -301,36 +356,49 @@ msgid "" "program:`konqueror` command with KDE 2 --- the implementation selects the " "best strategy for running Konqueror." msgstr "" +"«Konqueror» — это файловый менеджер среды рабочего стола KDE для Unix, и его " +"имеет смысл использовать только в том случае, если KDE запущен. Было бы " +"неплохо найти какой-нибудь способ надежного обнаружения KDE; переменной :" +"envvar:`!KDEDIR` недостаточно. Также обратите внимание, что имя «kfm» " +"используется даже при использовании команды :program:`konqueror` с KDE 2 — " +"реализация выбирает лучшую стратегию для запуска Konqueror." msgid "Only on Windows platforms." -msgstr "" +msgstr "Тільки на платформах Windows." msgid "Only on macOS." -msgstr "" +msgstr "Только на MacOS." msgid "Only on iOS." -msgstr "" +msgstr "Только на iOS." msgid "" "A new :class:`!MacOSXOSAScript` class has been added and is used on Mac " "instead of the previous :class:`!MacOSX` class. This adds support for " "opening browsers not currently set as the OS default." msgstr "" +"Был добавлен новый класс :class:`!MacOSXOSAScript`, который используется на " +"Mac вместо предыдущего класса :class:`!MacOSX`. Это добавляет поддержку " +"открытия браузеров, которые в настоящее время не установлены в ОС по " +"умолчанию." msgid "Support for Chrome/Chromium has been added." -msgstr "" +msgstr "Додано підтримку Chrome/Chromium." msgid "" "Support for several obsolete browsers has been removed. Removed browsers " "include Grail, Mosaic, Netscape, Galeon, Skipstone, Iceape, and Firefox " "versions 35 and below." msgstr "" +"Удалена поддержка нескольких устаревших браузеров. Удаленные браузеры " +"включают Grail, Mosaic, Netscape, Galeon, Skipstone, Iceape и Firefox версии " +"35 и ниже." msgid "Support for iOS has been added." -msgstr "" +msgstr "Добавлена ​​поддержка iOS." msgid "Here are some simple examples::" -msgstr "" +msgstr "Ось декілька простих прикладів:" msgid "" "url = 'https://docs.python.org/'\n" @@ -341,34 +409,49 @@ msgid "" "# Open URL in new window, raising the window if possible.\n" "webbrowser.open_new(url)" msgstr "" +"URL = 'https://docs.python.org/' # Открыть URL-адрес в новой вкладке, если " +"окно браузера уже открыто. webbrowser.open_new_tab(url) # Откройте URL-адрес " +"в новом окне, если возможно, поднимите окно. webbrowser.open_new(url)" msgid "Browser Controller Objects" -msgstr "" +msgstr "Об’єкти контролера браузера" msgid "" "Browser controllers provide the :attr:`~controller.name` attribute, and the " "following three methods which parallel module-level convenience functions:" msgstr "" +"Os controladores de navegador fornecem o atributo :attr:`~controller.name` e " +"os três métodos a seguir que são paralelos às funções de conveniência em " +"nível de módulo:" msgid "System-dependent name for the browser." -msgstr "" +msgstr "Системно-зависимое имя браузера." msgid "" "Display *url* using the browser handled by this controller. If *new* is 1, a " "new browser window is opened if possible. If *new* is 2, a new browser page " "(\"tab\") is opened if possible." msgstr "" +"Відображення *url* за допомогою браузера, керованого цим контролером. Якщо " +"*new* дорівнює 1, відкривається нове вікно браузера, якщо це можливо. Якщо " +"*new* дорівнює 2, за можливості відкривається нова сторінка браузера " +"(\"вкладка\")." msgid "" "Open *url* in a new window of the browser handled by this controller, if " "possible, otherwise, open *url* in the only browser window. Alias :func:" "`open_new`." msgstr "" +"Відкрийте *url* у новому вікні браузера, який обробляє цей контролер, якщо " +"можливо, інакше відкрийте *url* в єдиному вікні браузера. Псевдонім :func:" +"`open_new`." msgid "" "Open *url* in a new page (\"tab\") of the browser handled by this " "controller, if possible, otherwise equivalent to :func:`open_new`." msgstr "" +"Відкрийте *url* на новій сторінці (\"вкладці\") браузера, який обробляється " +"цим контролером, якщо можливо, інакше еквівалентно :func:`open_new`." msgid "Footnotes" msgstr "Przypisy" @@ -377,3 +460,6 @@ msgid "" "Executables named here without a full path will be searched in the " "directories given in the :envvar:`PATH` environment variable." msgstr "" +"Berkas yang dapat dieksekusi, *executable*, yang disebutkan di sini tanpa " +"path lengkap akan dicari di direktori yang diberikan di :envvar:`PATH` " +"variabel lingkungan." diff --git a/library/winreg.po b/library/winreg.po index c6d7ee992d..0443eb4c83 100644 --- a/library/winreg.po +++ b/library/winreg.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Michał Biliński , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -206,7 +204,7 @@ msgid "The result is a tuple of 3 items:" msgstr "" msgid "Index" -msgstr "" +msgstr "Indeks" msgid "Meaning" msgstr "Znaczenie" @@ -791,7 +789,7 @@ msgid "" msgstr "" msgid "% (percent)" -msgstr "" +msgstr "% (процент)" msgid "environment variables expansion (Windows)" msgstr "" diff --git a/library/winsound.po b/library/winsound.po index 07ee3caa7f..b9b7cd31d5 100644 --- a/library/winsound.po +++ b/library/winsound.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2025-03-21 14:18+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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,13 +24,16 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!winsound` --- Sound-playing interface for Windows" -msgstr "" +msgstr ":mod:`!winsound` --- Интерфейс воспроизведения звука для Windows" msgid "" "The :mod:`winsound` module provides access to the basic sound-playing " "machinery provided by Windows platforms. It includes functions and several " "constants." msgstr "" +"Модуль :mod:`winsound` надає доступ до основного механізму відтворення " +"звуку, що надається платформами Windows. Він включає функції та декілька " +"констант." msgid "" "Beep the PC's speaker. The *frequency* parameter specifies frequency, in " @@ -39,6 +42,11 @@ msgid "" "last. If the system is not able to beep the speaker, :exc:`RuntimeError` is " "raised." msgstr "" +"Подати звуковий сигнал у динамік ПК. Параметр *frequency* визначає частоту " +"звуку в герцах і має бути в діапазоні від 37 до 32 767. Параметр " +"*тривалість* визначає кількість мілісекунд, протягом якої має тривати звук. " +"Якщо система не може подати звуковий сигнал у динамік, виникає :exc:" +"`RuntimeError`." msgid "" "Call the underlying :c:func:`!PlaySound` function from the Platform API. " @@ -49,6 +57,14 @@ msgid "" "waveform sound is stopped. If the system indicates an error, :exc:" "`RuntimeError` is raised." msgstr "" +"Вызовите базовую функцию :c:func:`!PlaySound` из API платформы. Параметр " +"*sound* может быть именем файла, псевдонимом системного звука, аудиоданными " +"в виде :term:`байтового объекта` или ``None``. Его интерпретация зависит от " +"значения *flags*, которое может представлять собой комбинацию констант, " +"объединенных побитовым ИЛИ, описанных ниже. Если параметр *sound* имеет " +"значение «None», любой воспроизводимый в данный момент звук сигнала " +"останавливается. Если система указывает на ошибку, возникает :exc:" +"`RuntimeError`." msgid "" "Call the underlying :c:func:`!MessageBeep` function from the Platform API. " @@ -60,11 +76,19 @@ msgid "" "played otherwise. If the system indicates an error, :exc:`RuntimeError` is " "raised." msgstr "" +"Вызовите базовую функцию :c:func:`!MessageBeep` из API платформы. При этом " +"воспроизводится звук, указанный в реестре. Аргумент *type* указывает, какой " +"звук воспроизводить; возможные значения: ``-1``, ``MB_ICONASTERISK``, " +"``MB_ICONEXCLAMATION``, ``MB_ICONHAND``, ``MB_ICONQUESTION`` и ``MB_OK``, " +"все они описаны ниже. Значение ``-1`` производит «простой звуковой сигнал»; " +"это последний запасной вариант, если иначе звук невозможно воспроизвести. " +"Если система указывает на ошибку, возникает :exc:`RuntimeError`." msgid "" "The *sound* parameter is the name of a WAV file. Do not use with :const:" "`SND_ALIAS`." msgstr "" +"Параметр *sound* — це ім'я файлу WAV. Не використовуйте з :const:`SND_ALIAS`." msgid "" "The *sound* parameter is a sound association name from the registry. If the " @@ -72,47 +96,53 @@ msgid "" "`SND_NODEFAULT` is also specified. If no default sound is registered, raise :" "exc:`RuntimeError`. Do not use with :const:`SND_FILENAME`." msgstr "" +"Параметр *sound* — це ім’я звукової асоціації з реєстру. Якщо реєстр не " +"містить такої назви, відтворюйте системний звук за замовчуванням, якщо також " +"не вказано :const:`SND_NODEFAULT`. Якщо стандартний звук не зареєстровано, " +"викликайте :exc:`RuntimeError`. Не використовуйте з :const:`SND_FILENAME`." msgid "" "All Win32 systems support at least the following; most systems support many " "more:" msgstr "" +"Усі системи Win32 підтримують щонайменше наступне; більшість систем " +"підтримують набагато більше:" msgid ":func:`PlaySound` *name*" -msgstr "" +msgstr ":func:`PlaySound` *назва*" msgid "Corresponding Control Panel Sound name" -msgstr "" +msgstr "Відповідна назва звуку панелі керування" msgid "``'SystemAsterisk'``" -msgstr "" +msgstr "``'SystemAsterisk'``" msgid "Asterisk" -msgstr "" +msgstr "Зірочка" msgid "``'SystemExclamation'``" -msgstr "" +msgstr "``'SystemExclamation'``" msgid "Exclamation" -msgstr "" +msgstr "Вигук" msgid "``'SystemExit'``" -msgstr "" +msgstr "``'SystemExit'``" msgid "Exit Windows" -msgstr "" +msgstr "Вийдіть з Windows" msgid "``'SystemHand'``" -msgstr "" +msgstr "``'SystemHand'``" msgid "Critical Stop" -msgstr "" +msgstr "Критична зупинка" msgid "``'SystemQuestion'``" -msgstr "" +msgstr "``'SystemQuestion'``" msgid "Question" -msgstr "" +msgstr "Питання" msgid "For example::" msgstr "Dla przykładu::" @@ -126,56 +156,74 @@ msgid "" "# \"*\" probably isn't the registered name of any sound).\n" "winsound.PlaySound(\"*\", winsound.SND_ALIAS)" msgstr "" +"import winsound\n" +"# Play Windows exit sound.\n" +"winsound.PlaySound(\"SystemExit\", winsound.SND_ALIAS)\n" +"\n" +"# Probably play Windows default sound, if any is registered (because\n" +"# \"*\" probably isn't the registered name of any sound).\n" +"winsound.PlaySound(\"*\", winsound.SND_ALIAS)" msgid "" "Play the sound repeatedly. The :const:`SND_ASYNC` flag must also be used to " "avoid blocking. Cannot be used with :const:`SND_MEMORY`." msgstr "" +"Повторюйте звук. Прапорець :const:`SND_ASYNC` також слід використовувати, " +"щоб уникнути блокування. Не можна використовувати з :const:`SND_MEMORY`." msgid "" "The *sound* parameter to :func:`PlaySound` is a memory image of a WAV file, " "as a :term:`bytes-like object`." msgstr "" +"Параметр *sound* для :func:`PlaySound` — це образ пам’яті файлу WAV, як :" +"term:`bytes-like object`." msgid "" "This module does not support playing from a memory image asynchronously, so " "a combination of this flag and :const:`SND_ASYNC` will raise :exc:" "`RuntimeError`." msgstr "" +"Цей модуль не підтримує асинхронне відтворення з образу пам’яті, тому " +"комбінація цього прапорця та :const:`SND_ASYNC` викличе :exc:`RuntimeError`." msgid "Stop playing all instances of the specified sound." -msgstr "" +msgstr "Зупинити відтворення всіх екземплярів зазначеного звуку." msgid "This flag is not supported on modern Windows platforms." -msgstr "" +msgstr "Цей прапорець не підтримується на сучасних платформах Windows." msgid "Return immediately, allowing sounds to play asynchronously." -msgstr "" +msgstr "Поверніться негайно, дозволяючи звукам відтворюватися асинхронно." msgid "" "If the specified sound cannot be found, do not play the system default sound." msgstr "" +"Якщо вказаний звук не знайдено, не відтворюйте системний звук за " +"замовчуванням." msgid "Do not interrupt sounds currently playing." -msgstr "" +msgstr "Не переривати звуки, які зараз відтворюються." msgid "Return immediately if the sound driver is busy." -msgstr "" +msgstr "Негайно поверніться, якщо звуковий драйвер зайнятий." msgid "" "The *sound* parameter is an application-specific alias in the registry. This " "flag can be combined with the :const:`SND_ALIAS` flag to specify an " "application-defined sound alias." msgstr "" +"O parâmetro *sound* é um apelido específico da aplicação no registro. Este " +"sinalizador pode ser combinado com o sinalizador :const:`SND_ALIAS` para " +"especificar um apelido de som definido pela aplicação." msgid "Play the ``SystemDefault`` sound." -msgstr "" +msgstr "Відтворіть звук ``SystemDefault``." msgid "Play the ``SystemExclamation`` sound." -msgstr "" +msgstr "Відтворіть звук ``SystemExclamation``." msgid "Play the ``SystemHand`` sound." -msgstr "" +msgstr "Відтворіть звук ``SystemHand``." msgid "Play the ``SystemQuestion`` sound." -msgstr "" +msgstr "Відтворіть звук ``SystemQuestion``." diff --git a/library/wsgiref.po b/library/wsgiref.po index 8f560a4925..b9836206e7 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-2025, 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.11\n" +"Project-Id-Version: Python 3.13\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: 2025-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-05-08 05:10+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,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:`wsgiref` --- WSGI Utilities and Reference Implementation" -msgstr "" +msgid ":mod:`!wsgiref` --- WSGI Utilities and Reference Implementation" +msgstr ":mod:`!wsgiref` --- Утилиты WSGI и эталонная реализация" msgid "**Source code:** :source:`Lib/wsgiref`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/wsgiref`" msgid "" "The Web Server Gateway Interface (WSGI) is a standard interface between web " @@ -36,6 +35,10 @@ msgid "" "interface makes it easy to use an application that supports WSGI with a " "number of different web servers." msgstr "" +"Інтерфейс шлюзу веб-сервера (WSGI) — це стандартний інтерфейс між програмним " +"забезпеченням веб-сервера та веб-додатками, написаними на Python. Наявність " +"стандартного інтерфейсу дозволяє легко використовувати програму, яка " +"підтримує WSGI, з кількома різними веб-серверами." msgid "" "Only authors of web servers and programming frameworks need to know every " @@ -43,6 +46,10 @@ msgid "" "every detail of WSGI just to install a WSGI application or to write a web " "application using an existing framework." msgstr "" +"Лише автори веб-серверів і фреймворків програмування повинні знати кожну " +"деталь і наріжний випадок дизайну WSGI. Вам не потрібно розуміти кожну " +"деталь WSGI, щоб просто встановити програму WSGI або написати веб-програму " +"за допомогою існуючої структури." msgid "" ":mod:`wsgiref` is a reference implementation of the WSGI specification that " @@ -53,14 +60,24 @@ msgid "" "that checks WSGI servers and applications for conformance to the WSGI " "specification (:pep:`3333`)." msgstr "" +":mod:`wsgiref` — это эталонная реализация спецификации WSGI, которую можно " +"использовать для добавления поддержки WSGI на веб-сервер или платформу. Он " +"предоставляет утилиты для управления переменными среды WSGI и заголовками " +"ответов, базовые классы для реализации серверов WSGI, демонстрационный HTTP-" +"сервер, обслуживающий приложения WSGI, типы для статической проверки типов и " +"инструмент проверки, который проверяет серверы и приложения WSGI на " +"соответствие спецификации WSGI. (:pep:`3333`)." msgid "" "See `wsgi.readthedocs.io `_ for more " "information about WSGI, and links to tutorials and other resources." msgstr "" +"Перегляньте `wsgi.readthedocs.io `_ для " +"отримання додаткової інформації про WSGI, а також посилання на навчальні " +"посібники та інші ресурси." msgid ":mod:`wsgiref.util` -- WSGI environment utilities" -msgstr "" +msgstr ":mod:`wsgiref.util` -- утиліти середовища WSGI" msgid "" "This module provides a variety of utility functions for working with WSGI " @@ -70,12 +87,21 @@ msgid "" "please see :pep:`3333` for a detailed specification and :data:`~wsgiref." "types.WSGIEnvironment` for a type alias that can be used in type annotations." msgstr "" +"Этот модуль предоставляет множество служебных функций для работы со средами " +"WSGI. Среда WSGI — это словарь, содержащий переменные HTTP-запроса, как " +"описано в :pep:`3333`. Все функции, принимающие параметр *environ*, ожидают " +"предоставления WSGI-совместимого словаря; пожалуйста, смотрите :pep:`3333` " +"для подробной спецификации и :data:`~wsgiref.types.WSGIEnvironment` для " +"получения псевдонима типа, который можно использовать в аннотациях типа." msgid "" "Return a guess for whether ``wsgi.url_scheme`` should be \"http\" or " "\"https\", by checking for a ``HTTPS`` environment variable in the *environ* " "dictionary. The return value is a string." msgstr "" +"Поверніть припущення щодо того, чи має ``wsgi.url_scheme`` бути \"http\" чи " +"\"https\", перевіривши наявність змінної середовища ``HTTPS`` у словнику " +"*environ*. Поверненим значенням є рядок." msgid "" "This function is useful when creating a gateway that wraps CGI or a CGI-like " @@ -84,6 +110,11 @@ msgid "" "a request is received via SSL. So, this function returns \"https\" if such " "a value is found, and \"http\" otherwise." msgstr "" +"Ця функція корисна під час створення шлюзу, який обгортає CGI або CGI-" +"подібний протокол, наприклад FastCGI. Як правило, сервери, що надають такі " +"протоколи, включатимуть змінну ``HTTPS`` зі значенням \"1\", \"yes\" або " +"\"on\", коли запит надходить через SSL. Таким чином, ця функція повертає " +"\"https\", якщо таке значення знайдено, і \"http\" в іншому випадку." msgid "" "Return the full request URI, optionally including the query string, using " @@ -91,23 +122,34 @@ msgid "" "If *include_query* is false, the query string is not included in the " "resulting URI." msgstr "" +"Поверніть повний URI запиту, необов’язково включаючи рядок запиту, " +"використовуючи алгоритм, знайдений у розділі \"Реконструкція URL-адреси\" :" +"pep:`3333`. Якщо *include_query* має значення false, рядок запиту не " +"включається в отриманий URI." msgid "" "Similar to :func:`request_uri`, except that the ``PATH_INFO`` and " "``QUERY_STRING`` variables are ignored. The result is the base URI of the " "application object addressed by the request." msgstr "" +"Подібно до :func:`request_uri`, за винятком того, що змінні ``PATH_INFO`` і " +"``QUERY_STRING`` ігноруються. Результатом є базовий URI об’єкта програми, " +"адресованого запитом." msgid "" "Shift a single name from ``PATH_INFO`` to ``SCRIPT_NAME`` and return the " "name. The *environ* dictionary is *modified* in-place; use a copy if you " "need to keep the original ``PATH_INFO`` or ``SCRIPT_NAME`` intact." msgstr "" +"Перемістіть одну назву з ``PATH_INFO`` на ``SCRIPT_NAME`` і поверніть назву. " +"Словник *environ* *змінено* на місці; використовуйте копію, якщо вам " +"потрібно зберегти оригінальний ``PATH_INFO`` або ``SCRIPT_NAME`` " +"недоторканим." msgid "" "If there are no remaining path segments in ``PATH_INFO``, ``None`` is " "returned." -msgstr "" +msgstr "Якщо в ``PATH_INFO`` немає сегментів шляху, повертається ``None``." msgid "" "Typically, this routine is used to process each portion of a request URI " @@ -121,6 +163,16 @@ msgid "" "bar``. That is, ``SCRIPT_NAME`` will change from ``/foo`` to ``/foo/bar``, " "and ``PATH_INFO`` will change from ``/bar/baz`` to ``/baz``." msgstr "" +"Як правило, ця підпрограма використовується для обробки кожної частини шляху " +"URI запиту, наприклад, щоб трактувати шлях як серію ключів словника. Ця " +"процедура змінює передане середовище, щоб зробити його придатним для виклику " +"іншої програми WSGI, яка розташована за цільовим URI. Наприклад, якщо за " +"адресою ``/foo`` є програма WSGI, а шлях URI запиту — ``/foo/bar/baz``, а " +"програма WSGI за адресою ``/foo`` викликає :func:`shift_path_info`, він " +"отримає рядок \"bar\", і середовище буде оновлено, щоб воно було придатним " +"для передачі до програми WSGI за адресою ``/foo/bar``. Тобто ``SCRIPT_NAME`` " +"зміниться з ``/foo`` на ``/foo/bar``, а ``PATH_INFO`` зміниться з ``/bar/" +"baz`` на ``/baz``." msgid "" "When ``PATH_INFO`` is just a \"/\", this routine returns an empty string and " @@ -130,9 +182,17 @@ msgid "" "difference between URIs ending in ``/x`` from ones ending in ``/x/`` when " "using this routine to do object traversal." msgstr "" +"Коли ``PATH_INFO`` є просто \"/\", ця підпрограма повертає порожній рядок і " +"додає кінцеву косу риску до ``SCRIPT_NAME``, навіть якщо порожні сегменти " +"шляху зазвичай ігноруються, а ``SCRIPT_NAME`` зазвичай не закінчуються косою " +"рискою. Це навмисна поведінка, щоб гарантувати, що програма може визначити " +"різницю між URI, що закінчуються на ``/x``, від тих, що закінчуються на ``/x/" +"`` під час використання цієї процедури для обходу об’єктів." msgid "Update *environ* with trivial defaults for testing purposes." msgstr "" +"Оновіть *environ* з тривіальними параметрами за замовчуванням для цілей " +"тестування." msgid "" "This routine adds various parameters required for WSGI, including " @@ -141,25 +201,62 @@ msgid "" "*`` variables. It only supplies default values, and does not replace any " "existing settings for these variables." msgstr "" +"Ця процедура додає різноманітні параметри, необхідні для WSGI, зокрема " +"``HTTP_HOST``, ``SERVER_NAME``, ``SERVER_PORT``, ``REQUEST_METHOD``, " +"``SCRIPT_NAME``, ``PATH_INFO`` та всі :pep:`3333`\\ -визначені змінні ``wsgi." +"*``. Він надає лише значення за замовчуванням і не замінює жодних існуючих " +"параметрів для цих змінних." msgid "" "This routine is intended to make it easier for unit tests of WSGI servers " "and applications to set up dummy environments. It should NOT be used by " "actual WSGI servers or applications, since the data is fake!" msgstr "" +"Ця процедура призначена для полегшення модульних тестів серверів і програм " +"WSGI для налаштування фіктивних середовищ. Його НЕ слід використовувати на " +"справжніх серверах або програмах WSGI, оскільки дані підроблені!" -msgid "Example usage::" +msgid "" +"Example usage (see also :func:`~wsgiref.simple_server.demo_app` for another " +"example)::" +msgstr "" + +msgid "" +"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 "" +"На додаток до функцій середовища, наведених вище, модуль :mod:`wsgiref.util` " +"також надає такі різноманітні утиліти:" msgid "" "Return ``True`` if 'header_name' is an HTTP/1.1 \"Hop-by-Hop\" header, as " "defined by :rfc:`2616`." msgstr "" +"Повертає ``True``, якщо 'header_name' є заголовком HTTP/1.1 \"Hop-by-Hop\", " +"як визначено :rfc:`2616`." msgid "" "A concrete implementation of the :class:`wsgiref.types.FileWrapper` protocol " @@ -169,40 +266,80 @@ msgid "" "object's :meth:`read` method to obtain bytestrings to yield. When :meth:" "`read` returns an empty bytestring, iteration is ended and is not resumable." msgstr "" +"Конкретная реализация протокола :class:`wsgiref.types.FileWrapper`, " +"используемого для преобразования файлового объекта в :term:`итератор`. " +"Результирующими объектами являются :term:`iterable`\\ s. По мере итерации " +"объекта необязательный параметр *blksize* будет неоднократно передаваться в " +"метод :meth:`read` объекта *filelike* для получения байтовых строк для " +"вывода. Когда :meth:`read` возвращает пустую строку байтов, итерация " +"завершается и не может быть возобновлена." msgid "" "If *filelike* has a :meth:`close` method, the returned object will also have " "a :meth:`close` method, and it will invoke the *filelike* object's :meth:" "`close` method when called." msgstr "" +"Якщо *filelike* має метод :meth:`close`, повернутий об’єкт також матиме " +"метод :meth:`close`, і під час виклику він викличе метод :meth:`close` " +"об’єкта *filelike*." + +msgid "Example usage::" +msgstr "Приклад використання::" -msgid "Support for :meth:`__getitem__` method has been removed." +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 "Поддержка метода :meth:`~object.__getitem__` удалена." + msgid ":mod:`wsgiref.headers` -- WSGI response header tools" -msgstr "" +msgstr ":mod:`wsgiref.headers` -- інструменти заголовків відповідей WSGI" msgid "" "This module provides a single class, :class:`Headers`, for convenient " "manipulation of WSGI response headers using a mapping-like interface." msgstr "" +"Цей модуль надає єдиний клас, :class:`Headers`, для зручного керування " +"заголовками відповідей WSGI за допомогою інтерфейсу, схожого на відображення." msgid "" "Create a mapping-like object wrapping *headers*, which must be a list of " "header name/value tuples as described in :pep:`3333`. The default value of " "*headers* is an empty list." msgstr "" +"Створіть *headers* об’єкт, схожий на відображення, який має бути списком " +"кортежів імені/значення заголовка, як описано в :pep:`3333`. Типовим " +"значенням *headers* є порожній список." 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." -msgstr "" +"`~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 "" +"Объекты :class:`Headers` поддерживают типичные операции сопоставления, " +"включая :meth:`~object.__getitem__`, :meth:`~dict.get`, :meth:`~object." +"__setitem__`, :meth:`~dict.setdefault `, :meth:`~object.__delitem__` и :meth:" +"`~object.__contains__`. Для каждого из этих методов ключом является имя " +"заголовка (обрабатывается без учета регистра), а значением является первое " +"значение, связанное с этим именем заголовка. Установка заголовка удаляет все " +"существующие значения для этого заголовка, а затем добавляет новое значение " +"в конец списка упакованных заголовков. Существующий порядок заголовков " +"обычно сохраняется, а новые заголовки добавляются в конец обернутого списка." msgid "" "Unlike a dictionary, :class:`Headers` objects do not raise an error when you " @@ -210,6 +347,10 @@ msgid "" "nonexistent header just returns ``None``, and deleting a nonexistent header " "does nothing." msgstr "" +"На відміну від словника, об’єкти :class:`Headers` не викликають помилки, " +"коли ви намагаєтеся отримати або видалити ключ, якого немає в списку " +"заголовків. Отримання неіснуючого заголовка просто повертає ``None``, а " +"видалення неіснуючого заголовка нічого не робить." msgid "" ":class:`Headers` objects also support :meth:`keys`, :meth:`values`, and :" @@ -220,6 +361,13 @@ msgid "" "In fact, the :meth:`items` method just returns a copy of the wrapped header " "list." msgstr "" +"Об’єкти :class:`Headers` також підтримують методи :meth:`keys`, :meth:" +"`values` і :meth:`items`. Списки, які повертаються :meth:`keys` і :meth:" +"`items`, можуть містити той самий ключ більше одного разу, якщо є " +"багатозначний заголовок. ``len()`` об’єкта :class:`Headers` дорівнює довжині " +"його :meth:`items`, що дорівнює довжині оберненого списку заголовків. " +"Насправді метод :meth:`items` просто повертає копію загорнутого списку " +"заголовків." msgid "" "Calling ``bytes()`` on a :class:`Headers` object returns a formatted " @@ -228,15 +376,23 @@ msgid "" "line is terminated by a carriage return and line feed, and the bytestring is " "terminated with a blank line." msgstr "" +"Виклик ``bytes()`` для об’єкта :class:`Headers` повертає відформатований " +"байтовий рядок, придатний для передачі як заголовки відповіді HTTP. Кожен " +"заголовок розміщується в рядку зі своїм значенням, розділеним двокрапкою та " +"пробілом. Кожен рядок закінчується символом повернення каретки та переводом " +"рядка, а байтовий рядок завершується порожнім рядком." msgid "" "In addition to their mapping interface and formatting features, :class:" "`Headers` objects also have the following methods for querying and adding " "multi-valued headers, and for adding headers with MIME parameters:" msgstr "" +"Окрім інтерфейсу відображення та функцій форматування, об’єкти :class:" +"`Headers` також мають такі методи для запитів і додавання багатозначних " +"заголовків, а також для додавання заголовків із параметрами MIME:" msgid "Return a list of all the values for the named header." -msgstr "" +msgstr "Повертає список усіх значень для названого заголовка." msgid "" "The returned list will be sorted in the order they appeared in the original " @@ -244,11 +400,18 @@ msgid "" "fields deleted and re-inserted are always appended to the header list. If " "no fields exist with the given name, returns an empty list." msgstr "" +"Повернений список буде відсортовано в тому порядку, у якому вони з’явилися у " +"вихідному списку заголовків або були додані до цього екземпляра, і може " +"містити дублікати. Будь-які видалені та повторно вставлені поля завжди " +"додаються до списку заголовків. Якщо немає полів із заданим іменем, повертає " +"порожній список." msgid "" "Add a (possibly multi-valued) header, with optional MIME parameters " "specified via keyword arguments." msgstr "" +"Додайте (можливо, багатозначний) заголовок із необов’язковими параметрами " +"MIME, указаними через аргументи ключового слова." msgid "" "*name* is the header field to add. Keyword arguments can be used to set " @@ -260,15 +423,30 @@ msgid "" "only the parameter name is added. (This is used for MIME parameters without " "a value.) Example usage::" msgstr "" +"*name* – поле заголовка, яке потрібно додати. Аргументи ключового слова " +"можна використовувати для встановлення параметрів MIME для поля заголовка. " +"Кожен параметр має бути рядком або ``None``. Підкреслення в назвах " +"параметрів перетворюються на тире, оскільки тире заборонені в " +"ідентифікаторах Python, але багато імен параметрів MIME містять тире. Якщо " +"значення параметра є рядком, воно додається до параметрів значення заголовка " +"у формі ``name=\"value\"``. Якщо вибрано ``None``, додається лише назва " +"параметра. (Це використовується для параметрів MIME без значення.) Приклад " +"використання::" -msgid "The above will add a header that looks like this::" +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 "Content-Disposition: attachment; filename=\"bud.gif\"" + msgid "*headers* parameter is optional." -msgstr "" +msgstr "Параметр *headers* необов’язковий." msgid ":mod:`wsgiref.simple_server` -- a simple WSGI HTTP server" -msgstr "" +msgstr ":mod:`wsgiref.simple_server` -- простий HTTP-сервер WSGI" msgid "" "This module implements a simple HTTP server (based on :mod:`http.server`) " @@ -279,6 +457,13 @@ msgid "" "request. (E.g., using the :func:`shift_path_info` function from :mod:" "`wsgiref.util`.)" msgstr "" +"Цей модуль реалізує простий HTTP-сервер (на основі :mod:`http.server`), який " +"обслуговує програми WSGI. Кожен екземпляр сервера обслуговує одну програму " +"WSGI на заданому хості та порту. Якщо ви хочете обслуговувати кілька програм " +"на одному хості та порту, вам слід створити програму WSGI, яка аналізує " +"``PATH_INFO``, щоб вибрати, яку програму викликати для кожного запиту. " +"(Наприклад, за допомогою функції :func:`shift_path_info` з :mod:`wsgiref." +"util`.)" msgid "" "Create a new WSGI server listening on *host* and *port*, accepting " @@ -287,6 +472,24 @@ msgid "" "*handler_class*. *app* must be a WSGI application object, as defined by :" "pep:`3333`." msgstr "" +"Створіть новий сервер WSGI, який прослуховує *хост* і *порт*, приймаючи " +"з’єднання для *програми*. Повернене значення є екземпляром наданого " +"*server_class* і оброблятиме запити, використовуючи вказаний " +"*handler_class*. *app* має бути об’єктом програми WSGI, як визначено :pep:" +"`3333`." + +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 " @@ -295,43 +498,69 @@ msgid "" "WSGI server (such as :mod:`wsgiref.simple_server`) is able to run a simple " "WSGI application correctly." msgstr "" +"Ця функція є невеликою, але повною програмою WSGI, яка повертає текстову " +"сторінку, що містить повідомлення \"Hello world!\" і список пар ключ/" +"значення, наданий у параметрі *environ*. Це корисно для перевірки того, що " +"сервер WSGI (наприклад, :mod:`wsgiref.simple_server`) здатний правильно " +"запускати просту програму WSGI." + +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:" "`http.server.BaseHTTPRequestHandler` that will be used to process requests." msgstr "" +"Створіть екземпляр :class:`WSGIServer`. *server_address* має бути кортежем " +"``(host,port)``, а *RequestHandlerClass* має бути підкласом :class:`http." +"server.BaseHTTPRequestHandler`, який використовуватиметься для обробки " +"запитів." msgid "" "You do not normally need to call this constructor, as the :func:" "`make_server` function can handle all the details for you." msgstr "" +"Зазвичай вам не потрібно викликати цей конструктор, оскільки функція :func:" +"`make_server` може обробити всі деталі за вас." msgid "" ":class:`WSGIServer` is a subclass of :class:`http.server.HTTPServer`, so all " "of its methods (such as :meth:`serve_forever` and :meth:`handle_request`) " "are available. :class:`WSGIServer` also provides these WSGI-specific methods:" msgstr "" +":class:`WSGIServer` є підкласом :class:`http.server.HTTPServer`, тому всі " +"його методи (такі як :meth:`serve_forever` і :meth:`handle_request`) " +"доступні. :class:`WSGIServer` також надає ці спеціальні методи WSGI:" msgid "" "Sets the callable *application* as the WSGI application that will receive " "requests." msgstr "" +"Встановлює викликану *програму* як програму WSGI, яка отримуватиме запити." msgid "Returns the currently set application callable." -msgstr "" +msgstr "Возвращает текущее установленное вызываемое приложение." msgid "" "Normally, however, you do not need to use these additional methods, as :meth:" "`set_app` is normally called by :func:`make_server`, and the :meth:`get_app` " "exists mainly for the benefit of request handler instances." msgstr "" +"Однак зазвичай вам не потрібно використовувати ці додаткові методи, " +"оскільки :meth:`set_app` зазвичай викликається :func:`make_server`, а :meth:" +"`get_app` існує в основному для вигоди екземплярів обробника запитів." msgid "" "Create an HTTP handler for the given *request* (i.e. a socket), " "*client_address* (a ``(host,port)`` tuple), and *server* (:class:" "`WSGIServer` instance)." msgstr "" +"Створіть обробник HTTP для вказаного *запиту* (тобто сокета), " +"*client_address* (кортежу ``(host,port)`` і *server* (:class:`WSGIServer` " +"екземпляр)." msgid "" "You do not need to create instances of this class directly; they are " @@ -340,6 +569,11 @@ msgid "" "`make_server` function. Some possibly relevant methods for overriding in " "subclasses:" msgstr "" +"Вам не потрібно створювати екземпляри цього класу безпосередньо; вони " +"автоматично створюються за потреби об’єктами :class:`WSGIServer`. Однак ви " +"можете створити підклас цього класу та надати його як *handler_class* для " +"функції :func:`make_server`. Деякі можливі релевантні методи перевизначення " +"в підкласах:" msgid "" "Return a :data:`~wsgiref.types.WSGIEnvironment` dictionary for a request. " @@ -349,20 +583,31 @@ msgid "" "return a new dictionary containing all of the relevant CGI environment " "variables as specified in :pep:`3333`." msgstr "" +"Возвращает словарь :data:`~wsgiref.types.WSGIEnvironment` для запроса. " +"Реализация по умолчанию копирует содержимое атрибута словаря :attr:" +"`base_environ` объекта :class:`WSGIServer`, а затем добавляет различные " +"заголовки, полученные из HTTP-запроса. Каждый вызов этого метода должен " +"возвращать новый словарь, содержащий все соответствующие переменные среды " +"CGI, как указано в :pep:`3333`." msgid "" "Return the object that should be used as the ``wsgi.errors`` stream. The " "default implementation just returns ``sys.stderr``." msgstr "" +"Повертає об’єкт, який слід використовувати як потік ``wsgi.errors``. " +"Реалізація за замовчуванням просто повертає ``sys.stderr``." msgid "" "Process the HTTP request. The default implementation creates a handler " "instance using a :mod:`wsgiref.handlers` class to implement the actual WSGI " "application interface." msgstr "" +"Обробити HTTP-запит. Стандартна реалізація створює екземпляр обробника за " +"допомогою класу :mod:`wsgiref.handlers` для реалізації фактичного інтерфейсу " +"програми WSGI." msgid ":mod:`wsgiref.validate` --- WSGI conformance checker" -msgstr "" +msgstr ":mod:`wsgiref.validate` --- Перевірка відповідності WSGI" msgid "" "When creating new WSGI application objects, frameworks, servers, or " @@ -372,6 +617,12 @@ msgid "" "gateway and a WSGI application object, to check both sides for protocol " "conformance." msgstr "" +"Під час створення нових об’єктів програми WSGI, фреймворків, серверів або " +"проміжного програмного забезпечення може бути корисно перевірити " +"відповідність нового коду за допомогою :mod:`wsgiref.validate`. Цей модуль " +"забезпечує функцію, яка створює об’єкти програми WSGI, які перевіряють " +"зв’язок між сервером або шлюзом WSGI та об’єктом програми WSGI, щоб " +"перевірити обидві сторони на відповідність протоколу." msgid "" "Note that this utility does not guarantee complete :pep:`3333` compliance; " @@ -380,11 +631,17 @@ msgid "" "virtually certain that either the server or application is not 100% " "compliant." msgstr "" +"Зауважте, що ця утиліта не гарантує повної відповідності :pep:`3333`; " +"відсутність помилок у цьому модулі не обов'язково означає, що помилок немає. " +"Однак, якщо цей модуль видає помилку, тоді можна з упевненістю сказати, що " +"або сервер, або програма не відповідають вимогам на 100%." msgid "" "This module is based on the :mod:`paste.lint` module from Ian Bicking's " "\"Python Paste\" library." msgstr "" +"Цей модуль базується на модулі :mod:`paste.lint` з бібліотеки \"Python " +"Paste\" Яна Бікінга." msgid "" "Wrap *application* and return a new WSGI application object. The returned " @@ -392,6 +649,10 @@ msgid "" "will check that both the *application* and the server invoking it are " "conforming to the WSGI specification and to :rfc:`2616`." msgstr "" +"Оберніть *програму* та поверніть новий об’єкт програми WSGI. Повернена " +"програма перенаправлятиме всі запити до оригінальної *програми* та " +"перевірятиме, чи *програма* та сервер, який її викликає, відповідають " +"специфікації WSGI та :rfc:`2616`." msgid "" "Any detected nonconformance results in an :exc:`AssertionError` being " @@ -402,6 +663,12 @@ msgid "" "occurred, and dump the traceback to ``sys.stderr`` or some other error " "stream." msgstr "" +"Будь-яка виявлена невідповідність призводить до появи :exc:`AssertionError`; " +"однак зауважте, що спосіб обробки цих помилок залежить від сервера. " +"Наприклад, :mod:`wsgiref.simple_server` та інші сервери, засновані на :mod:" +"`wsgiref.handlers` (які не перевизначають методи обробки помилок, щоб " +"зробити щось інше) просто виведуть повідомлення про те, що сталася помилка, " +"і скиньте трасування до ``sys.stderr`` або іншого потоку помилок." msgid "" "This wrapper may also generate output using the :mod:`warnings` module to " @@ -411,9 +678,38 @@ msgid "" "to ``sys.stderr`` (*not* ``wsgi.errors``, unless they happen to be the same " "object)." msgstr "" +"Ця обгортка також може генерувати вихідні дані за допомогою модуля :mod:" +"`warnings` для вказівки поведінки, яка є сумнівною, але яка насправді не " +"може бути заборонена :pep:`3333`. Якщо їх не придушено за допомогою " +"параметрів командного рядка Python або API :mod:`warnings`, будь-які такі " +"попередження будуть записані в ``sys.stderr`` (*не* ``wsgi.errors``, якщо " +"вони не стаються з бути тим самим об'єктом)." + +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 "" +msgstr ":mod:`wsgiref.handlers` -- базові класи сервера/шлюзу" msgid "" "This module provides base handler classes for implementing WSGI servers and " @@ -421,6 +717,10 @@ msgid "" "a WSGI application, as long as they are given a CGI-like environment, along " "with input, output, and error streams." msgstr "" +"Цей модуль надає базові класи обробки для реалізації серверів і шлюзів WSGI. " +"Ці базові класи виконують більшу частину роботи зі спілкування з додатком " +"WSGI, якщо їм надано середовище, подібне до CGI, а також потоки введення, " +"виведення та помилок." msgid "" "CGI-based invocation via ``sys.stdin``, ``sys.stdout``, ``sys.stderr`` and " @@ -428,6 +728,10 @@ msgid "" "run it as a CGI script. Simply invoke ``CGIHandler().run(app)``, where " "``app`` is the WSGI application object you wish to invoke." msgstr "" +"Виклик на основі CGI через ``sys.stdin``, ``sys.stdout``, ``sys.stderr`` і " +"``os.environ``. Це корисно, якщо у вас є програма WSGI і ви хочете запустити " +"її як сценарій CGI. Просто викличте ``CGIHandler().run(app)``, де ``app`` це " +"об’єкт програми WSGI, який ви хочете викликати." msgid "" "This class is a subclass of :class:`BaseCGIHandler` that sets ``wsgi." @@ -435,18 +739,29 @@ msgid "" "to true, and always uses :mod:`sys` and :mod:`os` to obtain the necessary " "CGI streams and environment." msgstr "" +"Цей клас є підкласом :class:`BaseCGIHandler`, який встановлює ``wsgi." +"run_once`` значення true, ``wsgi.multithread`` значення false і ``wsgi." +"multiprocess`` значення true, і завжди використовує :mod:`sys` і :mod:`os` " +"для отримання необхідних потоків CGI та середовища." msgid "" "A specialized alternative to :class:`CGIHandler`, for use when deploying on " "Microsoft's IIS web server, without having set the config allowPathInfo " "option (IIS>=7) or metabase allowPathInfoForScriptMappings (IIS<7)." msgstr "" +"Спеціалізована альтернатива :class:`CGIHandler` для використання під час " +"розгортання на веб-сервері Microsoft IIS без встановлення опції " +"allowPathInfo конфігурації (IIS>=7) або дозволу метабази " +"allowPathInfoForScriptMappings (IIS<7)." msgid "" "By default, IIS gives a ``PATH_INFO`` that duplicates the ``SCRIPT_NAME`` at " "the front, causing problems for WSGI applications that wish to implement " "routing. This handler strips any such duplicated path." msgstr "" +"За замовчуванням IIS надає ``PATH_INFO``, який дублює ``SCRIPT_NAME`` " +"спереду, що спричиняє проблеми для програм WSGI, які бажають реалізувати " +"маршрутизацію. Цей обробник видаляє будь-який такий дубльований шлях." msgid "" "IIS can be configured to pass the correct ``PATH_INFO``, but this causes " @@ -457,6 +772,14 @@ msgid "" "IIS<7 is almost never deployed with the fix (Even IIS7 rarely uses it " "because there is still no UI for it.)." msgstr "" +"IIS можна налаштувати для передачі правильного ``PATH_INFO``, але це " +"спричиняє ще одну помилку, коли ``PATH_TRANSLATED`` неправильний. На щастя, " +"ця змінна рідко використовується і не гарантується WSGI. Однак у IIS<7 це " +"налаштування можна зробити лише на рівні vhost, впливаючи на всі інші " +"зіставлення сценаріїв, багато з яких ламаються, коли піддаються помилці " +"``PATH_TRANSLATED``. З цієї причини IIS<7 майже ніколи не розгортається з " +"виправленням (навіть IIS7 рідко використовує його, оскільки для нього все ще " +"немає інтерфейсу користувача)." msgid "" "There is no way for CGI code to tell whether the option was set, so a " @@ -464,6 +787,10 @@ msgid "" "`CGIHandler`, i.e., by calling ``IISCGIHandler().run(app)``, where ``app`` " "is the WSGI application object you wish to invoke." msgstr "" +"Код CGI не може визначити, чи встановлено параметр, тому надається окремий " +"клас обробника. Він використовується так само, як :class:`CGIHandler`, тобто " +"шляхом виклику ``IISCGIHandler().run(app)``, де ``app`` є об'єктом програми " +"WSGI, який ви хочете викликати." msgid "" "Similar to :class:`CGIHandler`, but instead of using the :mod:`sys` and :mod:" @@ -472,6 +799,11 @@ msgid "" "multithread`` and ``wsgi.multiprocess`` flags for any applications run by " "the handler instance." msgstr "" +"Подібно до :class:`CGIHandler`, але замість використання модулів :mod:`sys` " +"і :mod:`os` середовище CGI та потоки введення/виведення вказуються явно. " +"Значення *multithread* і *multiprocess* використовуються для встановлення " +"прапорів ``wsgi.multithread`` і ``wsgi.multiprocess`` для будь-яких програм, " +"запущених екземпляром обробника." msgid "" "This class is a subclass of :class:`SimpleHandler` intended for use with " @@ -480,49 +812,74 @@ msgid "" "``Status:`` header to send an HTTP status, you probably want to subclass " "this instead of :class:`SimpleHandler`." msgstr "" +"Цей клас є підкласом :class:`SimpleHandler`, призначеного для використання з " +"програмним забезпеченням, відмінним від HTTP-серверів. Якщо ви пишете " +"реалізацію протоколу шлюзу (наприклад, CGI, FastCGI, SCGI тощо), яка " +"використовує заголовок ``Status:`` для надсилання статусу HTTP, можливо, ви " +"захочете створити підклас цього замість :class:`SimpleHandler` ." msgid "" "Similar to :class:`BaseCGIHandler`, but designed for use with HTTP origin " "servers. If you are writing an HTTP server implementation, you will " "probably want to subclass this instead of :class:`BaseCGIHandler`." msgstr "" +"Подібний до :class:`BaseCGIHandler`, але призначений для використання з " +"вихідними серверами HTTP. Якщо ви пишете реалізацію сервера HTTP, ви, " +"ймовірно, захочете створити підклас цього замість :class:`BaseCGIHandler`." 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 "" +"Этот класс является подклассом :class:`BaseHandler`. Он переопределяет :meth:" +"`!__init__`, :meth:`~BaseHandler.get_stdin`, :meth:`~BaseHandler." +"get_stderr`, :meth:`~BaseHandler.add_cgi_vars`, :meth:`~BaseHandler._write` " +"и :meth:`~BaseHandler._flush` для поддержки явной настройки среды и потоков " +"через конструктор. Предоставленная среда и потоки хранятся в атрибутах :attr:" +"`stdin`, :attr:`stdout`, :attr:`stderr` и :attr:`environ`." msgid "" "The :meth:`~io.BufferedIOBase.write` method of *stdout* should write each " "chunk in full, like :class:`io.BufferedIOBase`." msgstr "" +"Метод :meth:`~io.BufferedIOBase.write` *stdout* має записувати кожен " +"фрагмент повністю, як :class:`io.BufferedIOBase`." msgid "" "This is an abstract base class for running WSGI applications. Each instance " "will handle a single HTTP request, although in principle you could create a " "subclass that was reusable for multiple requests." msgstr "" +"Це абстрактний базовий клас для запуску програм WSGI. Кожен екземпляр " +"оброблятиме один HTTP-запит, хоча в принципі ви можете створити підклас, " +"який можна повторно використовувати для кількох запитів." msgid "" ":class:`BaseHandler` instances have only one method intended for external " "use:" msgstr "" +"Екземпляри :class:`BaseHandler` мають лише один метод, призначений для " +"зовнішнього використання:" msgid "Run the specified WSGI application, *app*." -msgstr "" +msgstr "Запустіть вказану програму WSGI, *app*." msgid "" "All of the other :class:`BaseHandler` methods are invoked by this method in " "the process of running the application, and thus exist primarily to allow " "customizing the process." msgstr "" +"Усі інші методи :class:`BaseHandler` викликаються цим методом у процесі " +"запуску програми, і, отже, існують, перш за все, щоб дозволити налаштувати " +"процес." msgid "The following methods MUST be overridden in a subclass:" -msgstr "" +msgstr "Наступні методи ПОВИННІ бути замінені в підкласі:" msgid "" "Buffer the bytes *data* for transmission to the client. It's okay if this " @@ -530,28 +887,40 @@ msgid "" "write and flush operations for greater efficiency when the underlying system " "actually has such a distinction." msgstr "" +"Буферизуйте байти *data* для передачі клієнту. Це нормально, якщо цей метод " +"дійсно передає дані; :class:`BaseHandler` просто розділяє операції запису та " +"очищення для більшої ефективності, коли основна система насправді має таку " +"відмінність." msgid "" "Force buffered data to be transmitted to the client. It's okay if this " "method is a no-op (i.e., if :meth:`_write` actually sends the data)." msgstr "" +"Примусова передача буферизованих даних клієнту. Це нормально, якщо цей метод " +"є безопераційним (тобто якщо :meth:`_write` справді надсилає дані)." msgid "" "Return an object compatible with :class:`~wsgiref.types.InputStream` " "suitable for use as the ``wsgi.input`` of the request currently being " "processed." msgstr "" +"Возвращает объект, совместимый с :class:`~wsgiref.types.InputStream`, " +"подходящий для использования в качестве ``wsgi.input`` обрабатываемого в " +"данный момент запроса." msgid "" "Return an object compatible with :class:`~wsgiref.types.ErrorStream` " "suitable for use as the ``wsgi.errors`` of the request currently being " "processed." msgstr "" +"Возвращает объект, совместимый с :class:`~wsgiref.types.ErrorStream`, " +"подходящий для использования в качестве ``wsgi.errors`` запроса, " +"обрабатываемого в данный момент." msgid "" "Insert CGI variables for the current request into the :attr:`environ` " "attribute." -msgstr "" +msgstr "Вставте змінні CGI для поточного запиту в атрибут :attr:`environ`." msgid "" "Here are some other methods and attributes you may wish to override. This " @@ -560,27 +929,43 @@ msgid "" "additional information before attempting to create a customized :class:" "`BaseHandler` subclass." msgstr "" +"Ось деякі інші методи та атрибути, які ви можете змінити. Однак цей список є " +"лише підсумковим і не включає всі методи, які можна замінити. Перш ніж " +"намагатися створити налаштований підклас :class:`BaseHandler`, вам слід " +"переглянути рядки документації та вихідний код для отримання додаткової " +"інформації." msgid "Attributes and methods for customizing the WSGI environment:" -msgstr "" +msgstr "Атрибути та методи налаштування середовища WSGI:" msgid "" "The value to be used for the ``wsgi.multithread`` environment variable. It " "defaults to true in :class:`BaseHandler`, but may have a different default " "(or be set by the constructor) in the other subclasses." msgstr "" +"Значення, яке буде використовуватися для змінної середовища ``wsgi." +"multithread``. За замовчуванням у :class:`BaseHandler` він має значення " +"true, але може мати інше значення за замовчуванням (або бути встановленим " +"конструктором) в інших підкласах." msgid "" "The value to be used for the ``wsgi.multiprocess`` environment variable. It " "defaults to true in :class:`BaseHandler`, but may have a different default " "(or be set by the constructor) in the other subclasses." msgstr "" +"Значення, яке буде використовуватися для змінної середовища ``wsgi." +"multiprocess``. За замовчуванням у :class:`BaseHandler` він має значення " +"true, але може мати інше значення за замовчуванням (або бути встановленим " +"конструктором) в інших підкласах." msgid "" "The value to be used for the ``wsgi.run_once`` environment variable. It " "defaults to false in :class:`BaseHandler`, but :class:`CGIHandler` sets it " "to true by default." msgstr "" +"Значення, яке буде використовуватися для змінної середовища ``wsgi." +"run_once``. За замовчуванням у :class:`BaseHandler` встановлено значення " +"false, але :class:`CGIHandler` за замовчуванням встановлює значення true." msgid "" "The default environment variables to be included in every request's WSGI " @@ -590,6 +975,12 @@ msgid "" "considered read-only, since the default value is shared between multiple " "classes and instances." msgstr "" +"Змінні середовища за замовчуванням, які будуть включені в середовище WSGI " +"кожного запиту. За замовчуванням це копія ``os.environ`` на момент імпорту :" +"mod:`wsgiref.handlers`, але підкласи можуть створювати власні на рівні класу " +"або екземпляра. Зауважте, що словник слід вважати доступним лише для " +"читання, оскільки значення за замовчуванням використовується між кількома " +"класами та примірниками." msgid "" "If the :attr:`origin_server` attribute is set, this attribute's value is " @@ -598,11 +989,19 @@ msgid "" "for handlers (such as :class:`BaseCGIHandler` and :class:`CGIHandler`) that " "are not HTTP origin servers." msgstr "" +"Якщо встановлено атрибут :attr:`origin_server`, значення цього атрибута " +"використовується для встановлення змінної середовища WSGI за замовчуванням " +"``SERVER_SOFTWARE``, а також для встановлення заголовка ``Server:`` за " +"замовчуванням у відповідях HTTP. Він ігнорується для обробників (таких як :" +"class:`BaseCGIHandler` і :class:`CGIHandler`), які не є вихідними серверами " +"HTTP." msgid "" "The term \"Python\" is replaced with implementation specific term like " "\"CPython\", \"Jython\" etc." msgstr "" +"Термін \"Python\" замінено терміном для конкретної реалізації, наприклад " +"\"CPython\", \"Jython\" тощо." msgid "" "Return the URL scheme being used for the current request. The default " @@ -610,6 +1009,10 @@ msgid "" "util` to guess whether the scheme should be \"http\" or \"https\", based on " "the current request's :attr:`environ` variables." msgstr "" +"Повертає схему URL-адреси, яка використовується для поточного запиту. " +"Реалізація за замовчуванням використовує функцію :func:`guess_scheme` з :mod:" +"`wsgiref.util`, щоб визначити, чи має бути схема \"http\" чи \"https\", на " +"основі змінних :attr:`environ` поточного запиту." msgid "" "Set the :attr:`environ` attribute to a fully populated WSGI environment. " @@ -619,9 +1022,15 @@ msgid "" "``SERVER_SOFTWARE`` key if not present, as long as the :attr:`origin_server` " "attribute is a true value and the :attr:`server_software` attribute is set." msgstr "" +"Установите атрибут :attr:`environ` для полностью заполненной среды WSGI. " +"Реализация по умолчанию использует все вышеперечисленные методы и атрибуты, " +"а также методы :meth:`get_stdin`, :meth:`get_stderr` и :meth:`add_cgi_vars` " +"и атрибут :attr:`wsgi_file_wrapper`. Он также вставляет ключ " +"``SERVER_SOFTWARE``, если он отсутствует, если атрибут :attr:`origin_server` " +"имеет истинное значение и установлен атрибут :attr:`server_software`." msgid "Methods and attributes for customizing exception handling:" -msgstr "" +msgstr "Методи та атрибути для налаштування обробки винятків:" msgid "" "Log the *exc_info* tuple in the server log. *exc_info* is a ``(type, value, " @@ -631,21 +1040,35 @@ msgid "" "traceback to an administrator, or whatever other action may be deemed " "suitable." msgstr "" +"Зареєструйте кортеж *exc_info* у журналі сервера. *exc_info* — це кортеж " +"``(тип, значення, відстеження)``. Реалізація за замовчуванням просто записує " +"трасування в потік ``wsgi.errors`` запиту та очищає його. Підкласи можуть " +"замінити цей метод, щоб змінити формат або перенацілити вивід, надіслати " +"трасування поштою адміністратору або зробити будь-яку іншу дію, яку можна " +"вважати прийнятною." msgid "" "The maximum number of frames to include in tracebacks output by the default :" "meth:`log_exception` method. If ``None``, all frames are included." msgstr "" +"Максимальна кількість фреймів, які можна включити у вивід трасування " +"методом :meth:`log_exception` за замовчуванням. Якщо ``None``, усі кадри " +"включені." msgid "" "This method is a WSGI application to generate an error page for the user. " "It is only invoked if an error occurs before headers are sent to the client." msgstr "" +"Цей метод є програмою WSGI для створення сторінки помилки для користувача. " +"Він викликається, лише якщо виникає помилка до того, як заголовки будуть " +"надіслані клієнту." 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 "" @@ -653,6 +1076,10 @@ msgid "" "`error_headers`, and :attr:`error_body` attributes to generate an output " "page. Subclasses can override this to produce more dynamic error output." msgstr "" +"Реалізація за замовчуванням просто використовує атрибути :attr:" +"`error_status`, :attr:`error_headers` і :attr:`error_body` для створення " +"сторінки виводу. Підкласи можуть замінити це, щоб створити більш динамічний " +"вихід помилок." msgid "" "Note, however, that it's not recommended from a security perspective to spit " @@ -660,34 +1087,53 @@ msgid "" "special to enable diagnostic output, which is why the default implementation " "doesn't include any." msgstr "" +"Однак зауважте, що з точки зору безпеки не рекомендується передавати " +"діагностику старим користувачам; в ідеалі, ви повинні зробити щось особливе, " +"щоб увімкнути діагностичний вихід, тому реалізація за замовчуванням не " +"включає жодного." msgid "" "The HTTP status used for error responses. This should be a status string as " "defined in :pep:`3333`; it defaults to a 500 code and message." msgstr "" +"Статус HTTP, який використовується для відповідей на помилки. Це має бути " +"рядок стану, як визначено в :pep:`3333`; за замовчуванням це код і " +"повідомлення 500." msgid "" "The HTTP headers used for error responses. This should be a list of WSGI " "response headers (``(name, value)`` tuples), as described in :pep:`3333`. " "The default list just sets the content type to ``text/plain``." msgstr "" +"Заголовки HTTP, які використовуються для відповідей на помилки. Це має бути " +"список заголовків відповіді WSGI (кортежі ``(ім’я, значення)``), як описано " +"в :pep:`3333`. Список за замовчуванням лише встановлює тип вмісту ``text/" +"plain``." msgid "" "The error response body. This should be an HTTP response body bytestring. " "It defaults to the plain text, \"A server error occurred. Please contact " "the administrator.\"" msgstr "" +"Тіло відповіді на помилку. Це має бути байтовий рядок тіла відповіді HTTP. " +"За замовчуванням це простий текст: \"Сталася помилка сервера. Зверніться до " +"адміністратора\"." msgid "" "Methods and attributes for :pep:`3333`'s \"Optional Platform-Specific File " "Handling\" feature:" msgstr "" +"Методи та атрибути для функції :pep:`3333` \"Додаткова обробка файлів на " +"певній платформі\":" msgid "" "A ``wsgi.file_wrapper`` factory, compatible with :class:`wsgiref.types." "FileWrapper`, or ``None``. The default value of this attribute is the :" "class:`wsgiref.util.FileWrapper` class." msgstr "" +"Фабрика ``wsgi.file_wrapper``, совместимая с ``wsgiref.types.FileWrapper`` " +"или ``None``. Значением по умолчанию для этого атрибута является класс :" +"class:`wsgiref.util.FileWrapper`." msgid "" "Override to implement platform-specific file transmission. This method is " @@ -697,9 +1143,15 @@ msgid "" "default transmission code will not be executed. The default implementation " "of this method just returns a false value." msgstr "" +"Перевизначення для реалізації передачі файлів на платформі. Цей метод " +"викликається, лише якщо значення, яке повертає програма, є екземпляром " +"класу, указаного атрибутом :attr:`wsgi_file_wrapper`. Він має повернути " +"справжнє значення, якщо вдалося успішно передати файл, щоб код передачі за " +"замовчуванням не виконувався. Стандартна реалізація цього методу просто " +"повертає хибне значення." msgid "Miscellaneous methods and attributes:" -msgstr "" +msgstr "Різні методи та атрибути:" msgid "" "This attribute should be set to a true value if the handler's :meth:`_write` " @@ -707,16 +1159,25 @@ msgid "" "rather than via a CGI-like gateway protocol that wants the HTTP status in a " "special ``Status:`` header." msgstr "" +"Для цього атрибута слід встановити справжнє значення, якщо :meth:`_write` і :" +"meth:`_flush` обробника використовуються для безпосереднього зв’язку з " +"клієнтом, а не через CGI-подібний протокол шлюзу, якому потрібен статус HTTP " +"у спеціальний заголовок ``Status:``." msgid "" "This attribute's default value is true in :class:`BaseHandler`, but false " "in :class:`BaseCGIHandler` and :class:`CGIHandler`." msgstr "" +"Значення цього атрибута за замовчуванням є true у :class:`BaseHandler`, але " +"false у :class:`BaseCGIHandler` і :class:`CGIHandler`." msgid "" "If :attr:`origin_server` is true, this string attribute is used to set the " "HTTP version of the response set to the client. It defaults to ``\"1.0\"``." msgstr "" +"Якщо :attr:`origin_server` має значення true, цей рядковий атрибут " +"використовується для встановлення HTTP-версії набору відповідей для клієнта. " +"За замовчуванням ``\"1.0\"``." msgid "" "Transcode CGI variables from ``os.environ`` to :pep:`3333` \"bytes in " @@ -728,55 +1189,146 @@ msgid "" "bytes, but the system encoding used by Python to decode it is anything other " "than ISO-8859-1 (e.g. Unix systems using UTF-8)." msgstr "" +"Транскодує змінні CGI з ``os.environ`` в :pep:`3333` рядки \"байтів у " +"юнікоді\", повертаючи новий словник. Ця функція використовується :class:" +"`CGIHandler` і :class:`IISCGIHandler` замість безпосереднього використання " +"``os.environ``, який не обов’язково є сумісним з WSGI на всіх платформах і " +"веб-серверах, які використовують Python 3, зокрема , де фактичне середовище " +"ОС є Unicode (тобто Windows), або ті, де середовищем є байти, але системне " +"кодування, яке використовує Python для його декодування, є будь-яким іншим, " +"ніж ISO-8859-1 (наприклад, системи Unix використовують UTF-8) ." msgid "" "If you are implementing a CGI-based handler of your own, you probably want " "to use this routine instead of just copying values out of ``os.environ`` " "directly." msgstr "" +"Якщо ви впроваджуєте власний обробник на основі CGI, ви, ймовірно, захочете " +"використовувати цю процедуру замість того, щоб просто копіювати значення " +"безпосередньо з ``os.environ``." msgid ":mod:`wsgiref.types` -- WSGI types for static type checking" -msgstr "" +msgstr ":mod:`wsgiref.types` -- типы WSGI для статической проверки типов" msgid "" "This module provides various types for static type checking as described in :" "pep:`3333`." msgstr "" +"Этот модуль предоставляет различные типы для статической проверки типов, как " +"описано в :pep:`3333`." 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." -msgstr "" +msgstr "Псевдоним типа, описывающий словарь среды WSGI." msgid "A type alias describing a WSGI application callable." -msgstr "" +msgstr "Псевдоним типа, описывающий вызываемое приложение WSGI." 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 "" +"Пример приложения WSGI, обслуживающего текущий каталог: примите " +"необязательный каталог и номер порта (по умолчанию: 8000) в командной " +"строке::" + +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 78d76e8597..1c78c78e7c 100644 --- a/library/xml.dom.minidom.po +++ b/library/xml.dom.minidom.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -25,10 +24,10 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!xml.dom.minidom` --- Minimal DOM implementation" -msgstr "" +msgstr ":mod:`!xml.dom.minidom` --- Минимальная реализация DOM" 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 " @@ -37,17 +36,23 @@ msgid "" "Users who are not already proficient with the DOM should consider using the :" "mod:`xml.etree.ElementTree` module for their XML processing instead." msgstr "" +":mod:`xml.dom.minidom` — це мінімальна реалізація інтерфейсу об’єктної " +"моделі документа з API, подібним до того, що є в інших мовах. Він має бути " +"простішим, ніж повний DOM, а також значно меншим. Користувачам, які ще не " +"володіють DOM, варто розглянути можливість використання модуля :mod:`xml." +"etree.ElementTree` для обробки XML." 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::" msgstr "" +"Програми DOM зазвичай починаються з аналізу деякого XML у DOM. З :mod:`xml." +"dom.minidom` це робиться через функції аналізу::" msgid "" "from xml.dom.minidom import parse, parseString\n" @@ -59,10 +64,19 @@ msgid "" "\n" "dom3 = parseString('Some data some more data')" msgstr "" +"from xml.dom.minidom import parse, parseString\n" +"\n" +"dom1 = parse('c:\\\\temp\\\\mydata.xml') # parse an XML file by name\n" +"\n" +"datasource = open('c:\\\\temp\\\\mydata.xml')\n" +"dom2 = parse(datasource) # parse an open file\n" +"\n" +"dom3 = parseString('Some data some more data')" msgid "" "The :func:`parse` function can take either a filename or an open file object." msgstr "" +"Функція :func:`parse` може приймати ім’я файлу або відкритий файловий об’єкт." msgid "" "Return a :class:`Document` from the given input. *filename_or_file* may be " @@ -71,22 +85,34 @@ msgid "" "parser and activate namespace support; other parser configuration (like " "setting an entity resolver) must have been done in advance." msgstr "" +"Повертає :class:`Document` із заданого введення. *filename_or_file* може " +"бути ім’ям файлу або файлоподібним об’єктом. *parser*, якщо задано, має бути " +"об’єктом аналізатора SAX2. Ця функція змінить обробник документів " +"аналізатора та активує підтримку простору імен; іншу конфігурацію " +"синтаксичного аналізатора (наприклад, налаштування розпізнавача сутностей) " +"потрібно було виконати заздалегідь." msgid "" "If you have XML in a string, you can use the :func:`parseString` function " "instead:" msgstr "" +"Якщо у вас є XML у рядку, ви можете використовувати замість нього функцію :" +"func:`parseString`:" msgid "" "Return a :class:`Document` that represents the *string*. This method creates " "an :class:`io.StringIO` object for the string and passes that on to :func:" "`parse`." msgstr "" +"Повертає :class:`Document`, який представляє *рядок*. Цей метод створює " +"об’єкт :class:`io.StringIO` для рядка та передає його до :func:`parse`." msgid "" "Both functions return a :class:`Document` object representing the content of " "the document." msgstr "" +"Обидві функції повертають об’єкт :class:`Document`, що представляє вміст " +"документа." msgid "" "What the :func:`parse` and :func:`parseString` functions do is connect an " @@ -97,6 +123,12 @@ msgid "" "it's simply that these functions do not provide a parser implementation " "themselves." msgstr "" +"Функції :func:`parse` і :func:`parseString` з’єднують синтаксичний " +"аналізатор XML із \"конструктором DOM\", який може приймати події аналізу " +"від будь-якого аналізатора SAX і перетворювати їх у дерево DOM. Назви " +"функцій, можливо, вводять в оману, але їх легко зрозуміти, вивчаючи " +"інтерфейси. Розбір документа буде завершено до повернення цих функцій; " +"просто ці функції самі по собі не забезпечують реалізацію аналізатора." msgid "" "You can also create a :class:`Document` by calling a method on a \"DOM " @@ -105,6 +137,11 @@ msgid "" "mod:`xml.dom.minidom` module. Once you have a :class:`Document`, you can " "add child nodes to it to populate the DOM::" msgstr "" +"Ви також можете створити :class:`Document`, викликавши метод в об’єкті " +"\"Реалізація DOM\". Ви можете отримати цей об’єкт, викликавши функцію :func:" +"`getDOMImplementation` в пакеті :mod:`xml.dom` або через модуль :mod:`xml." +"dom.minidom`. Коли у вас є :class:`Document`, ви можете додати до нього " +"дочірні вузли для заповнення DOM::" msgid "" "from xml.dom.minidom import getDOMImplementation\n" @@ -116,6 +153,14 @@ msgid "" "text = newdoc.createTextNode('Some textual content.')\n" "top_element.appendChild(text)" msgstr "" +"from xml.dom.minidom import getDOMImplementation\n" +"\n" +"impl = getDOMImplementation()\n" +"\n" +"newdoc = impl.createDocument(None, \"some_tag\", None)\n" +"top_element = newdoc.documentElement\n" +"text = newdoc.createTextNode('Some textual content.')\n" +"top_element.appendChild(text)" msgid "" "Once you have a DOM document object, you can access the parts of your XML " @@ -124,11 +169,18 @@ msgid "" "attr:`documentElement` property. It gives you the main element in the XML " "document: the one that holds all others. Here is an example program::" msgstr "" +"Якщо у вас є об’єкт документа DOM, ви можете отримати доступ до частин свого " +"документа XML через його властивості та методи. Ці властивості визначені в " +"специфікації DOM. Основною властивістю об’єкта документа є властивість :attr:" +"`documentElement`. Це дає вам головний елемент у документі XML: той, який " +"містить усі інші. Ось приклад програми::" msgid "" "dom3 = parseString(\"Some data\")\n" "assert dom3.documentElement.tagName == \"myxml\"" msgstr "" +"dom3 = parseString(\"Some data\")\n" +"assert dom3.documentElement.tagName == \"myxml\"" msgid "" "When you are finished with a DOM tree, you may optionally call the :meth:" @@ -138,23 +190,34 @@ msgid "" "Otherwise, Python's garbage collector will eventually take care of the " "objects in the tree." msgstr "" +"Когда вы закончите работу с деревом DOM, вы можете при желании вызвать " +"метод :meth:`unlink`, чтобы стимулировать раннюю очистку теперь ненужных " +"объектов. :meth:`unlink` — это :mod:`xml.dom.minidom`\\ расширение DOM API, " +"которое делает узел и его потомков практически бесполезными. В противном " +"случае сборщик мусора Python в конечном итоге позаботится об объектах в " +"дереве." msgid "" "`Document Object Model (DOM) Level 1 Specification `_" msgstr "" +"`Специфікація рівня 1 об’єктної моделі документа (DOM) `_" msgid "The W3C recommendation for the DOM supported by :mod:`xml.dom.minidom`." -msgstr "" +msgstr "Рекомендація W3C щодо DOM, що підтримується :mod:`xml.dom.minidom`." msgid "DOM Objects" -msgstr "" +msgstr "Об'єкти DOM" 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`." msgstr "" +"Визначення DOM API для Python надається як частина документації модуля :mod:" +"`xml.dom`. У цьому розділі наведено відмінності між API та :mod:`xml.dom." +"minidom`." msgid "" "Break internal references within the DOM so that it will be garbage " @@ -164,17 +227,29 @@ msgid "" "practice. This only needs to be called on the :class:`Document` object, but " "may be called on child nodes to discard children of that node." msgstr "" +"Розбийте внутрішні посилання в DOM, щоб у версіях Python без циклічного " +"збирання сміття було зібрано сміття. Навіть якщо циклічний GC доступний, " +"використання цього може зробити великі обсяги пам’яті доступними раніше, " +"тому виклик цього для об’єктів DOM, як тільки вони більше не потрібні, є " +"хорошою практикою. Його потрібно викликати лише для об’єкта :class:" +"`Document`, але його можна викликати на дочірніх вузлах, щоб відкинути " +"дочірні елементи цього вузла." msgid "" "You can avoid calling this method explicitly by using the :keyword:`with` " "statement. The following code will automatically unlink *dom* when the :" "keyword:`!with` block is exited::" msgstr "" +"Ви можете уникнути явного виклику цього методу, використовуючи оператор :" +"keyword:`with`. Наступний код автоматично від’єднає *dom*, коли блок :" +"keyword:`!with` буде вимкнено::" msgid "" "with xml.dom.minidom.parse(datasource) as dom:\n" " ... # Work with dom." msgstr "" +"with xml.dom.minidom.parse(datasource) as dom:\n" +" ... # Work with dom." msgid "" "Write XML to the writer object. The writer receives texts but not bytes as " @@ -184,11 +259,19 @@ msgid "" "subnodes of the current one. The *newl* parameter specifies the string to " "use to terminate newlines." msgstr "" +"Запишіть XML в об’єкт запису. Записувач отримує тексти, але не байти як " +"вхідні дані, він повинен мати метод :meth:`write`, який відповідає методу " +"інтерфейсу файлового об’єкта. Параметр *indent* — це відступ поточного " +"вузла. Параметр *addindent* є поступовим відступом для використання " +"підвузлів поточного. Параметр *newl* визначає рядок, який " +"використовуватиметься для завершення символів нового рядка." msgid "" "For the :class:`Document` node, an additional keyword argument *encoding* " "can be used to specify the encoding field of the XML header." msgstr "" +"Для вузла :class:`Document` можна використовувати додатковий аргумент " +"ключового слова *encoding* для визначення поля кодування заголовка XML." msgid "" "Similarly, explicitly stating the *standalone* argument causes the " @@ -197,19 +280,27 @@ msgid "" "otherwise it is set to ``\"no\"``. Not stating the argument will omit the " "declaration from the document." msgstr "" +"Аналогично, явное указание аргумента *standalone* приводит к добавлению " +"объявлений автономного документа в пролог XML-документа. Если для значения " +"установлено ``True``, добавляется ``standalone=\"yes\"``, в противном случае " +"ему присваивается ``\"no\"``. Если не указать аргумент, декларация будет " +"исключена из документа." msgid "" "The :meth:`writexml` method now preserves the attribute order specified by " "the user." msgstr "" +"Метод :meth:`writexml` тепер зберігає порядок атрибутів, указаний " +"користувачем." msgid "The *standalone* parameter was added." -msgstr "" +msgstr "Додано параметр *standalone*." msgid "" "Return a string or byte string containing the XML represented by the DOM " "node." msgstr "" +"Повертає рядок або рядок байтів, що містить XML, представлений вузлом DOM." msgid "" "With an explicit *encoding* [1]_ argument, the result is a byte string in " @@ -218,39 +309,53 @@ msgid "" "encoding. Encoding this string in an encoding other than UTF-8 is likely " "incorrect, since UTF-8 is the default encoding of XML." msgstr "" +"З явним аргументом *encoding* [1]_ результатом буде рядок байтів у вказаному " +"кодуванні. Без аргументу *encoding* результатом є рядок Unicode, а " +"оголошення XML у результуючому рядку не вказує кодування. Кодування цього " +"рядка в кодуванні, відмінному від UTF-8, імовірно, є неправильним, оскільки " +"UTF-8 є стандартним кодуванням XML." msgid "The *standalone* argument behaves exactly as in :meth:`writexml`." msgstr "" +"Аргумент *standalone* поводиться точно так само, як у :meth:`writexml`." msgid "" "The :meth:`toxml` method now preserves the attribute order specified by the " "user." msgstr "" +"Метод :meth:`toxml` тепер зберігає порядок атрибутів, указаний користувачем." msgid "" "Return a pretty-printed version of the document. *indent* specifies the " "indentation string and defaults to a tabulator; *newl* specifies the string " "emitted at the end of each line and defaults to ``\\n``." msgstr "" +"Поверніть роздруковану версію документа. *indent* визначає рядок відступів і " +"за замовчуванням є табулятором; *newl* визначає рядок, що виводиться в кінці " +"кожного рядка, і за замовчуванням має значення ``\\n``." msgid "" "The *encoding* argument behaves like the corresponding argument of :meth:" "`toxml`." -msgstr "" +msgstr "Аргумент *encoding* поводиться як відповідний аргумент :meth:`toxml`." msgid "" "The :meth:`toprettyxml` method now preserves the attribute order specified " "by the user." msgstr "" +"Метод :meth:`toprettyxml` тепер зберігає порядок атрибутів, указаний " +"користувачем." msgid "DOM Example" -msgstr "" +msgstr "Приклад DOM" msgid "" "This example program is a fairly realistic example of a simple program. In " "this particular case, we do not take much advantage of the flexibility of " "the DOM." msgstr "" +"Цей приклад програми є досить реалістичним прикладом простої програми. У " +"цьому конкретному випадку ми не дуже використовуємо переваги гнучкості DOM." msgid "" "import xml.dom.minidom\n" @@ -318,19 +423,87 @@ msgid "" "\n" "handleSlideshow(dom)\n" msgstr "" +"import xml.dom.minidom\n" +"\n" +"document = \"\"\"\\\n" +"\n" +"Demo slideshow\n" +"Slide title\n" +"This is a demo\n" +"Of a program for processing slides\n" +"\n" +"\n" +"Another demo slide\n" +"It is important\n" +"To have more than\n" +"one slide\n" +"\n" +"\n" +"\"\"\"\n" +"\n" +"dom = xml.dom.minidom.parseString(document)\n" +"\n" +"def getText(nodelist):\n" +" rc = []\n" +" for node in nodelist:\n" +" if node.nodeType == node.TEXT_NODE:\n" +" rc.append(node.data)\n" +" return ''.join(rc)\n" +"\n" +"def handleSlideshow(slideshow):\n" +" print(\"\")\n" +" handleSlideshowTitle(slideshow.getElementsByTagName(\"title\")[0])\n" +" slides = slideshow.getElementsByTagName(\"slide\")\n" +" handleToc(slides)\n" +" handleSlides(slides)\n" +" print(\"\")\n" +"\n" +"def handleSlides(slides):\n" +" for slide in slides:\n" +" handleSlide(slide)\n" +"\n" +"def handleSlide(slide):\n" +" handleSlideTitle(slide.getElementsByTagName(\"title\")[0])\n" +" handlePoints(slide.getElementsByTagName(\"point\"))\n" +"\n" +"def handleSlideshowTitle(title):\n" +" print(f\"{getText(title.childNodes)}\")\n" +"\n" +"def handleSlideTitle(title):\n" +" print(f\"

{getText(title.childNodes)}

\")\n" +"\n" +"def handlePoints(points):\n" +" print(\"
    \")\n" +" for point in points:\n" +" handlePoint(point)\n" +" print(\"
\")\n" +"\n" +"def handlePoint(point):\n" +" print(f\"
  • {getText(point.childNodes)}
  • \")\n" +"\n" +"def handleToc(slides):\n" +" for slide in slides:\n" +" title = slide.getElementsByTagName(\"title\")[0]\n" +" print(f\"

    {getText(title.childNodes)}

    \")\n" +"\n" +"handleSlideshow(dom)\n" msgid "minidom and the DOM standard" -msgstr "" +msgstr "minidom і стандарт DOM" msgid "" "The :mod:`xml.dom.minidom` module is essentially a DOM 1.0-compatible DOM " "with some DOM 2 features (primarily namespace features)." msgstr "" +"Модуль :mod:`xml.dom.minidom` по суті є DOM-сумісним DOM 1.0 з деякими " +"функціями DOM 2 (переважно функціями простору імен)." msgid "" "Usage of the DOM interface in Python is straight-forward. The following " "mapping rules apply:" msgstr "" +"Використання інтерфейсу DOM у Python є простим. Застосовуються наступні " +"правила відображення:" msgid "" "Interfaces are accessed through instance objects. Applications should not " @@ -339,12 +512,21 @@ msgid "" "operations (and attributes) from the base interfaces, plus any new " "operations." msgstr "" +"Доступ до інтерфейсів здійснюється через об’єкти екземплярів. Програми не " +"повинні створювати екземпляри класів самі; вони повинні використовувати " +"функції створення, доступні в об’єкті :class:`Document`. Похідні інтерфейси " +"підтримують усі операції (та атрибути) базових інтерфейсів, а також будь-які " +"нові операції." msgid "" "Operations are used as methods. Since the DOM uses only :keyword:`in` " "parameters, the arguments are passed in normal order (from left to right). " "There are no optional arguments. ``void`` operations return ``None``." msgstr "" +"Як методи використовуються операції. Оскільки DOM використовує лише " +"параметри :keyword:`in`, аргументи передаються у звичайному порядку (зліва " +"направо). Немає необов'язкових аргументів. Операції ``void`` повертають " +"``None``." msgid "" "IDL attributes map to instance attributes. For compatibility with the OMG " @@ -352,11 +534,17 @@ msgid "" "through accessor methods :meth:`_get_foo` and :meth:`_set_foo`. " "``readonly`` attributes must not be changed; this is not enforced at runtime." msgstr "" +"Атрибути IDL відображаються на атрибути екземпляра. Для сумісності з " +"відображенням мови OMG IDL для Python доступ до атрибута ``foo`` також можна " +"отримати через методи доступу :meth:`_get_foo` і :meth:`_set_foo`. атрибути " +"``readonly`` не можна змінювати; це не застосовується під час виконання." msgid "" "The types ``short int``, ``unsigned int``, ``unsigned long long``, and " "``boolean`` all map to Python integer objects." msgstr "" +"Усі типи ``short int``, ``unsigned int``, ``unsigned long long`` і " +"``boolean`` відображаються на цілі об’єкти Python." msgid "" "The type ``DOMString`` maps to Python strings. :mod:`xml.dom.minidom` " @@ -364,18 +552,28 @@ msgid "" "of type ``DOMString`` may also be ``None`` where allowed to have the IDL " "``null`` value by the DOM specification from the W3C." msgstr "" +"Тип ``DOMString`` відображає рядки Python. :mod:`xml.dom.minidom` підтримує " +"байти або рядки, але зазвичай створює рядки. Значення типу ``DOMString`` " +"також можуть бути ``None``, якщо дозволено мати значення IDL ``null`` " +"відповідно до специфікації DOM від W3C." msgid "" "``const`` declarations map to variables in their respective scope (e.g. " "``xml.dom.minidom.Node.PROCESSING_INSTRUCTION_NODE``); they must not be " "changed." msgstr "" +"Оголошення ``const`` відображаються на змінні у відповідній області " +"(наприклад, ``xml.dom.minidom.Node.PROCESSING_INSTRUCTION_NODE``); їх не " +"можна змінювати." 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`." msgstr "" +"``DOMException`` наразі не підтримується в :mod:`xml.dom.minidom`. " +"Натомість :mod:`xml.dom.minidom` використовує стандартні винятки Python, " +"такі як :exc:`TypeError` і :exc:`AttributeError`." msgid "" ":class:`NodeList` objects are implemented using Python's built-in list type. " @@ -384,10 +582,15 @@ msgid "" "are, however, much more \"Pythonic\" than the interface defined in the W3C " "recommendations." msgstr "" +"Об'єкти :class:`NodeList` реалізовані за допомогою вбудованого типу списку " +"Python. Ці об’єкти забезпечують інтерфейс, визначений у специфікації DOM, " +"але в попередніх версіях Python вони не підтримують офіційний API. Однак " +"вони набагато більш \"пітонічні\", ніж інтерфейс, визначений у рекомендаціях " +"W3C." msgid "" "The following interfaces have no implementation in :mod:`xml.dom.minidom`:" -msgstr "" +msgstr "Наступні інтерфейси не мають реалізації в :mod:`xml.dom.minidom`:" msgid ":class:`DOMTimeStamp`" msgstr ":class:`DOMTimeStamp`" @@ -399,6 +602,8 @@ msgid "" "Most of these reflect information in the XML document that is not of general " "utility to most DOM users." msgstr "" +"Більшість із них відображає інформацію в XML-документі, яка не є загальною " +"корисністю для більшості користувачів DOM." msgid "Footnotes" msgstr "Przypisy" @@ -411,3 +616,9 @@ msgid "" "EncodingDecl and https://www.iana.org/assignments/character-sets/character-" "sets.xhtml." msgstr "" +"Ім’я кодування, включене у вивід XML, має відповідати відповідним " +"стандартам. Наприклад, \"UTF-8\" є дійсним, але \"UTF8\" не є дійсним в " +"декларації документа XML, навіть якщо Python приймає його як назву " +"кодування. Див. https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-" +"EncodingDecl і https://www.iana.org/assignments/character-sets/character-" +"sets.xhtml." diff --git a/library/xml.dom.po b/library/xml.dom.po index 7e2e7bad5a..3ccd0d5832 100644 --- a/library/xml.dom.po +++ b/library/xml.dom.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Igor Zubrycki , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -103,9 +101,11 @@ msgid "" "`Document Object Model (DOM) Level 1 Specification `_" msgstr "" +"`Специфікація рівня 1 об’єктної моделі документа (DOM) `_" msgid "The W3C recommendation for the DOM supported by :mod:`xml.dom.minidom`." -msgstr "" +msgstr "Рекомендація W3C щодо DOM, що підтримується :mod:`xml.dom.minidom`." msgid "" "`Python Language Mapping Specification , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -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 "" @@ -135,6 +134,8 @@ msgid "" "If you have XML in a string, you can use the :func:`parseString` function " "instead:" msgstr "" +"Якщо у вас є XML у рядку, ви можете використовувати замість нього функцію :" +"func:`parseString`:" msgid "" "Return a :class:`DOMEventStream` that represents the (Unicode) *string*." diff --git a/library/xml.etree.elementtree.po b/library/xml.etree.elementtree.po index 886c916f0c..e6521083cd 100644 --- a/library/xml.etree.elementtree.po +++ b/library/xml.etree.elementtree.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Igor Zubrycki , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -43,9 +41,8 @@ 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" @@ -653,7 +650,7 @@ msgid "" msgstr "" msgid "Reference" -msgstr "" +msgstr "Referensi" msgid "Functions" msgstr "Zadania" diff --git a/library/xmlrpc.client.po b/library/xmlrpc.client.po index 35b5d5f54c..9195388c66 100644 --- a/library/xmlrpc.client.po +++ b/library/xmlrpc.client.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -40,8 +39,8 @@ 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`." +"constructed data. If you need to parse untrusted or unauthenticated data, " +"see :ref:`xml-security`." msgstr "" msgid "" @@ -56,6 +55,8 @@ msgid "" "This module does not work or is not available on WebAssembly. See :ref:`wasm-" "availability` for more information." msgstr "" +"Этот модуль не работает или недоступен в WebAssembly. См. :ref:`wasm-" +"availability` для получения дополнительной информации." msgid "" "A :class:`ServerProxy` instance is an object that manages communication with " diff --git a/library/xmlrpc.po b/library/xmlrpc.po index a90af9638a..a7c321aa77 100644 --- a/library/xmlrpc.po +++ b/library/xmlrpc.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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,18 +24,25 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!xmlrpc` --- XMLRPC server and client modules" -msgstr "" +msgstr ":mod:`!xmlrpc` --- Серверные и клиентские модули XMLRPC" msgid "" "XML-RPC is a Remote Procedure Call method that uses XML passed via HTTP as a " "transport. With it, a client can call methods with parameters on a remote " "server (the server is named by a URI) and get back structured data." msgstr "" +"XML-RPC adalah method Remote Procedure Call yang menggunakan XML dan " +"diteruskan melalui HTTP sebagai pengangkut. Dengan begitu, client dapat " +"memanggil method yang memiliki parameter pada sebuah server jarak jauh " +"(server tersebut dinamai dengan URI) dan menerima kembali data yang " +"terstruktur." msgid "" "``xmlrpc`` is a package that collects server and client modules implementing " "XML-RPC. The modules are:" msgstr "" +"Ctrl+Alt+1 adalah sebuah package (kemasan) yang mengumpulkan modul-modul " +"``xmlrpc`` dan client yang menerapkan XML-RPC. Modul-modul tersebut adalah:" msgid ":mod:`xmlrpc.client`" msgstr ":mod:`xmlrpc.client`" diff --git a/library/xmlrpc.server.po b/library/xmlrpc.server.po index 46b68a2c12..5d817ee4d9 100644 --- a/library/xmlrpc.server.po +++ b/library/xmlrpc.server.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -38,8 +38,8 @@ 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`." +"constructed data. If you need to parse untrusted or unauthenticated data, " +"see :ref:`xml-security`." msgstr "" msgid "Availability" @@ -49,6 +49,8 @@ msgid "" "This module does not work or is not available on WebAssembly. See :ref:`wasm-" "availability` for more information." msgstr "" +"Этот модуль не работает или недоступен в WebAssembly. См. :ref:`wasm-" +"availability` для получения дополнительной информации." msgid "" "Create a new server instance. This class provides methods for registration " diff --git a/library/zipapp.po b/library/zipapp.po index fe493b6d01..2defb58132 100644 --- a/library/zipapp.po +++ b/library/zipapp.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -57,7 +56,7 @@ msgstr "" "" msgid "Command-Line Interface" -msgstr "" +msgstr "Інтерфейс командного рядка" msgid "" "When called as a program from the command line, the following form is used:" diff --git a/library/zipfile.po b/library/zipfile.po index 8466fe643d..81d1720444 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-03-14 14:17+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -812,7 +810,7 @@ msgid "" msgstr "" msgid "Index" -msgstr "" +msgstr "Indeks" msgid "Value" msgstr "Wartość" @@ -905,7 +903,7 @@ msgid "Size of the uncompressed file." msgstr "" msgid "Command-Line Interface" -msgstr "" +msgstr "Інтерфейс командного рядка" msgid "" "The :mod:`zipfile` module provides a simple command-line interface to " diff --git a/library/zipimport.po b/library/zipimport.po index 318c6acff3..45517bad12 100644 --- a/library/zipimport.po +++ b/library/zipimport.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/library/zlib.po b/library/zlib.po index edf63fef0c..182fa4ab15 100644 --- a/library/zlib.po +++ b/library/zlib.po @@ -4,7 +4,7 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" @@ -12,8 +12,8 @@ msgstr "" "Project-Id-Version: Python 3.13\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" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/library/zoneinfo.po b/library/zoneinfo.po index 44f40d0923..f0684bea4a 100644 --- a/library/zoneinfo.po +++ b/library/zoneinfo.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:19+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-06-20 14:58+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -61,6 +60,8 @@ msgid "" "This module does not work or is not available on WebAssembly. See :ref:`wasm-" "availability` for more information." msgstr "" +"Этот модуль не работает или недоступен в WebAssembly. См. :ref:`wasm-" +"availability` для получения дополнительной информации." msgid "Using ``ZoneInfo``" msgstr "" @@ -426,11 +427,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.po b/license.po index 7d1fa6db89..77005e916d 100644 --- a/license.po +++ b/license.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2022 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-02-03 17:40+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/manage_translation.py b/manage_translation.py index 7a49d282ee..c045db1a51 100755 --- a/manage_translation.py +++ b/manage_translation.py @@ -11,6 +11,7 @@ # 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 @@ -19,13 +20,13 @@ 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 warnings import warn -from polib import pofile +from polib import pofile, POFile from transifex.api import transifex_api LANGUAGE = 'pl' @@ -49,7 +50,7 @@ def _call(command: str): exit(return_code) -PROJECT_SLUG = 'python-newest' +PROJECT_SLUG = 'python-313' VERSION = '3.13' @@ -187,8 +188,62 @@ def language_switcher(entry: ResourceLanguageStatistics) -> bool: return any(entry.name.startswith(prefix) for prefix in language_switcher_resources_prefixes) +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() + + 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 + + print('Update translation from Transifex\n\n' + '\n'.join(translators)) + + if __name__ == "__main__": - RUNNABLE_SCRIPTS = ('fetch', 'recreate_tx_config', 'warn_about_files_to_delete') + 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 8de3d3c972..e5c4234e2c 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:19+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-24 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -1495,7 +1492,7 @@ msgid "" msgstr "" msgid "is equivalent to ::" -msgstr "" +msgstr "setara dengan::" msgid "" "class Foo(object):\n" @@ -2103,7 +2100,7 @@ msgid "suite" msgstr "" msgid "; (semicolon)" -msgstr "" +msgstr "; (точка с запятой)" msgid "NEWLINE token" msgstr "" @@ -2118,7 +2115,7 @@ msgid "else" msgstr "" msgid "if" -msgstr "" +msgstr "if" msgid "keyword" msgstr "" @@ -2136,7 +2133,7 @@ msgid "while" msgstr "" msgid "loop" -msgstr "" +msgstr "цикл" msgid "break" msgstr "" @@ -2148,7 +2145,7 @@ msgid "for" msgstr "for" msgid "in" -msgstr "" +msgstr "in" msgid "target" msgstr "" @@ -2166,7 +2163,7 @@ msgid "built-in function" msgstr "funkcja wbudowana" msgid "range" -msgstr "" +msgstr "range" msgid "try" msgstr "" @@ -2259,28 +2256,28 @@ msgid "user-defined function" msgstr "" msgid "() (parentheses)" -msgstr "" +msgstr "() (parentheses)" msgid "parameter list" msgstr "" msgid "@ (at)" -msgstr "" +msgstr "@ (at)" msgid "default" msgstr "" msgid "value" -msgstr "" +msgstr "nilai" msgid "argument" msgstr "argument" msgid "= (equals)" -msgstr "" +msgstr "= (равно)" msgid "/ (slash)" -msgstr "" +msgstr "/ (косая черта)" msgid "* (asterisk)" msgstr "* (asterisk)" diff --git a/reference/datamodel.po b/reference/datamodel.po index c8da200768..4e9eca414d 100644 --- a/reference/datamodel.po +++ b/reference/datamodel.po @@ -4,23 +4,16 @@ # 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:19+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-02 14:19+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -363,7 +356,7 @@ msgid "" msgstr "" msgid "Tuples" -msgstr "" +msgstr "*Tuples*" msgid "" "The items of a tuple are arbitrary Python objects. Tuples of two or more " @@ -1396,11 +1389,10 @@ msgid "" msgstr "" msgid "" -"Future feature declarations (``from __future__ import division``) also use " -"bits in :attr:`~codeobject.co_flags` to indicate whether a code object was " -"compiled with a particular feature enabled: bit ``0x2000`` is set if the " -"function was compiled with future division enabled; bits ``0x10`` and " -"``0x1000`` were used in earlier versions of Python." +"Future feature declarations (for example, ``from __future__ import " +"division``) also use bits in :attr:`~codeobject.co_flags` to indicate " +"whether a code object was compiled with a particular feature enabled. See :" +"attr:`~__future__._Feature.compiler_flag`." msgstr "" msgid "" @@ -3789,13 +3781,13 @@ msgid "object" msgstr "obiekt" msgid "data" -msgstr "" +msgstr "data" msgid "built-in function" msgstr "funkcja wbudowana" msgid "id" -msgstr "" +msgstr "id" msgid "type" msgstr "typ" @@ -3825,7 +3817,7 @@ msgid "unreachable object" msgstr "" msgid "container" -msgstr "" +msgstr "контейнер" msgid "hierarchy" msgstr "" @@ -3840,7 +3832,7 @@ msgid "C" msgstr "C" msgid "language" -msgstr "" +msgstr "язык" msgid "attribute" msgstr "atrybut" @@ -3870,10 +3862,10 @@ msgid "Boolean" msgstr "Wartość logiczna" msgid "False" -msgstr "" +msgstr "False" msgid "True" -msgstr "" +msgstr "True" msgid "floating-point" msgstr "" @@ -3885,7 +3877,7 @@ msgid "Java" msgstr "" msgid "complex" -msgstr "" +msgstr "комплексные" msgid "len" msgstr "len" @@ -3945,19 +3937,19 @@ msgid "byte" msgstr "" msgid "mutable sequence" -msgstr "" +msgstr "изменяемая последовательность" msgid "mutable" msgstr "" msgid "assignment" -msgstr "" +msgstr "присваивание" msgid "statement" msgstr "instrukcja" msgid "array" -msgstr "" +msgstr "array" msgid "collections" msgstr "" @@ -3984,10 +3976,10 @@ msgid "dictionary" msgstr "słownik" msgid "dbm.ndbm" -msgstr "" +msgstr "dbm.ndbm" msgid "dbm.gnu" -msgstr "" +msgstr "dbm.gnu" msgid "callable" msgstr "" @@ -4089,7 +4081,7 @@ msgid "built-in method" msgstr "" msgid "built-in" -msgstr "" +msgstr "встроенный" msgid "import" msgstr "import" @@ -4176,7 +4168,7 @@ msgid "io" msgstr "" msgid "popen() (in module os)" -msgstr "" +msgstr "popen() (in module os)" msgid "makefile() (socket method)" msgstr "" @@ -4389,7 +4381,7 @@ msgid "finalizer" msgstr "" msgid "del" -msgstr "" +msgstr "del" msgid "repr() (built-in function)" msgstr "" @@ -4416,7 +4408,7 @@ msgid "print" msgstr "" msgid "comparisons" -msgstr "" +msgstr "сравнения" msgid "hash" msgstr "" @@ -4437,7 +4429,7 @@ msgid "metaclass" msgstr "metaklasa" msgid "= (equals)" -msgstr "" +msgstr "= (равно)" msgid "class definition" msgstr "" diff --git a/reference/executionmodel.po b/reference/executionmodel.po index a22e456edf..e689535508 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:19+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -510,7 +508,7 @@ msgid "free" msgstr "" msgid "variable" -msgstr "" +msgstr "variabel" msgid "environment" msgstr "" diff --git a/reference/expressions.po b/reference/expressions.po index d70b7fd154..b8e5c9bd82 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-06-27 14:55+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -389,13 +384,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 "" @@ -626,15 +622,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 "" @@ -2078,7 +2076,7 @@ msgid "BNF" msgstr "" msgid "arithmetic" -msgstr "" +msgstr "арифметическме" msgid "conversion" msgstr "" @@ -2114,7 +2112,7 @@ msgid "immutable" msgstr "" msgid "data" -msgstr "" +msgstr "data" msgid "type" msgstr "typ" @@ -2126,7 +2124,7 @@ msgid "parenthesized form" msgstr "" msgid "() (parentheses)" -msgstr "" +msgstr "() (parentheses)" msgid "tuple display" msgstr "" @@ -2153,7 +2151,7 @@ msgid "in comprehensions" msgstr "" msgid "if" -msgstr "" +msgstr "if" msgid "async for" msgstr "" @@ -2168,7 +2166,7 @@ msgid "display" msgstr "" msgid "[] (square brackets)" -msgstr "" +msgstr "[] (квадратні дужки)" msgid "list expression" msgstr "" @@ -2180,7 +2178,7 @@ msgid "set" msgstr "zestaw" msgid "{} (curly brackets)" -msgstr "" +msgstr "{} (фигурные скобки)" msgid "set expression" msgstr "" @@ -2192,7 +2190,7 @@ msgid "key" msgstr "" msgid "value" -msgstr "" +msgstr "nilai" msgid "key/value pair" msgstr "" @@ -2267,7 +2265,7 @@ msgid "reference" msgstr "" msgid ". (dot)" -msgstr "" +msgstr ". (точка)" msgid "attribute reference" msgstr "" @@ -2327,7 +2325,7 @@ msgid "argument list" msgstr "" msgid "= (equals)" -msgstr "" +msgstr "= (равно)" msgid "in function calls" msgstr "in function calls" @@ -2372,7 +2370,7 @@ msgid "power" msgstr "" msgid "operation" -msgstr "" +msgstr "операция" msgid "operator" msgstr "" @@ -2381,7 +2379,7 @@ msgid "unary" msgstr "" msgid "bitwise" -msgstr "" +msgstr "побитовый" msgid "negation" msgstr "" @@ -2390,28 +2388,28 @@ msgid "minus" msgstr "" msgid "- (minus)" -msgstr "" +msgstr "- (мінус)" msgid "unary operator" -msgstr "" +msgstr "унарный оператор" msgid "plus" msgstr "" msgid "+ (plus)" -msgstr "" +msgstr "+ (плюс)" msgid "inversion" msgstr "" msgid "~ (tilde)" -msgstr "" +msgstr "~ (тильда)" msgid "TypeError" msgstr "" msgid "binary" -msgstr "" +msgstr "бинарные" msgid "multiplication" msgstr "" @@ -2420,7 +2418,7 @@ msgid "matrix multiplication" msgstr "" msgid "@ (at)" -msgstr "" +msgstr "@ (at)" msgid "ZeroDivisionError" msgstr "" @@ -2429,43 +2427,43 @@ msgid "division" msgstr "podział" msgid "/ (slash)" -msgstr "" +msgstr "/ (косая черта)" msgid "//" -msgstr "" +msgstr "//" msgid "modulo" msgstr "" msgid "% (percent)" -msgstr "" +msgstr "% (процент)" msgid "addition" msgstr "" msgid "binary operator" -msgstr "" +msgstr "бинарный оператор" msgid "subtraction" msgstr "" msgid "shifting" -msgstr "" +msgstr "смещение " msgid "<<" -msgstr "" +msgstr "<<" msgid ">>" -msgstr "" +msgstr ">>" msgid "ValueError" msgstr "" msgid "and" -msgstr "" +msgstr "and" msgid "& (ampersand)" -msgstr "" +msgstr "& (амперсанд)" msgid "xor" msgstr "" @@ -2474,55 +2472,55 @@ msgid "exclusive" msgstr "" msgid "or" -msgstr "" +msgstr "or" msgid "^ (caret)" -msgstr "" +msgstr "^ (caret)" msgid "inclusive" msgstr "" msgid "| (vertical bar)" -msgstr "" +msgstr "| (вертикальная полоса)" msgid "comparison" -msgstr "" +msgstr "сравнение" msgid "C" msgstr "C" msgid "language" -msgstr "" +msgstr "язык" msgid "< (less)" -msgstr "" +msgstr "< (меньше)" msgid "> (greater)" -msgstr "" +msgstr "> (больше)" msgid "<=" -msgstr "" +msgstr "<=" msgid ">=" -msgstr "" +msgstr ">=" msgid "==" msgstr "==" msgid "!=" -msgstr "" +msgstr "!=" msgid "chaining" msgstr "" msgid "comparisons" -msgstr "" +msgstr "сравнения" msgid "in" -msgstr "" +msgstr "in" msgid "not in" -msgstr "" +msgstr "not in" msgid "membership" msgstr "" @@ -2531,10 +2529,10 @@ msgid "test" msgstr "" msgid "is" -msgstr "" +msgstr "is" msgid "is not" -msgstr "" +msgstr "is not" msgid "identity" msgstr "" @@ -2546,7 +2544,7 @@ msgid "Boolean" msgstr "Wartość logiczna" msgid "not" -msgstr "" +msgstr "not" msgid ":= (colon equals)" msgstr "" @@ -2561,7 +2559,7 @@ msgid "named expression" msgstr "" msgid "assignment" -msgstr "" +msgstr "присваивание" msgid "conditional" msgstr "" diff --git a/reference/import.po b/reference/import.po index 6ca984d64a..547ff21325 100644 --- a/reference/import.po +++ b/reference/import.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-02-21 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/reference/index.po b/reference/index.po index 4c84dea8a2..d1692ad980 100644 --- a/reference/index.po +++ b/reference/index.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/reference/introduction.po b/reference/introduction.po index cc6a5be967..940be06df4 100644 --- a/reference/introduction.po +++ b/reference/introduction.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/reference/lexical_analysis.po b/reference/lexical_analysis.po index 11f1de18a3..62bae6a924 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-08 03:57+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -114,7 +113,8 @@ msgstr "" msgid "" "If no encoding declaration is found, the default encoding is UTF-8. If the " "implicit or explicit encoding of a file is UTF-8, an initial UTF-8 byte-" -"order mark (b'\\xef\\xbb\\xbf') is ignored rather than being a syntax error." +"order mark (``b'\\xef\\xbb\\xbf'``) is ignored rather than being a syntax " +"error." msgstr "" msgid "" @@ -689,7 +689,7 @@ msgid "Character with 16-bit hex value *xxxx*" msgstr "" msgid "\\(6)" -msgstr "" +msgstr "\\(6)" msgid ":samp:`\\\\U{xxxxxxxx}`" msgstr ":samp:`\\\\U{xxxxxxxx}`" @@ -698,7 +698,7 @@ msgid "Character with 32-bit hex value *xxxxxxxx*" msgstr "" msgid "\\(7)" -msgstr "" +msgstr "\\(7)" msgid "Notes:" msgstr "Uwagi:" @@ -809,7 +809,7 @@ msgid "" msgstr "" msgid "f-strings" -msgstr "" +msgstr "f-strings" msgid "" "A :dfn:`formatted string literal` or :dfn:`f-string` is a string literal " @@ -1205,7 +1205,7 @@ msgid "leading whitespace" msgstr "" msgid "space" -msgstr "" +msgstr "простір" msgid "tab" msgstr "" @@ -1319,40 +1319,40 @@ msgid "C" msgstr "C" msgid "\\ (backslash)" -msgstr "" +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 "" @@ -1376,22 +1376,22 @@ msgid "fstring" msgstr "fstring" msgid "{} (curly brackets)" -msgstr "" +msgstr "{} (фигурные скобки)" msgid "in formatted string literal" -msgstr "" +msgstr "в форматированном строковом литерале" msgid "! (exclamation)" -msgstr "" +msgstr "! (знак оклику)" msgid ": (colon)" msgstr ": (dwukropek)" msgid "= (equals)" -msgstr "" +msgstr "= (равно)" msgid "for help in debugging using string literals" -msgstr "" +msgstr "за помощь в отладке с использованием строковых литералов" msgid "number" msgstr "" @@ -1439,7 +1439,7 @@ msgid "in numeric literal" msgstr "" msgid ". (dot)" -msgstr "" +msgstr ". (точка)" msgid "e" msgstr "" diff --git a/reference/simple_stmts.po b/reference/simple_stmts.po index 822dc0b8b9..70d182965b 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -1098,13 +1094,13 @@ msgid "output" msgstr "" msgid "standard" -msgstr "" +msgstr "стандарт" msgid "writing" msgstr "" msgid "values" -msgstr "" +msgstr "nilai" msgid "procedure" msgstr "" @@ -1113,13 +1109,13 @@ msgid "call" msgstr "" msgid "= (equals)" -msgstr "" +msgstr "= (равно)" msgid "assignment statement" msgstr "" msgid "assignment" -msgstr "" +msgstr "присваивание" msgid "binding" msgstr "" @@ -1152,10 +1148,10 @@ msgid "in assignment target list" msgstr "" msgid "[] (square brackets)" -msgstr "" +msgstr "[] (квадратні дужки)" msgid "() (parentheses)" -msgstr "" +msgstr "() (parentheses)" msgid "destructor" msgstr "" @@ -1236,7 +1232,7 @@ msgid "assert" msgstr "" msgid "debugging" -msgstr "" +msgstr "отладка" msgid "assertions" msgstr "" @@ -1260,10 +1256,10 @@ msgid "null" msgstr "" msgid "operation" -msgstr "" +msgstr "операция" msgid "del" -msgstr "" +msgstr "del" msgid "deletion" msgstr "" @@ -1335,7 +1331,7 @@ msgid "while" msgstr "" msgid "loop" -msgstr "" +msgstr "цикл" msgid "else" msgstr "" @@ -1389,7 +1385,7 @@ msgid "exec" msgstr "exec" msgid "eval" -msgstr "" +msgstr "eval" msgid "compile" msgstr "" diff --git a/reference/toplevel_components.po b/reference/toplevel_components.po index 24baa87efd..425e6e9d58 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -148,4 +146,4 @@ msgid "built-in function" msgstr "funkcja wbudowana" msgid "eval" -msgstr "" +msgstr "eval" diff --git a/sphinx.po b/sphinx.po index cd2f49a2fb..a66ce0f858 100644 --- a/sphinx.po +++ b/sphinx.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Maciej Olko , 2025\n" +"POT-Creation-Date: 2025-05-23 14:55+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -29,20 +29,20 @@ msgstr "Stabilna" msgid "In development" msgstr "W rozwoju" -msgid "This Page" -msgstr "Ta strona" +msgid "This page" +msgstr "Esta página" -msgid "Report a Bug" -msgstr "Zgłoś błąd" +msgid "Report a bug" +msgstr "Relatar um bug" -msgid "Show Source" -msgstr "Pokaż źródło" +msgid "Show source" +msgstr "Mostrar o código-fonte" 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 "Baixar a documentação do Python %(dl_version)s" msgid "Last updated on: %(last_updated)s." msgstr "Ostatnia aktualizacja: %(last_updated)s." @@ -370,8 +370,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 "Contribuindo para documentação" msgid "Download the documentation" msgstr "Pobierz dokumentację" @@ -397,20 +397,20 @@ msgstr "Wszystkie wersje" msgid "Other resources" msgstr "Inne zasoby" -msgid "PEP Index" -msgstr "PEP Index" +msgid "PEP index" +msgstr "Índice de PEPs" -msgid "Beginner's Guide" -msgstr "Przewodnik dla początkujących" +msgid "Beginner's guide" +msgstr "Guia do iniciante" -msgid "Book List" -msgstr "Lista książek" +msgid "Book list" +msgstr "Lista de livros" -msgid "Audio/Visual Talks" -msgstr "Nagrania audio/wideo" +msgid "Audio/visual talks" +msgstr "Apresentações audiovisuais" -msgid "Python Developer’s Guide" -msgstr "Python Developer’s Guide" +msgid "Python developer’s guide" +msgstr "Guia do desenvolvedor do Python" msgid "" "This document is for an old version of Python that is no longer supported.\n" diff --git a/tutorial/appendix.po b/tutorial/appendix.po index 22b44f2f89..4e2ea829f7 100644 --- a/tutorial/appendix.po +++ b/tutorial/appendix.po @@ -4,20 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 -# Rafael Fontenelle , 2024 -# Ciarbin , 2024 -# Stan Ulbrych, 2024 -# Maciej Olko , 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/tutorial/appetite.po b/tutorial/appetite.po index 794697cfd4..c0d174d3db 100644 --- a/tutorial/appetite.po +++ b/tutorial/appetite.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2022 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Maciej Olko , 2022\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/tutorial/classes.po b/tutorial/classes.po index ceae6e73c4..a942226076 100644 --- a/tutorial/classes.po +++ b/tutorial/classes.po @@ -4,21 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Igor Zubrycki , 2021 -# Tomasz Rodzen , 2021 -# haaritsubaki, 2023 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2024 -# Maciej Olko , 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Maciej Olko , 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index 32d07d1fd3..e77893df75 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -4,21 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Bartosz Chmiel , 2021 -# Igor Zubrycki , 2021 -# Lidia Lipinska-Zubrycka , 2021 -# haaritsubaki, 2023 -# Marysia Olko, 2024 -# Maciej Olko , 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2025-05-23 14:55+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -2016,10 +2011,9 @@ 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::" msgid "" ">>> pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]\n" @@ -2101,19 +2095,8 @@ msgid "" ">>> 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." msgstr "" -">>> def my_function():\n" -"... \"\"\"Nie robi nic, ale dokumentuje to.\n" -"...\n" -"... Nie, naprawdę, ona nic nie robi.\n" -"... \"\"\"\n" -"... pass\n" -"...\n" -">>> print(my_function.__doc__)\n" -"Nie robi nic, ale dokumentuje to.\n" -"\n" -" Nie, naprawdę, ona nic nie robi." msgid "Function Annotations" msgstr "Adnotacje funkcji" diff --git a/tutorial/datastructures.po b/tutorial/datastructures.po index b97dc62282..ec823b7f0a 100644 --- a/tutorial/datastructures.po +++ b/tutorial/datastructures.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/tutorial/errors.po b/tutorial/errors.po index b6d7886570..4431b3388e 100644 --- a/tutorial/errors.po +++ b/tutorial/errors.po @@ -4,21 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Igor Zubrycki , 2021 -# Ciarbin , 2021 -# Jarosław, 2021 -# Stefan Ocetkiewicz , 2023 -# Wiktor Matuszewski , 2024 -# Maciej Olko , 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2025-03-21 14:18+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/tutorial/floatingpoint.po b/tutorial/floatingpoint.po index cb563982ce..100044dfbb 100644 --- a/tutorial/floatingpoint.po +++ b/tutorial/floatingpoint.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Ciarbin , 2022 -# Maciej Olko , 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/tutorial/index.po b/tutorial/index.po index a74bb6349c..159512675f 100644 --- a/tutorial/index.po +++ b/tutorial/index.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stefan Ocetkiewicz , 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Stefan Ocetkiewicz , 2023\n" +"POT-Creation-Date: 2025-05-23 14:55+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -27,6 +26,11 @@ 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 "" + 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-" @@ -67,14 +71,11 @@ 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." msgid "" "For a description of standard objects and modules, see :ref:`library-" diff --git a/tutorial/inputoutput.po b/tutorial/inputoutput.po index 345c063169..e78ccebaca 100644 --- a/tutorial/inputoutput.po +++ b/tutorial/inputoutput.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 -# haaritsubaki, 2023 -# Maciej Olko , 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/tutorial/interactive.po b/tutorial/interactive.po index e1ff4cfed6..8a7e82ba5a 100644 --- a/tutorial/interactive.po +++ b/tutorial/interactive.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# ac4a8e5d3d92195fc6d50ffd472aae19_7eb0c45, 2022 -# Maciej Olko , 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Maciej Olko , 2023\n" +"POT-Creation-Date: 2025-03-21 14:18+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/tutorial/interpreter.po b/tutorial/interpreter.po index e8f726f9e1..55b5c00564 100644 --- a/tutorial/interpreter.po +++ b/tutorial/interpreter.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/tutorial/introduction.po b/tutorial/introduction.po index 33697baf51..e7339b17bb 100644 --- a/tutorial/introduction.po +++ b/tutorial/introduction.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Ciarbin , 2024 -# Maciej Olko , 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2025-06-13 15:01+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -45,15 +43,10 @@ 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." msgid "" "Many of the examples in this manual, even those entered at the interactive " @@ -304,6 +297,15 @@ msgstr "" "cudzysłowach (``'...'``) lub podwójnych cudzysłowach (``\"...\"``) z takim " "samym wynikiem [#]_." +msgid "" +">>> 'spam eggs' # single quotes\n" +"'spam eggs'\n" +">>> \"Paris rabbit got your back :)! Yay!\" # double quotes\n" +"'Paris rabbit got your back :)! Yay!'\n" +">>> '1975' # digits and numerals enclosed in quotes are also strings\n" +"'1975'" +msgstr "" + msgid "" "To quote a quote, we need to \"escape\" it, by preceding it with ``\\``. " "Alternatively, we can use the other type of quotation marks::" diff --git a/tutorial/modules.po b/tutorial/modules.po index 73a7cd3cc9..09e2157479 100644 --- a/tutorial/modules.po +++ b/tutorial/modules.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Ciarbin , 2024 -# Maciej Olko , 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Maciej Olko , 2025\n" +"POT-Creation-Date: 2025-07-25 15:00+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -78,14 +77,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" @@ -93,22 +94,6 @@ msgid "" " a, b = b, a+b\n" " return result" msgstr "" -"# moduł liczb Fibonacciego\n" -"\n" -"def fib(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" -" result = []\n" -" a, b = 0, 1\n" -" while a < n:\n" -" result.append(a)\n" -" a, b = b, a+b\n" -" return result" msgid "" "Now enter the Python interpreter and import this module with the following " @@ -1158,15 +1143,11 @@ 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." msgid "Packages in Multiple Directories" msgstr "Pakiety w wielu katalogach" diff --git a/tutorial/stdlib.po b/tutorial/stdlib.po index 247aef2f79..15c5e1fabb 100644 --- a/tutorial/stdlib.po +++ b/tutorial/stdlib.po @@ -4,20 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Igor Zubrycki , 2021 -# Stefan Ocetkiewicz , 2023 -# haaritsubaki, 2023 -# Ciarbin , 2024 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/tutorial/stdlib2.po b/tutorial/stdlib2.po index f6f405a0c7..cc2b8abb8e 100644 --- a/tutorial/stdlib2.po +++ b/tutorial/stdlib2.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 -# Maciej Olko , 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/tutorial/venv.po b/tutorial/venv.po index a4b8303369..45f6420a1e 100644 --- a/tutorial/venv.po +++ b/tutorial/venv.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Maciej Olko , 2024 -# Ciarbin , 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Ciarbin , 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/tutorial/whatnow.po b/tutorial/whatnow.po index 1320f7ff52..1d79b1cef2 100644 --- a/tutorial/whatnow.po +++ b/tutorial/whatnow.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 -# Ciarbin , 2024 -# Maciej Olko , 2024 -# Stan Ulbrych, 2024 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" 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 baaf7fc0f0..1c7578dbb4 100644 --- a/using/android.po +++ b/using/android.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2024-09-27 14:19+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-06-06 14:57+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -126,3 +126,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 8f96f7d072..4ddd95761a 100644 --- a/using/cmdline.po +++ b/using/cmdline.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-08 03:57+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -181,7 +181,7 @@ msgid "Equivalent functionality directly available to Python code" msgstr "" msgid ":pep:`338` -- Executing modules as scripts" -msgstr "" +msgstr ":pep:`338` -- Виконання модулів як скриптів" msgid "Supply the package name to run a ``__main__`` submodule." msgstr "" @@ -1289,6 +1289,12 @@ msgid "" "precedence over this variable, and :ref:`whatsnew313-free-threaded-cpython`." msgstr "" +msgid "" +"On builds where experimental just-in-time compilation is available, this " +"variable can force the JIT to be disabled (``0``) or enabled (``1``) at " +"interpreter startup." +msgstr "" + msgid "Debug-mode variables" msgstr "" diff --git a/using/configure.po b/using/configure.po index a9f9e75de4..009b252c44 100644 --- a/using/configure.po +++ b/using/configure.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-25 15:00+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -62,6 +61,11 @@ msgstr "" msgid "Tcl/Tk 8.5.12 for the :mod:`tkinter` module." msgstr "" +msgid "" +"`libmpdec `_ 2.5.0 for " +"the :mod:`decimal` module." +msgstr "" + msgid "" "Autoconf 2.71 and aclocal 1.16.5 are required to regenerate the :file:" "`configure` script." @@ -915,7 +919,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 "" diff --git a/using/editors.po b/using/editors.po index 9d096ec704..f2171b4a49 100644 --- a/using/editors.po +++ b/using/editors.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-02-14 14:17+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/using/index.po b/using/index.po index eeb5e93e5f..3f46210b45 100644 --- a/using/index.po +++ b/using/index.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/using/ios.po b/using/ios.po index a3a8c56e05..8d0a455bae 100644 --- a/using/ios.po +++ b/using/ios.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2024-05-11 01:08+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-06-27 14:55+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -425,11 +424,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," @@ -469,7 +468,15 @@ 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." +"folder is included as part of the :envvar:`PYTHONPATH` configuration in step " +"10." +msgstr "" + +msgid "" +"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" diff --git a/using/mac.po b/using/mac.po index efe38943de..1dc9a7911b 100644 --- a/using/mac.po +++ b/using/mac.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-06-20 14:58+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -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 "" @@ -117,7 +117,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 +136,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 +169,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,7 +194,7 @@ msgid "" "interpreter with the name of the script file:" msgstr "" -msgid "|usemac_python_x_dot_y_literal| ``myscript.py``" +msgid "|python_x_dot_y_literal| ``myscript.py``" msgstr "" msgid "To run your script from the Finder, you can either:" @@ -333,10 +334,9 @@ 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 experimental free-threading " +"feature (running with the :term:`global interpreter lock` disabled). Check " +"the release page on ``python.org`` for possible updated information." msgstr "" msgid "" @@ -350,10 +350,10 @@ 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 is itself " +"experimental and is subject to change in future releases." msgstr "" msgid "Known cautions and limitations:" @@ -361,18 +361,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,13 +380,13 @@ 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 ``" +msgid "python\\ |version|\\ t -m pip install " msgstr "" msgid "" @@ -397,7 +396,7 @@ msgid "" "use:" msgstr "" -msgid "|usemac_python_x_dot_y_t_literal| ``-m venv ``" +msgid "python\\ |version|\\ t -m venv " msgstr "" msgid "then :command:`activate`." @@ -406,7 +405,7 @@ msgstr "" msgid "To run a free-threaded version of IDLE:" msgstr "" -msgid "|usemac_python_x_dot_y_t_literal| ``-m idlelib``" +msgid "python\\ |version|\\ t -m idlelib" msgstr "" msgid "" @@ -427,35 +426,33 @@ 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\"" 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 "" msgid "Installing using the command line" @@ -468,22 +465,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 +490,8 @@ msgid "" " choiceAttribute\n" " selected\n" " choiceIdentifier\n" -" org.python.Python.PythonTFramework-3.13\n" +" org.python.Python.PythonTFramework-\\ |version|\\ \n" "
    \n" "\n" "\n" @@ -511,21 +509,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 experimental 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 experimental 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 95fb923b54..aa93c870ab 100644 --- a/using/unix.po +++ b/using/unix.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-03-21 14:18+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -219,7 +218,7 @@ msgid "" msgstr "" msgid "Miscellaneous" -msgstr "" +msgstr "Diğer" msgid "" "To easily use Python scripts on Unix, you need to make them executable, e.g. " diff --git a/using/windows.po b/using/windows.po index 0b410d4735..fd72ba24d5 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/whatsnew/2.0.po b/whatsnew/2.0.po index 9ae98b1117..d199f3d929 100644 --- a/whatsnew/2.0.po +++ b/whatsnew/2.0.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Maciej Olko , 2022 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/whatsnew/2.1.po b/whatsnew/2.1.po index c0e91a4a7e..bc527c7418 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/whatsnew/2.2.po b/whatsnew/2.2.po index a3b8eeb64a..8104fc29fc 100644 --- a/whatsnew/2.2.po +++ b/whatsnew/2.2.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/whatsnew/2.3.po b/whatsnew/2.3.po index 2cacf83384..02ce80977c 100644 --- a/whatsnew/2.3.po +++ b/whatsnew/2.3.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-02-07 14:17+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -676,7 +675,7 @@ msgid "" msgstr "" msgid ":pep:`282` - A Logging System" -msgstr "" +msgstr ":pep:`282` - Система реєстрації" msgid "Written by Vinay Sajip and Trent Mick; implemented by Vinay Sajip." msgstr "" diff --git a/whatsnew/2.4.po b/whatsnew/2.4.po index eb898f1911..3cd3643eed 100644 --- a/whatsnew/2.4.po +++ b/whatsnew/2.4.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/whatsnew/2.5.po b/whatsnew/2.5.po index 3c64c2c2f9..8a32925a87 100644 --- a/whatsnew/2.5.po +++ b/whatsnew/2.5.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Seweryn Piórkowski , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -2517,6 +2515,12 @@ msgid "" "application using SQLite and then port the code to a larger database such as " "PostgreSQL or Oracle." msgstr "" +"SQLite — це бібліотека C, яка надає легку дискову базу даних, яка не " +"потребує окремого серверного процесу та дозволяє отримувати доступ до бази " +"даних за допомогою нестандартного варіанту мови запитів SQL. Деякі програми " +"можуть використовувати SQLite для внутрішнього зберігання даних. Також можна " +"створити прототип програми за допомогою SQLite, а потім перенести код у " +"більшу базу даних, таку як PostgreSQL або Oracle." msgid "" "pysqlite was written by Gerhard Häring and provides a SQL interface " @@ -2636,15 +2640,17 @@ msgid "" "The SQLite web page; the documentation describes the syntax and the " "available data types for the supported SQL dialect." msgstr "" +"Halaman web SQLite; dokumentasi menjelaskan sintaks dan tipe data yang " +"tersedia untuk dialek SQL yang didukung." msgid "The documentation for the :mod:`sqlite3` module." msgstr "" msgid ":pep:`249` - Database API Specification 2.0" -msgstr "" +msgstr ":pep:`249` - Spesifikasi API Basisdata 2.0" msgid "PEP written by Marc-André Lemburg." -msgstr "" +msgstr "PEP ditulis oleh Marc-André Lemburg." msgid "The wsgiref package" msgstr "" diff --git a/whatsnew/2.6.po b/whatsnew/2.6.po index f0e9bcd3c8..14195f29a9 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/whatsnew/2.7.po b/whatsnew/2.7.po index 494fb12d99..2ba7946864 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-02-21 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/whatsnew/3.0.po b/whatsnew/3.0.po index f9f40f74f4..6b51e5b4ed 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/whatsnew/3.1.po b/whatsnew/3.1.po index 5a960b8870..765b5b9dbc 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" diff --git a/whatsnew/3.10.po b/whatsnew/3.10.po index 4d374b84c7..bb8ad534f3 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-23 14:55+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -710,13 +706,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" @@ -961,6 +958,8 @@ msgid "" "def square(number: int | float) -> int | float:\n" " return number ** 2" msgstr "" +"def square(number: int | float) -> int | float:\n" +" return number ** 2" msgid "" "This new syntax is also accepted as the second argument to :func:" @@ -1205,7 +1204,7 @@ msgid "" msgstr "" msgid "array" -msgstr "" +msgstr "array" msgid "" "The :meth:`~array.array.index` method of :class:`array.array` now has " @@ -1231,7 +1230,7 @@ msgid "" msgstr "" msgid "bdb" -msgstr "" +msgstr "bdb" msgid "" "Add :meth:`~bdb.Breakpoint.clearBreakpoints` to reset all set breakpoints. " @@ -1744,7 +1743,7 @@ msgid "site" msgstr "" msgid "socket" -msgstr "" +msgstr "socket" msgid "" "The exception :exc:`socket.timeout` is now an alias of :exc:`TimeoutError`. " diff --git a/whatsnew/3.11.po b/whatsnew/3.11.po index e79bf5fbb3..1214ea42a1 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2022-11-05 19:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -981,7 +978,7 @@ msgid "" msgstr "" msgid "logging" -msgstr "" +msgstr "logging" msgid "" "Added :func:`~logging.getLevelNamesMapping` to return a mapping from logging " @@ -999,7 +996,7 @@ msgid "" msgstr "" msgid "math" -msgstr "" +msgstr "math" msgid "" "Add :func:`math.exp2`: return 2 raised to the power of x. (Contributed by " @@ -1053,7 +1050,7 @@ msgid "" msgstr "" msgid "re" -msgstr "" +msgstr "re" msgid "" "Atomic grouping (``(?>...)``) and possessive quantifiers (``*+``, ``++``, ``?" @@ -1070,7 +1067,7 @@ msgid "" msgstr "" msgid "socket" -msgstr "" +msgstr "socket" msgid "" "Add CAN Socket support for NetBSD. (Contributed by Thomas Klausner in :issue:" @@ -1223,7 +1220,7 @@ msgid "" msgstr "" msgid "time" -msgstr "" +msgstr "time" msgid "" "On Unix, :func:`time.sleep` now uses the ``clock_nanosleep()`` or " @@ -1453,7 +1450,7 @@ msgid "" msgstr "" msgid "" -"Resizing lists is streamlined for the common case, speeding up :meth:`list." +"Resizing lists is streamlined for the common case, speeding up :meth:`!list." "append` by ≈15% and simple :term:`list comprehension`\\s by up to 20-30% " "(Contributed by Dennis Sweeney in :gh:`91165`.)" msgstr "" diff --git a/whatsnew/3.12.po b/whatsnew/3.12.po index 20e614f5a4..76140e3a6f 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2023-05-24 13:08+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-04 15:01+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -735,7 +732,7 @@ msgid "Improved Modules" msgstr "Ulepszone moduły" msgid "array" -msgstr "" +msgstr "array" msgid "" "The :class:`array.array` class now supports subscripting, making it a :term:" @@ -879,7 +876,7 @@ msgid "" msgstr "" msgid "math" -msgstr "" +msgstr "math" msgid "" "Add :func:`math.sumprod` for computing a sum of products. (Contributed by " @@ -2007,6 +2004,14 @@ msgid "" "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, " @@ -2105,9 +2110,6 @@ msgid "" "groups are deprecated." msgstr "" -msgid ":mod:`array`'s ``'u'`` format code (:gh:`57281`)" -msgstr "" - msgid "``bool(NotImplemented)``." msgstr "``bool(NotImplemented)``." @@ -3859,9 +3861,6 @@ msgid "" "c:func:`Py_PreInitialize`)" msgstr "" -msgid "The bundled copy of ``libmpdecimal``." -msgstr "" - msgid "" "The :c:func:`PyImport_ImportModuleNoBlock`: Use :c:func:" "`PyImport_ImportModule` instead." @@ -3909,6 +3908,9 @@ msgid "" "`PYTHONHOME` environment variable instead." 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 fd80311055..98ffc18be0 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2024-05-11 01:09+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-04 15:01+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -532,17 +529,18 @@ msgstr "" msgid "" "``yes``: Enable the JIT. To disable the JIT at runtime, pass the environment " -"variable ``PYTHON_JIT=0``." +"variable :envvar:`PYTHON_JIT=0 `." msgstr "" msgid "" "``yes-off``: Build the JIT but disable it by default. To enable the JIT at " -"runtime, pass the environment variable ``PYTHON_JIT=1``." +"runtime, pass the environment variable :envvar:`PYTHON_JIT=1 `." msgstr "" msgid "" "``interpreter``: Enable the Tier 2 interpreter but disable the JIT. The " -"interpreter can be disabled by running with ``PYTHON_JIT=0``." +"interpreter can be disabled by running with :envvar:`PYTHON_JIT=0 " +"`." msgstr "" msgid "The internal architecture is roughly as follows:" @@ -845,7 +843,7 @@ msgid "" msgstr "" msgid "array" -msgstr "" +msgstr "array" msgid "" "Add the ``'w'`` type code (``Py_UCS4``) for Unicode characters. It should be " @@ -981,6 +979,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 "" @@ -1013,7 +1028,7 @@ msgid "" msgstr "" msgid "copy" -msgstr "" +msgstr "копировать" msgid "" "The new :func:`~copy.replace` function and the :meth:`replace protocol " @@ -1049,7 +1064,7 @@ msgid "" msgstr "" msgid "ctypes" -msgstr "" +msgstr "ctypes" msgid "" "As a consequence of necessary internal refactoring, initialization of " @@ -1266,7 +1281,7 @@ msgid "" msgstr "" msgid "math" -msgstr "" +msgstr "math" msgid "" "The new function :func:`~math.fma` performs fused multiply-add operations. " @@ -1492,7 +1507,7 @@ msgid "" msgstr "" msgid "re" -msgstr "" +msgstr "re" msgid "" "Rename :exc:`!re.error` to :exc:`~re.PatternError` for improved clarity. :" @@ -1617,7 +1632,7 @@ msgid "" msgstr "" msgid "time" -msgstr "" +msgstr "time" msgid "" "On Windows, :func:`~time.monotonic` now uses the " @@ -2473,8 +2488,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 "" @@ -2747,6 +2762,14 @@ msgid "" "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, " @@ -2833,9 +2856,6 @@ msgid "" "groups are deprecated." msgstr "" -msgid ":mod:`array`'s ``'u'`` format code (:gh:`57281`)" -msgstr "" - msgid "``bool(NotImplemented)``." msgstr "``bool(NotImplemented)``." @@ -3942,9 +3962,6 @@ msgid "" "c:func:`Py_PreInitialize`)" msgstr "" -msgid "The bundled copy of ``libmpdecimal``." -msgstr "" - msgid "" "The :c:func:`PyImport_ImportModuleNoBlock`: Use :c:func:" "`PyImport_ImportModule` instead." @@ -3973,6 +3990,9 @@ msgid "" "instead." 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." @@ -4117,8 +4137,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 "" @@ -4446,3 +4465,45 @@ msgid "" "only exists in specialized builds of Python, may now return objects from " "other interpreters than the one it's called in." msgstr "" + +msgid "Notable changes in 3.13.4" +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 "tarfile" +msgstr "" + +msgid "" +":func:`~tarfile.data_filter` now normalizes symbolic link targets in order " +"to avoid path traversal attacks.Add commentMore actions (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 "" diff --git a/whatsnew/3.2.po b/whatsnew/3.2.po index a2168aeaac..36d00be92f 100644 --- a/whatsnew/3.2.po +++ b/whatsnew/3.2.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -1252,7 +1250,7 @@ msgid "" msgstr "" msgid "math" -msgstr "" +msgstr "math" msgid "" "The :mod:`math` module has been updated with six new functions inspired by " @@ -1398,7 +1396,7 @@ msgid "(Contributed by Raymond Hettinger in :issue:`9826` and :issue:`9840`.)" msgstr "" msgid "logging" -msgstr "" +msgstr "logging" msgid "" "In addition to dictionary-based configuration described above, the :mod:" @@ -1947,7 +1945,7 @@ msgid "" msgstr "" msgid "socket" -msgstr "" +msgstr "socket" msgid "The :mod:`socket` module has two new improvements." msgstr "" @@ -2460,7 +2458,7 @@ msgid "(Suggested by Ray Allen in :issue:`9523`.)" msgstr "" msgid "ctypes" -msgstr "" +msgstr "ctypes" msgid "" "A new type, :class:`ctypes.c_ssize_t` represents the C :c:type:`ssize_t` " diff --git a/whatsnew/3.3.po b/whatsnew/3.3.po index b302924b8e..5782b1a6f9 100644 --- a/whatsnew/3.3.po +++ b/whatsnew/3.3.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -1205,7 +1203,7 @@ msgid "" msgstr "" msgid "array" -msgstr "" +msgstr "array" msgid "" "The :mod:`array` module supports the :c:expr:`long long` type using ``q`` " @@ -1993,7 +1991,7 @@ msgid "" msgstr "" msgid "logging" -msgstr "" +msgstr "logging" msgid "" "The :func:`~logging.basicConfig` function now supports an optional " @@ -2010,7 +2008,7 @@ msgid "" msgstr "" msgid "math" -msgstr "" +msgstr "math" msgid "" "The :mod:`math` module has a new function, :func:`~math.log2`, which " @@ -2296,7 +2294,7 @@ msgid "(Contributed by Georg Brandl in :issue:`14210`)" msgstr "" msgid "pickle" -msgstr "" +msgstr "pickle" msgid "" ":class:`pickle.Pickler` objects now have an optional :attr:`~pickle.Pickler." @@ -2316,7 +2314,7 @@ msgid "" msgstr "" msgid "re" -msgstr "" +msgstr "re" msgid "" ":class:`str` regular expressions now support ``\\u`` and ``\\U`` escapes." @@ -2510,7 +2508,7 @@ msgid "" msgstr "" msgid "socket" -msgstr "" +msgstr "socket" msgid "" "The :class:`~socket.socket` class now exposes additional methods to process " @@ -2653,7 +2651,7 @@ msgid "" msgstr "" msgid "stat" -msgstr "" +msgstr "stat" msgid "" "The undocumented tarfile.filemode function has been moved to :func:`stat." @@ -2665,7 +2663,7 @@ msgid "(Contributed by Giampaolo Rodolà in :issue:`14807`.)" msgstr "" msgid "struct" -msgstr "" +msgstr "структура" msgid "" "The :mod:`struct` module now supports :c:type:`ssize_t` and :c:type:`size_t` " @@ -2747,7 +2745,7 @@ msgid "" msgstr "" msgid "time" -msgstr "" +msgstr "time" msgid "The :pep:`418` added new functions to the :mod:`time` module:" msgstr "" diff --git a/whatsnew/3.4.po b/whatsnew/3.4.po index 33b1c58ea7..ac110dd0d0 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-18 14:18+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-02-21 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -1317,7 +1314,7 @@ msgid "" msgstr "" msgid "logging" -msgstr "" +msgstr "logging" msgid "" "The :class:`~logging.handlers.TimedRotatingFileHandler` has a new *atTime* " @@ -1490,7 +1487,7 @@ msgid "" msgstr "" msgid "pickle" -msgstr "" +msgstr "pickle" msgid "" ":mod:`pickle` now supports (but does not use by default) a new pickle " @@ -1549,7 +1546,7 @@ msgid "" msgstr "" msgid "pty" -msgstr "" +msgstr "pty" msgid "" ":func:`pty.spawn` now returns the status value from :func:`os.waitpid` on " @@ -1587,7 +1584,7 @@ msgid "" msgstr "" msgid "re" -msgstr "" +msgstr "re" msgid "" "New :func:`~re.fullmatch` function and :meth:`.regex.fullmatch` method " @@ -1687,7 +1684,7 @@ msgid "" msgstr "" msgid "socket" -msgstr "" +msgstr "socket" msgid "" "The socket module now supports the :const:`~socket.CAN_BCM` protocol on " @@ -1813,7 +1810,7 @@ msgid "" msgstr "" msgid "stat" -msgstr "" +msgstr "stat" msgid "" "The :mod:`stat` module is now backed by a C implementation in :mod:`!_stat`. " @@ -1828,7 +1825,7 @@ msgid "" msgstr "" msgid "struct" -msgstr "" +msgstr "структура" msgid "" "New function :mod:`~struct.iter_unpack` and a new :meth:`struct.Struct." diff --git a/whatsnew/3.5.po b/whatsnew/3.5.po index 55145f15d8..797c78f730 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -607,7 +604,7 @@ msgid "print(\"Hello World\")" msgstr "" msgid "and::" -msgstr "" +msgstr "dan::" msgid "" "while True:\n" @@ -779,7 +776,7 @@ msgid "" msgstr "" msgid ":pep:`485` -- A function for testing approximate equality" -msgstr "" +msgstr ":pep:`485` -- Функція для перевірки приблизної рівності" msgid "" "PEP written by Christopher Barker; implemented by Chris Barker and Tal Einat." @@ -1714,7 +1711,7 @@ msgid "(Contributed by Cédric Krier in :issue:`13918`.)" msgstr "" msgid "logging" -msgstr "" +msgstr "logging" msgid "" "All logging methods (:class:`~logging.Logger` :meth:`~logging.Logger.log`, :" @@ -1759,7 +1756,7 @@ msgid "" msgstr "" msgid "math" -msgstr "" +msgstr "math" msgid "" "Two new constants have been added to the :mod:`math` module: :data:`~math." @@ -1928,7 +1925,7 @@ msgid "(Contributed by Christopher Welborn in :issue:`20218`.)" msgstr "" msgid "pickle" -msgstr "" +msgstr "pickle" msgid "" "Nested objects, such as unbound methods or nested classes, can now be " @@ -1947,7 +1944,7 @@ msgid "" msgstr "" msgid "re" -msgstr "" +msgstr "re" msgid "" "References and conditional references to groups with fixed length are now " @@ -2113,7 +2110,7 @@ msgid "" msgstr "" msgid "socket" -msgstr "" +msgstr "socket" msgid "" "Functions with timeouts now use a monotonic clock, instead of a system " @@ -2346,7 +2343,7 @@ msgid "" msgstr "" msgid "time" -msgstr "" +msgstr "time" msgid "" "The :func:`~time.monotonic` function is now always available. (Contributed " diff --git a/whatsnew/3.6.po b/whatsnew/3.6.po index 9eb657e8db..c22a420222 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -926,7 +923,7 @@ msgid "Improved Modules" msgstr "Ulepszone moduły" msgid "array" -msgstr "" +msgstr "array" msgid "" "Exhausted iterators of :class:`array.array` will now stay exhausted even if " @@ -1489,7 +1486,7 @@ msgid "" msgstr "" msgid "logging" -msgstr "" +msgstr "logging" msgid "" "The new :meth:`WatchedFileHandler.reopenIfNeeded() , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2024 -# Maciej Olko , 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Maciej Olko , 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -284,7 +281,7 @@ msgid ":pep:`538` -- Coercing the legacy C locale to a UTF-8 based locale" msgstr "" msgid "PEP written and implemented by Nick Coghlan." -msgstr "" +msgstr "PEP ditulis dan diimplementasi oleh Nick Coghlan." msgid "PEP 540: Forced UTF-8 Runtime Mode" msgstr "" @@ -1328,7 +1325,7 @@ msgid "" msgstr "" msgid "logging" -msgstr "" +msgstr "logging" msgid "" ":class:`~logging.Logger` instances can now be pickled. (Contributed by Vinay " @@ -1348,7 +1345,7 @@ msgid "" msgstr "" msgid "math" -msgstr "" +msgstr "math" msgid "" "The new :func:`math.remainder` function implements the IEEE 754-style " @@ -1488,7 +1485,7 @@ msgid "" msgstr "" msgid "re" -msgstr "" +msgstr "re" msgid "" "The flags :const:`re.ASCII`, :const:`re.LOCALE` and :const:`re.UNICODE` can " @@ -1533,7 +1530,7 @@ msgid "" msgstr "" msgid "socket" -msgstr "" +msgstr "socket" msgid "" "The new :func:`socket.getblocking() ` method " @@ -1744,7 +1741,7 @@ msgid "" msgstr "" msgid "time" -msgstr "" +msgstr "time" msgid "" ":pep:`564` adds six new functions with nanosecond resolution to the :mod:" diff --git a/whatsnew/3.8.po b/whatsnew/3.8.po index 6ee323a6ef..9fa1ae83a2 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -973,7 +971,7 @@ msgid "" msgstr "" msgid "ctypes" -msgstr "" +msgstr "ctypes" msgid "" "On Windows, :class:`~ctypes.CDLL` and subclasses now accept a *winmode* " @@ -1214,7 +1212,7 @@ msgid "" msgstr "" msgid "logging" -msgstr "" +msgstr "logging" msgid "" "Added a *force* keyword argument to :func:`logging.basicConfig`. When set to " @@ -1236,7 +1234,7 @@ msgid "" msgstr "" msgid "math" -msgstr "" +msgstr "math" msgid "" "Added new function :func:`math.dist` for computing Euclidean distance " @@ -1420,7 +1418,7 @@ msgid "" msgstr "" msgid "pickle" -msgstr "" +msgstr "pickle" msgid "" ":mod:`pickle` extensions subclassing the C-optimized :class:`~pickle." @@ -1509,7 +1507,7 @@ msgid "" msgstr "" msgid "socket" -msgstr "" +msgstr "socket" msgid "" "Added :meth:`~socket.create_server` and :meth:`~socket.has_dualstack_ipv6` " @@ -1661,7 +1659,7 @@ msgid "" msgstr "" msgid "time" -msgstr "" +msgstr "time" msgid "" "Added new clock :const:`~time.CLOCK_UPTIME_RAW` for macOS 10.12. " diff --git a/whatsnew/3.9.po b/whatsnew/3.9.po index 6f0ad1960d..95662eca5c 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-07-11 15:02+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" @@ -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 "" @@ -748,7 +744,7 @@ msgid "" msgstr "" msgid "math" -msgstr "" +msgstr "math" msgid "" "Expanded the :func:`math.gcd` function to handle multiple arguments. " @@ -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 "" @@ -894,7 +890,7 @@ msgid "" msgstr "" msgid "socket" -msgstr "" +msgstr "socket" msgid "" "The :mod:`socket` module now exports the :const:`~socket." @@ -914,7 +910,7 @@ msgid "" msgstr "" msgid "time" -msgstr "" +msgstr "time" msgid "" "On AIX, :func:`~time.thread_time` is now implemented with " @@ -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 "" diff --git a/whatsnew/index.po b/whatsnew/index.po index 45afdc9a37..82d15b007c 100644 --- a/whatsnew/index.po +++ b/whatsnew/index.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-11 14:19+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Stefan Ocetkiewicz , 2021\n" +"POT-Creation-Date: 2025-01-03 14:16+0000\n" +"PO-Revision-Date: 2025-07-18 19:22+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" pFad - Phonifier reborn

    Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

    Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


    Alternative Proxies:

    Alternative Proxy

    pFad Proxy

    pFad v3 Proxy

    pFad v4 Proxy